Purpose
Mind Map is a local-first MCP (Model Context Protocol) memory and context handoff server, designed to solve the problem of losing discussion threads between different AI tools. It serves as a shared memory layer, connecting all local MCP clients, letting you capture context in one tool and then restore it in another, without having to re-explain the project from scratch.
Main Capabilities
- Capture and Restore: Save a portable summary at the end of a discussion, and pull it in a new session. Reuse behavior promotes memory to trusted memory, while one-off sessions are not promoted, avoiding clutter.
- Graceful Decay: A background process cools unused memories by tier (🔥 hot → 🌤️ warm → ❄️ cold), with cold items collapsing into a searchable one-line trace, but they are never silently deleted.
- Tidying and Scoring: An optional cleanliness score rewards pruning rather than hoarding.
- Collection Organization: Supports custom named groupings (such as goals, parking lot, decisions); memory archived to a pinned collection will not be forgotten. Each collection can serve as a starter to restore unfinished projects.
- Automatic Organization: Reads all sessions and proposes collections, including unfinished projects, goals, decisions, and parked ideas; suggestions only, requiring user acceptance.
- Automatic Capture: Installs a SessionEnd auto-capture hook for Claude Code, automatically distilling substantive sessions, deduplicating and skipping trivial sessions.
- History Import: Imports existing Claude history (Claude Code, Cowork, VS Code Copilot, Cursor), distilling rather than raw dumping, preserving original dates.
- Persona Layer: Maintains a distilled, continuously evolving profile of the user's way of working (tech stack, style, communication preferences, constraints), readable by any tool, avoiding repeated setup questions. Supports both declared facts and inferred facts.
- Memory Passport: Exports everything to a portable open file, taking context out of walled gardens.
- Glass-Box Memory: Each memory shows its source, trust level (reuse count), and decay prediction, with one-click forgetting in the dashboard.
- Persona Projection: Writes the persona into each tool's own configuration, editing only the managed block, without touching user content.
- Optional LLM Integration: Supports Anthropic, OpenAI, Google, or local Ollama, for smarter persona inference and topic map labeling. All features when there is no LLMhave fallback paths.
- Hybrid Search: Defaults to BM25, with optional embedding caching to enable hybrid search (fusion of BM25 and semantic similarity).
- Dashboard: Local Web UI (loopback only), containing six views: list, tree, graph, organization, persona, and activity.
Usage
Install:npx @ravi-labs/mindmap-mcp-server install, automatically detects local MCP clients and writes configuration. Preview:npx @ravi-labs/mindmap-mcp-server install --dry-run; uninstall:npx @ravi-labs/mindmap-mcp-server uninstall. Data is by default in ~/.mindmap/, and can be overridden with the MINDMAP_DIR environment variable.
Manual setup: all clients use the same command npx -y @ravi-labs/mindmap-mcp-server via stdio. For Claude Desktop, edit claude_desktop_config.json; for Cursor/Windsurf, add the same command and arguments in the MCP configuration.
Daily use: converse naturally in the AI tool, and the model calls the corresponding tools. For example, "save to mind map" captures the current context, "restore my <topic> work" pulls it into a new session, "what is in my mind map?" browses, "brainstorm with <topic>" loads previous thinking. Run npx @ravi-labs/mindmap-mcp-server quickstart Get the complete guide.
Use cases
- Share memory across local MCP clients such as Claude Code, Claude Desktop, Cursor, Windsurf, and others.
- Continue brainstorming across tools without re-explaining.
- Manage unfinished projects, goals, decisions, and parked ideas.
- Import existing Claude history for unified management.
- For users who need local-first, self-controlled data.
Limitations
- ChatGPT and other cloud/web clients are currently out of scope, because they cannot access a local server without exposing a public endpoint, which conflicts with local-first.
- Cursor import requires Node 22.5+ (other sources do not).
- ChatGPT and Claude.ai web chats cannot be imported because they are stored in the cloud rather than in local files.
- Embedding search requires a provider that supports embeddings (OpenAI, Google, or Ollama); Anthropic does not have an embeddings API.
- Keys must be set via environment variables; there is no key field in the dashboard or tools.
- Some features (such as LLM integration) are optional; without an LLM, heuristic fallbacks are used.