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
- Copy your vault’s full path.
- Add the server to your client, with your own vault’s path in place of the example (below).
- Optionally add
--indexfor ranked search (see Add ranked search). - Restart the client, or start a new session, so it picks up the server.
In Claude Code, add it from 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:
{
"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.
| Argument | What it does |
|---|---|
--mcp-serve | Runs MindLake as the MCP server instead of opening its window. |
--vault | Required. The full path of the vault to serve. Without it the server stops with exit code 2. |
--index | Optional. The full path of MindLake’s search index, which adds find_notes. |
Add ranked search
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.
--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
| Tool | What it does |
|---|---|
find_notes | Finds 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_vault | Plain text search across notes, returning each matching line and its note (up to 60 lines). |
read_note | Reads one note by its path in the vault (up to 120,000 characters). |
list_notes | Lists note paths, for the whole vault or one folder (up to 500). |
list_tasks | Lists 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_tables | Lists your lists (tables) with their columns and row counts. |
read_table | Reads one list’s columns and rows as CSV (50 rows unless asked, up to 500). |
get_backlinks | Finds the notes that link to a note with [[wikilinks]]. |
list_canvases | Lists your canvases and how many items each holds. |
read_canvas | Reads 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.