GraphMind MCP
graphmind
Local MCP server that builds a code graph and remembers project decisions, so the agent stops re-reading the repo every session
- 217 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- setup edits ~/.claude/settings.json, ~/.claude/CLAUDE.md, the shell profile and project git hooks
- Reads the source of every registered repository and stores its graph and memory on disk
- OpenAI or Voyage AI keys for vectors sit in ~/.graphmind/config.json, and code goes to the provider if you enable one
Install
- Works in
Manual install
curl -fsSL https://raw.githubusercontent.com/aouicher/graphmind/main/scripts/install.sh | bashScript for macOS and Linux; read it before running. Then run graphmind setup once.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- setup edits ~/.claude/settings.json, ~/.claude/CLAUDE.md, the shell profile and project git hooks
- Reads the source of every registered repository and stores its graph and memory on disk
- OpenAI or Voyage AI keys for vectors sit in ~/.graphmind/config.json, and code goes to the provider if you enable one
This is third-party code. Review the repository files before installing.
What it does
GraphMind indexes a repository into a function-level graph: parsing goes through tree-sitter for more than 30 languages. The agent gets 27 tools over MCP: symbol search, callers and callees, a file dependency map, the blast radius of a change, circular dependencies, dead code and graph export to Mermaid or DOT. Replies are compacted to one line per symbol, and source code comes back only on request. Semantic vectors and memory sit on top of the graph. Vectors come from a local ONNX model, or optionally OpenAI or Voyage AI, and are off on new installs. Memory keeps a project's decisions, patterns and conventions in JSONL files in ~/.graphmind/memory and injects relevant entries into the context on each prompt. Links between registered repositories show shared dependencies. graphmind setup configures Claude Code (hooks, the /gm skill and 19 sub-skills), Claude Desktop, OpenCode, Cursor and VS Code once. graphmind init registers a project, installs git rebuild hooks and builds the graph. The server speaks stdio and starts with graphmind mcp. macOS has a desktop app, while Linux and Windows use the CLI.
Who it is for. Developers with large or multiple repositories who work with Claude Code, Cursor or another MCP agent and are tired of repeated code reading.
Good fit when
- Before an edit you need to know what a signature change will break: gm_fn_impact shows the blast radius
- The agent burns context on grep across a large repository and the answer should fit in a few lines
- Decisions made last week must be remembered by every later agent session
- Several repositories share libraries and you need a symbol search across all of them with gm_cross_query
- Before cleanup you want a list of functions with no incoming calls and circular dependencies
Not a fit when
- The repository is small: the agent's plain file search is enough
- The project's language is not among the tree-sitter languages supported
- You cannot allow changes to ~/.claude/settings.json, ~/.claude/CLAUDE.md and the shell profile: graphmind setup edits them
- You need team work through the cloud: sync is available on the paid Pro and Team tiers
Example request
Build this repository's graph with GraphMind and show what breaks if I change the signature of validate_tokenMCP
- Transport
- stdio
- Authentication
- not required
Limitations
- graphmind setup edits several files: the shell profile, ~/.claude/settings.json, ~/.claude/CLAUDE.md, Cursor and OpenCode configs and the git hooks of registered projects. A backup is made before the profile and any existing hook change.
- The desktop app ships for macOS only; Linux and Windows get the CLI.
- Vector search is off on new installs: it needs a local ONNX model or an OpenAI or Voyage AI key.
- Team tools (gm_team_memories, gm_team_who_knows) belong to the Pro and Team tiers. The token-saving figure in the README comes from a single comparison on code of about 100 thousand lines.
How to disable. graphmind uninstall all removes every integration added by setup and init, and with --purge it also deletes the data in ~/.graphmind. graphmind uninstall hook-claude and graphmind uninstall hook-git work separately. The --yes flag skips confirmations.
FAQ
How is GraphMind different from grep and the agent's built-in search?
Grep returns every match as lines, while GraphMind returns ranked symbols with relations and signatures. In the author's comparison, on about 100 thousand lines of code that is under 300 tokens against more than 1.5 million for grep.
How do I connect GraphMind to Claude Code?
Run graphmind setup once and graphmind init in the project folder. An MCP entry for that repository appears in ~/.claude.json, and gm_query, gm_search, gm_impact and the other tools work in the session.
Where does GraphMind send my code?
Nowhere by default: the graph and memory live on your machine, with no open ports and no telemetry. Requests to OpenAI or Voyage AI happen only if you enable such a provider for vectors.
How does GraphMind memory work?
A hook finds entries that match the prompt and injects them into the context. The agent saves project decisions and conventions on its own. Writing through gm_memory_add requires confirmation. Private entries with is_shared: false never leave the machine.
How do I remove GraphMind completely?
graphmind uninstall all reverses setup and init, and the --purge flag also erases the ~/.graphmind directory.
Discussion
No questions or reviews yet.
Related
MCP serversCode graph and project memory in one Rust program: the agent gets excerpts with file and line citations
One MCP server gives agents a code map across over 300 languages, git history, shared memory and document search with OCR.
A local code graph with version history: an MCP server that tells the agent who calls a function and what an edit breaks
Deep Graph MCP: a code graph of a repository for agents
Deep Graph MCP
An MCP server that gives an agent a repository code graph: search by meaning, symbol links and the places an edit would touch
Local code graph for agents: an MCP server returns entry points, symbol links and change impact in one call
An MCP server and CLI that build a knowledge graph of a monorepo and let an agent query, understand and edit multi-language code
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| GraphMind (this card) | no | not required | 217 | |
| codebase-memory-mcp | no | not required | 48,228 | also a code graph with local queries, but without a persistent layer of project decisions |
| CodeGraph | no | not required | 76,797 | a local code graph with entry points and blast radius, without memory or cross-repository links |
| Serena | no | not required | 31,148 | gives the agent IDE features through LSP rather than a graph with memory |
README in short
The page explains four layers: a structural graph, semantic vectors, persistent memory and cross-project links. It then covers installation via the app, a script or Homebrew, the details of setup and init, and manual wiring for Claude Code, Claude Desktop, Cursor and VS Code. A table of 27 tools, security settings and a language list close the page.