Real benchmarks on the same hardware. Not marketing claims — live measurements on the same codebases including torvalds/linux at 74,619 files. All competitor data source-verified — every claim below was verified by indexing and reading the competitor's source code directly through Synapse MCP.
| Feature | Synapse MCP | CodeGraph | code-graph-mcp | Graphify | Sourcegraph | Greptile | Augment Code |
|---|---|---|---|---|---|---|---|
| Architecture | Elixir BEAM · ETS in-memory · persistent daemon · multi-repo | TypeScript host + Rust kernel (napi-rs) · per-project | Pure Rust single binary · per-project | Python · NetworkX · file-based graph.json · no daemon | Go · Zoekt index · SaaS/self-hosted | Vector RAG · cloud SaaS | Cloud RAG · proprietary index |
| Storage | ETS tables + SQLCipher SQLite · persistent daemon | SQLite (FTS5) | SQLite (FTS5 + sqlite-vec) | Single graph.json file | Zoekt shards on disk | Proprietary vector DB | Proprietary index |
| Query Speed | Sub-ms ETS reads · 148ms on Linux kernel | ~50ms (SQLite FTS5) | ~30ms (SQLite RRF fusion) | 59.3s cold start (1.6 GB JSON) | ~100ms (Zoekt) | ~500ms | ~200ms |
| Search | Native BM25F + random projection (in-process, 10-50µs/chunk) + symbol + regex | FTS5 + symbol. No embeddings. | BM25 + vector RRF (external Candle model, 419 deps) | BFS neighbourhood + FTS5 | Zoekt index | Vector similarity | Proprietary |
| Languages | 50+ (source-verified: 90+ extensions, 691 LOC registry) | 20 full + 10 extended + 17 web frameworks (incl. Elixir? No) | 20 (source-verified: src/parser/languages.rs) | 36+ (tree-sitter) | 30+ | 20+ | 30+ |
| Write Safety | EXCLUSIVE Shadow Graph — validates before disk write | Read-only | Read-only | Read-only | Search only | Search only | Search only |
| Crash Resolution | EXCLUSIVE resolve_stack maps traces to AST chunks | None | None | None | None | None | None |
| Dead Code Decisions | Graph-aware: safe_to_delete, confidence, caller splitting (prod vs test), agent instructions | Not documented | SQL-based w/ per-language exclusions (intentionally unlisted from MCP) | Lists zero-caller functions | None | None | None |
| Change / Diff Review | EXCLUSIVE Pre-change blast radius + risk scores + test mapping | None | None | Post-hoc git diff | Reference search | Search only | Search only |
| Token Compression | SmartCrusher: 30-60% reduction | None | None | None | None | None | None |
| HTTP Route Tracing | Via trace_behaviour (Plug/middleware chain, runtime-verified) | UNIQUE 17 web frameworks with heuristic URL→controller→template edges | Express, Flask, Go, axum via route_path | None | None | None | None |
| Cross-Language Bridging | Native SwiftChunker + ObjectiveCChunker (AST-depth, no synthetic bridge edges) | UNIQUE Swift↔ObjC, React Native bridge, Expo, Fabric | Swift parsed (tree-sitter), no bridging | None | None | None | None |
| Git Worktrees | VWO: <50ms delta indexing | Per-project init only | Per-project only | GRAPHIFY_OUT per worktree | None | None | None |
| Multi-Repo | EXCLUSIVE Registry, worktrees, lifecycle states | Per-project only | Per-project only | Per-project | Per-instance | Per-org | Per-org |
| Query During Indexing | Immediate (2s from registration) | Partial (during resolution) | Partial (Merkle re-check) | Blocked until build complete | Post-index | Post-ingest | Post-index |
| Cross-Session Learning | Knowledge cache: fingerprinting, hit tracking, learning | None | None | File-based reflect.py (offline) | None | None | None |
| BDD/Schema Ingestion | Gherkin · SQL DDL · Protobuf · GraphQL · HCL | Code only | Code only | Markdown only | Code only | Code only | Code only |
| IDE Auto-Config | Rust CLI: 20+ IDEs, 16 rule targets | Via prompt hook config | .claude/plugin + hooks.json | Python: 17 assistants | Manual | Manual | Manual |
| Elixir/BEAM Support | Native Macro.prewalk + alias resolution | Not listed | Not listed | No alias resolver | Basic | None | None |
| Privacy | 100% local · zero cloud · zero telemetry | 100% local | 100% local | OSS: local · SaaS: cloud upload | SaaS/self-hosted | Cloud only | Cloud only |
| Pricing | Free (full product) · Pro $19/mo | MIT — free | MIT — free | Free tier · Pro $10/mo · Teams $20/seat | Free tier · Enterprise custom | Free tier · Pro $24/mo | Free tier · Teams $30/seat |
| Linux Kernel RAM | 877 MB | N/A | N/A | 5.21 GB | N/A | N/A | N/A |
| Cold Query (Linux) | 148 ms | N/A | N/A | 59.3 seconds | N/A | N/A | N/A |
Synapse vs Graphify benchmarks from live physical tests on same Apple Silicon hardware. Linux kernel: 74,619 code files. CodeGraph and code-graph-mcp feature data source-verified by indexing their source repositories through Synapse MCP (September 2026). Other products: publicly documented capabilities. EXCLUSIVE = no competitor offers this. UNIQUE = only this competitor offers this.
The only two tools tested on torvalds/linux (74,619 files) on the same hardware:
| Metric | Synapse MCP | Graphify | Winner |
|---|---|---|---|
| Filesystem discovery | 2.0s | 1m 15s | Synapse — 37.5× |
| Peak RAM | 877 MB | 5.21–5.75 GB | Synapse — 5.9× lower |
| Query during indexing | Available | Blocked | Synapse |
Cold query (EXPORT_SYMBOL) | 148.1 ms | 59.3 seconds | Synapse — 400× |
| CPU scheduling | 24 BEAM schedulers | Single core 100% for 15+ min | Synapse |
| OOB scalability | Zero config | Crashed: needed GRAPHIFY_MAX_GRAPH_BYTES=4GB | Synapse |
Full benchmark data and methodology at synapse-mcp.dev/blog/synapse-vs-graphify-live-benchmark.html.
In September 2026, we source-verified every claim below by indexing all three codebases through Synapse MCP and reading the actual source code. No marketing claims. No assumptions. Verified implementations.
Research methodology: All three MCP code-graph tools were indexed by Synapse MCP and their source code read directly. Synapse MCP: 12,775 chunks / 1,423 files / Elixir umbrella (3 OTP apps). CodeGraph (colbymchenry): 15,789 chunks / 356 files / TypeScript host + Rust kernel. code-graph-mcp (sdsrss): 1,484 chunks / 229 files / Pure Rust single binary.
CodeGraph (colbymchenry) is the most feature-complete read-only competitor. It runs as a TypeScript/Node host with a compiled Rust native kernel via napi-rs, stores its graph in SQLite with FTS5, and has the broadest language coverage of any read-only tool: 20 full languages, 10 extended, plus 17 web frameworks (Django, Rails, Express, Spring, Go Fiber, FastAPI, axum). Its unique capability is HTTP route-chain tracing — following a URL through routing layers into the handler for 17 frameworks using synthesised heuristic call-graph edges. It also supports cross-language bridging for Swift↔ObjC and React Native JS↔Native boundaries. What it lacks: no vector/semantic search, no write safety, no multi-repo support, no test mapping, no debugging.
code-graph-mcp (sdsrss) is a pure Rust single binary (165 source files) with the most sophisticated indexer of all three: a BLAKE3 Merkle tree for incremental change detection, notify-based OS file watching, hybrid BM25 + vector search via Reciprocal Rank Fusion with an embedded Candle (Rust ML) model, and production-grade SQLite (WAL mode, schema versioning, FTS5, sqlite-vec). Its dead code detection is a 2,551 LOC SQL query module with per-language constructor exclusions — intentionally unlisted from the MCP tool surface (confirmed by a test assertion). It is also read-only and per-project only.
code-graph-mcp is a serious competitor with excellent engineering discipline: BLAKE3-pinned vendored C sources, compile-time instruction budget guards, a rich changelog. Its dead code SQL and Merkle-based incremental indexer are well-designed. Where it falls short: read-only, per-project only, 20 languages (no Elixir, Erlang, Haskell, OCaml, Scala, Solidity, COBOL, Zig, Gherkin, HCL, Protobuf, GraphQL, SQL DDL), no agent write safety. Its cargo audit runs on a daily cron; Synapse's mix deps.audit runs on every push.
CodeGraph has two capabilities no competitor matches: HTTP route-chain tracing for 17 frameworks and React Native / Expo / Fabric bridge-aware graph traversal. Where it falls short: no embeddings, no semantic search, read-only, per-project only, no write safety, no change review, no persistent memory.
Synapse wins on: language breadth (50+ languages, 90+ extensions), framework detection (30+ indicators), native Swift/ObjC indexing at AST depth, embedding quality (native BM25F, zero external dependency, 10-50 µs), zero-latency file event indexing, behaviour tracing (full Plug/middleware chain with runtime verification), dead code analytical depth, and the entire write-safety / change-review / multi-repo / worktree capability cluster that no competitor is building toward.
Full AST indexing, 50+ languages, safe writes, SmartCrusher compression, Git worktree overlay, unlimited repos. No credit card. No cloud.
Download Now — for FREE →