Mindnode
FreeMaintainedMCP server for MindNode (macOS) — connect Claude & AI agents to the mind-mapping app with no API. Reads the MindNode Next SQLite/CRDT library directly; creates
About
MCP server for MindNode (macOS) — connect Claude & AI agents to the mind-mapping app with no API. Reads the MindNode Next SQLite/CRDT library directly; creates maps from Markdown.
README
Connect MindNode to Claude and any AI agent — an MCP server for the mind-mapping app that has no API, no AppleScript, and no exportable files.
MindNode Next (the 2024+ generation of MindNode) moved all documents into a
private SQLite/CRDT library and ships zero automation surface: no
AppleScript dictionary, no CLI, no cloud API, not even .mindnode files on
disk anymore. This project reverse-engineered the storage format so AI agents
can finally read and create mind maps:
- Read any mind map as a Markdown outline — straight from MindNode's local library (SQLite → protobuf → Apple LZ4 → CRDT decode), read-only, without even launching the app.
- See the exact rendered map — MindNode's own preview JPEGs, pixel-perfect.
- Create new mind maps from Markdown outlines (silent in-app import).
- Open any map by name via the
mindnode://URL scheme.
Works with Claude Code, Claude Desktop, and any MCP client.
Looking for the classic file-based MindNode? Older plist-based tools cover
.mindnodedocuments; this server is for MindNode Next (2024+), the SQLite-library generation where those approaches no longer work. Verified on MindNode 2026.4.4.
Tools
| tool | what it does |
|---|---|
list_mindmaps |
list all mind maps in the library (title, id, modified) |
get_mindmap |
read a mind map as a Markdown outline (best-effort CRDT decode) |
get_mindmap_image |
MindNode's own rendered JPEG preview — pixel-perfect ground truth |
create_mindmap |
create a new mind map from a Markdown outline (imports via the app) |
open_mindmap |
open a mind map in MindNode |
Install
Requires macOS with MindNode 2024+ and Node.js ≥ 24.
Claude Code:
claude mcp add --scope user mindnode -- npx -y mindnode-mcp
Claude Desktop / any MCP client (claude_desktop_config.json):
{
"mcpServers": {
"mindnode": {
"command": "npx",
"args": ["-y", "mindnode-mcp"]
}
}
}
From source (Node ≥ 24 runs the TypeScript directly, no build step):
git clone https://github.com/jyuwaaw/mindnode-mcp.git
cd mindnode-mcp && npm install
claude mcp add --scope user mindnode -- node /path/to/mindnode-mcp/src/index.ts
Debug with the MCP inspector: npm run inspect.
How I use it
I keep a daily mind map (one per day, plus per-project maps) as my working memory — Raycast is set up to summon MindNode with a single keystroke, so capturing a thought costs nothing. This server closes the loop: at the end of the day an agent reads the map, turns it into a work log or blog draft, and can seed tomorrow's map from open threads. Ask Claude things like:
- "list my mind maps"
- "read today's map and draft a standup update"
- "turn this outline into a mind map: …"
How it works
MindNode Next stores everything in a GRDB/SQLite library inside its sandbox
container. Each document is a protobuf base snapshot plus a stream of
CRDT operation batches, both wrapped in a tiny envelope (field 12345 =
version, field 678910 = payload — yes, really) and compressed with Apple's
LZ4 framing (bv41/bv4-/bv4$ blocks).
This repo carries a schema-less protobuf parser, a pure-TypeScript Apple-LZ4 decoder, and a tree reconstructor that replays node-creation and text ops. The full reverse-engineering notes live in docs/FORMAT.md — if you want to build your own MindNode tooling, start there. tools/spelunk.py pretty-prints any library blob for further digging.
Writes deliberately do not touch the database (it's CloudKit-synced;
corrupting it would be unforgivable). New documents go through MindNode's own
Markdown importer via open -a MindNode, which is silent and lossless.
Caveats
get_mindmapreconstructs text from a CRDT op stream whose position encoding isn't fully mapped: heavily edited strings can come back slightly scrambled, and deleted nodes may linger as(untitled). Useget_mindmap_imagewhen exactness matters. Documents created viacreate_mindmapread back losslessly.create_mindmaplaunches MindNode (import happens in-app, silently). It always lands the new document at the library root — targeting a folder needs the App Intents route (see Roadmap) — and MindNode auto-renames the document when the title already exists (the central node keeps the title you asked for). There is no tool yet for adding nodes to an existing map, renaming, or deleting.- If an import produces nothing, check MindNode itself: a modal dialog in the
app blocks every subsequent open/import, and
openstill exits 0. Only Markdown imports work this way — MindNode registers as a viewer for OPML, FreeMind and TaskPaper, but opening those files is silently ignored. - The library is read read-only, always. Format verified on MindNode
2026.4.4; a future MindNode update could shift field numbers — file an
issue with
tools/spelunk.pyoutput if outlines come back empty.
Roadmap
- Node-level edits (add/rename/delete a single node) and lossless export via MindNode's 20 App Intents (CreateNode, EditNode, ExportDocument, …) wrapped in Shortcuts
- Map the CRDT text-position encoding and deletions for exact reads
- Folder titles, tags/stickers, notes fields
License
Install Mindnode in Claude Desktop, Claude Code & Cursor
unyly install mindnodeInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add mindnode -- npx -y mindnode-mcpStep-by-step: how to install Mindnode
FAQ
Is Mindnode MCP free?
Yes, Mindnode MCP is free — one-click install via Unyly at no cost.
Does Mindnode need an API key?
No, Mindnode runs without API keys or environment variables.
Is Mindnode hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Mindnode in Claude Desktop, Claude Code or Cursor?
Open Mindnode on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
by wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
by madhurprashPostgres
Query your database in natural language
by AnthropicPostgreSQL
Read-only database access with schema inspection.
by modelcontextprotocolRedis
Interact with Redis key-value stores.
by modelcontextprotocolSQLite
Database interaction and business intelligence capabilities.
by modelcontextprotocolmxcp
Open-source framework for building enterprise-grade MCP servers using just YAML, SQL, and Python, with built-in auth, monitoring, ETL and policy enforcement.
by raw-labstadas-github/a2asearch-mcp
MCP server to search 4,800+ MCP servers, AI agents, CLI tools and agent skills. Install: npx -y a2asearch-mcp. Ask Claude: "Find MCP servers for database access
by tadas-githubjulien040/anyquery
Query more than 40 apps with one binary using SQL. It can also connect to your PostgreSQL, MySQL, or SQLite compatible database. Local-first and private by desi
by julien040drakonkat/wizzy-mcp-tmdb
A MCP server for The Movie Database API that enables AI assistants to search and retrieve movie, TV show, and person information.
by drakonkatCompare Mindnode with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All data MCPs
