Download
Browse the docs

MCP server

Last updated 20 October 2026

Give other AI apps, such as Claude Code, read access to your vault through the MCP server built into MindLake.


What it does

MCP (Model Context Protocol) is an open standard that AI apps use to plug in tools. MindLake has an MCP server built in: point an MCP client at it, and the client’s AI can search your vault, read notes, list tasks, read your lists and canvases, and follow backlinks.

The server is the MindLake app itself, started with --mcp-serve. It runs on your Mac and reads your vault’s files directly, so MindLake does not need to be open. It is read-only: nothing connected this way can create, change or delete anything. There is no setting for it in MindLake; you add it to the client.

Before you start

  • A licence or a trial on this Mac. The server only starts where MindLake itself would open: licensed, or within its trial (see Trial and licence). It checks the licence MindLake last stored, without going online. Otherwise it stops at once with “MindLake is not licensed on this Mac” (exit code 3); opening MindLake sorts it out.
  • Your vault’s full path. It must start with /Users/, because a path starting with ~ will not work. To copy it, hold Option while you right-click the vault folder in Finder, and choose Copy as Pathname. Your vault explains where it lives.

Connect a client

  1. Copy your vault’s full path.
  2. Add the server to your client, with your own vault’s path in place of the example (below).
  3. Optionally add --index for ranked search (see Add ranked search).
  4. Restart the client, or start a new session, so it picks up the server.

In Claude Code, add it from Terminal:

Terminal
claude mcp add --scope user mindlake -- \
  /Applications/Mindlake.app/Contents/MacOS/Mindlake --mcp-serve \
  --vault "/Users/you/Library/Mobile Documents/com~apple~CloudDocs/Mindlake/My Vault"

Apps that are set up with a JSON file take an entry like this instead:

MCP client configuration
{
  "mcpServers": {
    "mindlake": {
      "type": "stdio",
      "command": "/Applications/Mindlake.app/Contents/MacOS/Mindlake",
      "args": [
        "--mcp-serve",
        "--vault", "/Users/you/Library/Mobile Documents/com~apple~CloudDocs/Mindlake/My Vault"
      ]
    }
  }
}

If MindLake is not in your Applications folder, change the start of the command to match.

ArgumentWhat it does
--mcp-serveRuns MindLake as the MCP server instead of opening its window.
--vaultRequired. The full path of the vault to serve. Without it the server stops with exit code 2.
--indexOptional. The full path of MindLake’s search index, which adds find_notes.

Add --index with the full path of MindLake’s search index, and the client also gets find_notes, the ranked search MindLake’s own assistant uses. In a JSON file, add both as two more entries in args.

Extra arguments
--index "/Users/you/Library/Application Support/Mindlake/Search/index.sqlite"

The index covers the vault open in MindLake and is kept up to date while MindLake runs, so pass that vault’s path. If Find notes by meaning is on (Settings ▸ AI ▸ Advanced, under Understanding), it matches by meaning too. If the file is missing, the server starts without find_notes.

What it exposes

ToolWhat it does
find_notesFinds the notes about a subject, ranked best first, each with an extract and why it matched. Filters by tag, person, folder and date. Returns 10 unless asked, up to 40. Only offered with --index.
search_vaultPlain text search across notes, returning each matching line and its note (up to 60 lines).
read_noteReads one note by its path in the vault (up to 120,000 characters).
list_notesLists note paths, for the whole vault or one folder (up to 500).
list_tasksLists checkbox tasks with their due dates, priorities, tags and people: open, done or all (up to 200). Its owner filter takes me (your tasks and those with no owner), others or all, and is all unless asked; it goes by your name in Settings ▸ Brain and is ignored without one.
list_tablesLists your lists (tables) with their columns and row counts.
read_tableReads one list’s columns and rows as CSV (50 rows unless asked, up to 500).
get_backlinksFinds the notes that link to a note with [[wikilinks]].
list_canvasesLists your canvases and how many items each holds.
read_canvasReads a canvas as Mermaid flowchart text.

Safety rules

  • Read-only. The server offers no tools that write, and refuses any request to.
  • Your vault only. Paths outside the vault folder you gave it are refused.
  • Locked notes stay locked. They cannot be read, and are never searched or indexed.
  • Everything else is readable. Any text file in the vault can be read, including your saved chats in the Chats folder.
  • Results are capped. Each call returns a limited amount, as listed above.
  • Your client’s rules apply. Whether it asks before each tool call is up to the client, and what it reads goes to that client’s AI provider under the provider’s terms. MindLake never receives it.

When a client connects, the server also tells it how MindLake notes are laid out (see File format), so its AI reads them correctly.

Writing from other apps

The server built into MindLake cannot create or change notes. A separate server, mindlake-mcp, adds four tools that write: create_note, edit_note, append_to_note and write_canvas. Its edits go through the same check for lost content as the chat, and --read-only turns its writing tools off. It is not included in the MindLake download and has no setting in the app: where it is installed, it is added to a client by hand, the same way as above.

To have an AI edit your notes with the app as it ships, use the chat in MindLake, which checks every edit for lost content and keeps the note’s earlier versions.