/* comparison */

Sverklo vs CodeGraph

Both are MCP code-intelligence servers. Both parse your repo locally and expose tools to AI coding agents. CodeGraph (Jakedismo/codegraph-rust) is a Rust implementation backed by SurrealDB with multi-language LSP integration. Sverklo is a TypeScript implementation with tree-sitter parsing, hybrid retrieval, and a published reproducible benchmark. This page is an honest matrix — where each genuinely wins.

Feature comparison

Sverklo GitNexus
License MIT Free for all use none No LICENSE file — defaults to all rights reserved
Commercial use Free, no restrictions Not legally authorized without explicit grant from author
Implementation TypeScript (single npm install) Rust (cargo build, requires Rust toolchain)
Parser Tree-sitter + regex fallback AST + FastML + per-language LSP (rust-analyzer, pyright, gopls, jdtls, clangd, ts-language-server)
Storage backend SQLite + sqlite-vec (embedded) SurrealDB (separate process)
Memory system Bi-temporal, git-SHA-pinned (valid_from_sha, valid_until_sha) None published
Indexing tiers SVERKLO_PROFILE (core 6 / lean 11 / review 10 / research 18 / full 36) fast / balanced / full
Languages 10 first-class via tree-sitter 6 via LSP (Rust, TS/JS, Python, Go, Java, C/C++)
Published benchmark F1 0.56 leader on 180-task public bench (6 codebases × 5 baselines), reproducible from clone None published
Install footprint npm i -g sverklo + 86 MB ONNX model on first run Rust toolchain + SurrealDB binary + per-language LSP for balanced/full tier (init fails fast without them)
Network egress 3 documented calls (model download, opt-in telemetry, explicit update check) Not documented in public posture page
Stars (2026-05-12) 47 269

By the bench numbers

Sverklo is on the public 5-baseline retrieval benchmark — 180 hand-verified tasks across 6 OSS codebases (express, lodash, sverklo, requests, flask, fastapi). Full ranking page. CodeGraph is not yet measured on this benchmark. We have an open invitation at sverklo-bench#9 specifically for CodeGraph (and #8 for any other code-intel MCP server). Until a CodeGraph adapter lands this section shows where sverklo stands today; we'll publish the head-to-head numbers honestly when CodeGraph is added.

baseline F1 P1 def P2 refs P4 deps tokens
sverklo 0.56 0.73 0.30 0.80 505
smart-grep 0.49 0.61 0.18 0.42 4,100
jcodemunch-mcp 0.32 0.78 0.00 0.34 1,178
gitnexus 0.24 0.23 0.00 0.25 333
codegraph (Jakedismo)

Empty CodeGraph row is intentional — we don't fabricate scores. CodeGraph's README emphasizes graph richness (module/dataflow/doc edges, LSP-resolved definitions, architecture boundary rules) without comparative retrieval numbers against the field. Whether that richness translates to better retrieval F1 on a fixed task set is exactly what the bench would measure. The harness is one npm script; we'd run it as soon as a baseline adapter lands.

Until then, the honest claim is: sverklo has measurements, CodeGraph has architecture. Both can be true at the same time. The decision factor for many buyers is which one their codebase actually exercises better, and that question is unresolved until the head-to-head run lands.

When to use each

Choose Sverklo when

  • You need an MIT-licensed tool for commercial use today (CodeGraph has no LICENSE)
  • You want a single npm install with no per-language toolchain prerequisites
  • You want published, reproducible benchmark numbers before adopting
  • You need git-SHA-pinned memory that survives /compact
  • You want a documented security posture with explicit network-egress accounting
  • Your codebase mixes 10+ languages with varying LSP availability

Choose CodeGraph when

  • You're using it for personal / research projects where the missing LICENSE isn't a blocker
  • Your project is mostly one of the 6 LSP-supported languages (Rust, TS/JS, Python, Go, Java, C/C++)
  • You've already installed and run all required LSP servers locally
  • Type-aware accuracy matters more than measured retrieval quality
  • You want architecture boundary rules + dataflow edges in the graph itself
  • You're comfortable with a Rust + SurrealDB stack and the operational surface that comes with it

Architecture notes

Sverklo uses SQLite + sqlite-vec with PageRank-based scoring and a hybrid retrieval pipeline (BM25 + ONNX embeddings + graph centrality). The parser is tree-sitter + regex fallback. The install is one npm package; everything runs in-process. The tradeoff: less type-aware accuracy than real LSP integration, and the graph is import/symbol-edge-only, not dataflow-level.

CodeGraph uses SurrealDB as a graph + document backend and shells out to real language servers (rust-analyzer, typescript-language-server, pyright-langserver, gopls, jdtls, clangd) for type resolution at the balanced/full tiers. The graph carries module/dataflow/doc edges and supports architecture boundary rules. The tradeoff: a heavier operational stack (Rust toolchain + SurrealDB process + per-language LSP servers), and the fail-fast prerequisite check means installation can dead-end on a language you weren't planning to use.

Note on the LICENSE situation: As of 2026-05-12, github.com/Jakedismo/codegraph-rust ships without a LICENSE file. Per GitHub's documentation, source code without a license defaults to all rights reserved — readable but not legally usable in derivative, commercial, or distributed contexts without an explicit grant from the author. This is likely an oversight rather than intent and is fixable by adding a LICENSE file; we'd update this page within 24h of that happening.

Try Sverklo

MIT licensed. One command. Works with every MCP client.

click to copy