NotePlan MCP Privacy: What Runs Locally and What Gets Shared

If you haven't set up MCP yet, start here: How to Install the NotePlan MCP Server

Summary

NotePlan's MCP server runs on your Mac and only exposes local tools to your AI app (Claude Desktop, Claude Code, ChatGPT, Codex, etc.). The MCP server itself does not upload your notes anywhere.

There are two versions of the server: the connector built into NotePlan 3.22 and later, and the Node.js server for NotePlan 3.21 and earlier. Everything in this article applies to both, except where a section names one version.

What "runs locally" means

When you connect an AI app to NotePlan via MCP, the AI app starts a local MCP server process on your Mac and talks to it directly. That server can search, read and edit notes and return results to the AI app, but it does not call any external services by default.

The built-in connector (NotePlan 3.22 and later)

  • Part of NotePlan: the server is the NotePlan app itself, started in a mode without a window. No Node.js and no packages are downloaded from the internet.
  • Inside NotePlan's sandbox: it runs with NotePlan's macOS sandbox and permissions. It can reach NotePlan's notes, and your calendars and reminders through NotePlan's permission, but not other files on your Mac.
  • No network requests: the server doesn't sync and doesn't contact any server. It writes changes to your local notes, and NotePlan syncs them (CloudKit, Spaces) the next time it runs, like any edit you make yourself.
  • One exception, on request: if you ask the AI to browse or install plugins, NotePlan loads the plugin directory and downloads the plugin, as it does in Settings.
  • No network port: the AI app talks to the server through a local pipe (stdio). Nothing on the network can connect to it.
  • No embeddings: the built-in connector has no indexing or embeddings feature, and it never needs an AI API key.

What data gets sent to external servers (and when)

Your notes are not automatically uploaded to OpenAI/Anthropic/etc.

What can happen instead is:

  • The AI app (Claude Desktop / Claude Code / ChatGPT / Codex / etc.) asks the local MCP tools to search your notes.
  • The search happens locally and the matching results are returned to the AI app.
  • If the AI app decides it needs note content to answer your prompt, it may request the content of specific notes and then include that content in the prompt it sends to its model provider (Anthropic/OpenAI/etc.).

So the only content that leaves your machine is whatever the AI app chooses to send as part of the conversation context. This is expected behavior for basically any AI assistant that can read local files.

Tip: searches with search operators (for example done:this-week or path:"10 - Projects") let NotePlan do the filtering locally. The AI app then receives only the matching lines, not whole notes.

Note: some AI apps run tasks on their provider's servers instead of on your Mac (for example cloud sessions in Claude Cowork). Local MCP servers still run on your Mac in that case, but everything the AI app reads is processed on the provider's servers. Check your AI app's settings if you prefer local sessions.

Does the MCP server expose my notes publicly?

No. NotePlan's MCP server is designed for local use. It is not meant to be run as a public internet-facing service.

Sync is separate from MCP

NotePlan sync (CloudKit) is separate from MCP. If you have sync enabled, note changes are synced via Apple's CloudKit. MCP does not change how sync works and does not upload your notes to third parties by itself.

Optional: embeddings / indexing with an API key (NotePlan 3.21 and earlier, Node.js server only)

The Node.js server has an optional feature to index notes using embeddings (for semantic search). This requires configuring an AI API key (for example OpenAI) and explicitly running the indexing flow.

  • Default setup (no API key configured): no embeddings are created, and nothing is sent to an embedding provider by NotePlan MCP.
  • If you add an API key and run indexing: note content (or chunks of it) will be sent to the embedding provider to build the index. This is opt-in and not enabled by default.

Practical takeaway

  • MCP server: local.
  • Searches: local.
  • Built-in connector (3.22 and later): runs inside NotePlan's sandbox and makes no network requests of its own.
  • External sharing: only happens when the AI app sends selected note content to its model provider, or if you explicitly enable embeddings/indexing with an API key in the Node.js server.