GraphMind Code Graph
Turn local codebases into queryable knowledge graphs that AI assistants can navigate and remember.
- Source repo
- aouicher/graphmind
- Stars
- ★ 213
- Last updated
- 1mo ago
- License
- MIT
- Primary language
- Rust
- FA score
- 64/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformClaude Code · Claude.aiOpenAI API (Partial support)
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A maintainer of a large repository checks
graphmind fn-impactorgraphmind diff-impactbefore changing a widely used function. - Not a fit if
- Windows users who require a desktop app and will not use a CLI
- Teams looking only for a hosted web service
- Projects written in languages outside the documented set of 30
- Source review
- 64/100 · Some gaps
What does this agent do, and when should you use it?
GraphMind is a local-first code intelligence system whose Rust core uses tree-sitter to build function- and file-level knowledge graphs stored in SQLite and JSONL. It is delivered as a CLI, a macOS desktop application, and a stdio MCP server for Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Zed, Continue, VS Code, and other MCP clients. Retrieval combines FTS5, optional semantic embeddings, and one-hop graph expansion, with Reciprocal Rank Fusion producing compact ranked symbol results. Beyond source structure, it maintains persistent records of decisions, patterns, conventions, bugs, and context, and it can link multiple registered repositories. The default configuration opens no ports, sends no telemetry, and makes no network calls; embeddings can run through local ONNX or optional OpenAI and Voyage AI services. Core functionality is MIT-licensed, while team graph and shared-memory synchronization are identified as Pro/Team features.
A user registers and indexes a repository with graphmind init. The Rust core parses supported files with tree-sitter, extracts symbols, call sites, and dependency edges, then writes the structural graph and FTS5 index to ~/.graphmind/graphs/<slug>/graph.db with an incremental build cache. When an embedding provider is configured, graphmind build also creates vectors in embeddings.db; graphmind search fuses full-text matches, cosine-similarity results, and neighboring graph nodes with RRF. CLI commands and MCP tools can inspect symbols and full functions, read files, map dependencies, traverse callers, estimate the impact of Git changes, detect cycles and dead code, and export Mermaid, DOT, JSON, or Obsidian output. Its memory layer records decisions, patterns, conventions, bugs, and contextual facts in project or global JSONL files, with automatic recall through Claude Code hooks or MCP instructions. Cross-project commands search all registered repositories, infer shared-symbol relationships, and report dependencies between projects.
- A maintainer of a large repository checks
graphmind fn-impactorgraphmind diff-impactbefore changing a widely used function. - A team using Claude Code or Cursor wants assistants to query symbols, call relationships, and architecture without repeatedly reading the whole repository.
- Engineers responsible for an API, frontend, and shared libraries search symbols across registered projects and trace inter-project dependencies.
- A developer onboarding to an unfamiliar codebase inspects connected files, hierarchical outlines, dependency cycles, and symbols with no incoming edges.
- Individuals or teams preserve architecture decisions, coding conventions, known bugs, and business context across separate AI sessions.
- An architect exports a repository or cross-project graph to Mermaid, Graphviz DOT, JSON, or an Obsidian vault.
How do you install or deploy this agent?
On macOS, download GraphMind-macos-arm64.dmg or GraphMind-macos-x64.dmg from GitHub Releases. The desktop application installs the CLI and provides guided setup for MCP, hooks, the skill, and embeddings.
On macOS or Linux, use the installation script:
curl -fsSL https://raw.githubusercontent.com/aouicher/graphmind/main/scripts/install.sh | bashAlternatively, install the CLI with Homebrew:
brew install aouicher/graphmind/graphmindThe macOS desktop application is also available through Homebrew:
brew install --cask aouicher/graphmind/graphmindLinux x64 users can download the CLI directly:
curl -fsSL https://github.com/aouicher/graphmind/releases/latest/download/graphmind-cli-linux-x64 -o ~/.local/bin/graphmind
chmod +x ~/.local/bin/graphmindBuilding from source requires Rust and Cargo:
git clone https://github.com/aouicher/graphmind
cd graphmind
cargo build --release -p graphmind-cli
cp target/release/graphmind ~/.local/bin/Embeddings are disabled by default, so no API credential is required for the initial setup. OpenAI or Voyage AI keys must be added to ~/.graphmind/config.json only if those embedding modes are selected.
How do you use this agent?
Run the global setup once, then initialize each repository:
graphmind setup
cd ~/projects/myapp
graphmind initsetup configures the shell path, Claude Code hooks and skill, and MCP settings for Claude Desktop, Claude Code, OpenCode, and Cursor. init registers the current directory, installs Git hooks, builds the graph, and writes supported project-level MCP configuration. Both commands are documented as idempotent.
After indexing, query the project from the terminal:
graphmind search "authentication flow"
graphmind fn validate_token --include-content
graphmind deps src/services/auth.ts
graphmind diff-impact
graphmind dead-code --kind function
graphmind cycles
graphmind export -f mermaidPersistent project knowledge can be managed explicitly:
graphmind memory add "Authentication tokens are validated by AuthService"
graphmind memory search "authentication"
graphmind memory listTo enable embeddings without an API key, select the local provider:
{
"embedding": {
"mode": "local",
"model": "nomic-embed-text-v1.5"
}
}Then generate the index:
graphmind embed --runMCP clients launch the stdio server with:
graphmind mcpWhat are this agent's strengths and limitations?
- Structural graph traversal, FTS5, semantic vectors, and graph expansion are combined in one retrieval pipeline, with result provenance shown as FTS, semantic, or graph-derived.
- The default deployment is local, port-free, and telemetry-free; graphs, embeddings, and memories remain inspectable SQLite or JSONL files.
- Its operations extend beyond search to caller traversal, change-impact analysis, cycle detection, dead-code discovery, event listeners, and cross-project relationships.
- It works as a standalone CLI and as a stdio MCP server for several editors and assistants, with additional automatic context hooks for Claude Code.
- The parser covers 30 documented languages and supports incremental rebuilding, post-commit refreshes, and pre-push impact checks.
- Packaged desktop assets are documented only for macOS; Linux and Windows users are directed to the CLI.
- Semantic search is disabled on new installations and requires either a local ONNX model or OpenAI/Voyage AI credentials and their associated service dependencies.
- The Claude Code hooks can rewrite grep, find, and rg activity, so teams must evaluate their effect on existing search workflows and five-minute cache behavior.
- Team graph synchronization and shared-memory MCP tools are restricted to the named Pro/Team tiers.
- The repository reports major token savings, but provides no independent validation, retrieval-accuracy evaluation, or quality comparison with other code-graph products.
How does this agent compare with similar options?
Compared with passing raw grep -r output to a model, GraphMind first indexes symbols and dependencies, then returns compact results ranked through full-text search, semantic retrieval, and graph expansion. Its own benchmark on an approximately 100,000-line codebase reports fewer than 300 output tokens for GraphMind versus more than 1.5 million for raw grep output; this figure is reported by the project itself.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| GraphMind Code Graph This agent | 64 · Some gaps | Desktop appFreemium | ★ 213 | 1mo ago | Rust | Claude Code · Claude.ai |
| Gortex Code Intelligence | 78 · Good | CLIFree | ★ 1.8k | 11d ago | Go | Codex · Claude Code · OpenAI API · Claude API |
| Ori Mnemos | 80 · Good | CLIFree | ★ 330 | 4d ago | TypeScript | Claude Code · OpenAI API · Claude API |
| Graft Code Context Layer | 73 · Some gaps | CLIFree + model costs | ★ 9.5k | 5d ago | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
The evidence describes stdio operation, path confinement, local storage, embeddings disabled by default, optional API/team-sync flows, atomic memory writes, and uninstall/delete commands. Deductions apply because setup/init modifies numerous global, editor, and project configurations and installs hooks; automatic memory saving “without asking” sits uneasily beside confirmation for gm_memory_add; API keys are stored in a local configuration file without documented permissions or encryption; no dependency audit, vulnerability scan, or dependency-locking policy is shown; and the workflow grants contents: write at the top level. Repository ownership, paths, and result-source labels provide useful attribution, although publisher identity remains unverified by the enterprise registry.
The Cargo workspace, clippy gate, unit tests, multiple CLI/E2E suites, and multi-platform release builds provide meaningful static evidence for ordinary reliability, while several installation and embedding-provider alternatives reduce availability risk. Deductions apply because the README variously says 25 and 27 MCP tools while its table lists 27, and the desktop illustration says Mac and Windows while the installation section says Windows is CLI-only. The supplied material also gives little evidence of concrete runtime failure messages, recovery guidance, or behavior when dependencies are unavailable.
The documentation thoroughly identifies scenarios including code search, impact analysis, persistent memory, cross-project relationships, and numerous MCP clients, with broad language, platform, output-format, embedding, and manual-configuration choices. Deductions apply because search rewriting, recall, and saving have broad automatic triggers; exhaustive-search bypass and caching help but do not fully specify false-trigger controls. Free versus Pro/Team boundaries, Windows desktop support, and automatic-sync conditions are not entirely consistent, and much environment compatibility is asserted without corresponding implementation evidence in the supplied files.
Information architecture, command references, automated and manual installation notes, storage locations, architecture presentation, and the MIT license are unusually comprehensive; Cargo metadata agrees with the license. Deductions apply because there is no dedicated FAQ or systematic troubleshooting section, and known limitations do not cover parser uncertainty, dynamic calls, dead-code false positives, or stale indexes. The 25/27 tool count and desktop-platform inconsistency weaken naming/documentation stability. A version, tagged release process, and generated release notes exist, but no changelog is supplied. Responsibility is partially identified through the copyright holder, repository, and security mailbox, without broader support or governance details.
Compact and JSON formats, provenance labels, pagination, truncation notices, opt-in source content, and several graph-export formats make results directly usable by assistants and people. The combined structural, semantic, memory, and cross-project features plausibly add value over raw search. Deductions apply because the 5,700× and roughly 10-million-token savings claims rely on a README graphic and one described scenario without benchmark methodology, raw data, or matching tests. Costs and tradeoffs of indexing, local models, optional paid APIs, team tiers, and extensive configuration changes are not fully quantified.
The license, version, workspace composition, CI workflow, and cross-language fixtures corroborate basic identity, build, and testing claims. Deductions apply because most security, privacy, tool-behavior, language-support, and performance claims appear only in the README; the provided evidence lacks corresponding implementation files, test assertions, and raw benchmark data. Marketing estimates are not clearly separated from established facts, and internal contradictions over tool count and platform support further limit traceability and corroboration.
- setup and init modify shell, Claude, Cursor, VS Code, and project configuration and install hooks; inspect diffs and back up affected files before use.
- The claim that memories are saved automatically without asking is not fully reconciled with confirmation for MCP writes; do not assume every persistent-memory write receives per-action consent.
- When remote embeddings or Team sync are enabled, code-derived material or memories may leave the machine; verify the provider, base URL, sharing flags, and organizational data policy.
- API keys are stored in a local config.json; the supplied evidence does not establish file permissions, encryption, rotation, or log-redaction controls.
- Do not treat the 5,700× token claim, 30-plus stable-language claim, or dead-code/impact results as independently validated; this assessment did not execute the software.
- The curl-piped installer targets the main branch rather than the assessed revision; high-assurance deployments should pin a release and inspect the script and artifact verification data before execution.
FAQ
Can it run in an offline environment?
Does it upload source code?
~/.graphmind/, and MCP communicates over stdio. Network use is introduced only when OpenAI or Voyage AI embeddings are explicitly configured, or when optional Pro/Team synchronization is enabled.Is Claude Code required?
/gm skill are specifically designed for Claude Code.Are memory writes controlled?
gm_memory_add requires explicit confirmation. Entries persist until they are deliberately deleted.