Sverklo

repo memory for coding agents

Last verified:

Visit Sverklo

What is Sverklo?

Sverklo is a local-first MCP (Model Context Protocol) server that gives AI coding agents like Claude Code, Cursor, Windsurf, and Codex-style agents real repo memory. It parses your codebase into structural chunks, embeds them with a local ONNX model (all-MiniLM-L6-v2), and builds a symbol-level dependency graph. Every query runs through hybrid search combining BM25 text matching, semantic vector embeddings, and PageRank ranking over the import graph, fused via RRF.

Key features include: symbol-level impact analysis (blast radius detection showing who calls a function and what depends on it), diff-aware MR/PR review with risk scoring, bi-temporal persistent memory tied to git SHAs (唯一 to Sverklo), cross-repo impact tracing, and automatic import of existing project knowledge from CLAUDE.md, .cursorrules, ADRs, and CONTRIBUTING.md. The tool provides 37 MCP tools for search, impact analysis, review, and memory workflows. Sverklo achieves 26ms search p95 on React (4,368 files), sub-1.2ms impact analysis, and uses 65% fewer input tokens than smart-grep on structural questions.

Sverklo is designed for software engineers using AI coding agents who work on large interconnected codebases. It helps agents avoid hallucinating function names, remember design decisions across sessions, understand refactor blast radius before editing, and review pull requests like a senior developer. The tool supports 24 programming languages (10 first-class with tree-sitter parsing: TypeScript, JavaScript, Python, Go, Rust, C#, Vue, Markdown, Jupyter; 14 via regex fallback including Java, C, C++, Ruby, PHP). Your code stays on your machine—no API keys, no code upload, no cloud calls.

The tool is MIT licensed, free forever, and works on macOS, Linux, and Windows with Node 24+. Installation is one global npm command followed by sverklo init in your project. It auto-detects and configures for Claude Code, Cursor, Windsurf, Zed, VS Code, JetBrains, and Google Antigravity. The benchmark harness is public and reproducible, showing +29% F1 vs Claude alone on real merge requests and 2-4× fewer tokens per agent review pass.

Sverklo pricing

Pricing model: Freemium

MIT licensed and free forever. All 37 tools have no limits. Opt-in telemetry is off by default. A future Sverklo Pro tier will add smart auto-capture and larger embedding models, and Sverklo Team will add shared team memory—but the rule is 'Pro adds new things, never gates current things.' Anything in the OSS server today stays in the OSS server forever. No API keys, no cloud calls, no paid tiers currently exist.

Sverklo pros

  • Local-first—code never leaves your laptop
  • No API keys required
  • MIT licensed and free forever
  • Hybrid search (BM25 + ONNX vectors + PageRank)
  • Symbol-level impact analysis in under 1.2ms
  • 26ms search p95 on 4,368-file React codebase
  • Bi-temporal memory tied to git SHAs (unique)
  • 37 MCP tools for search, review, and memory
  • Auto-imports from CLAUDE.md, .cursorrules, ADRs
  • Staleness detection flags outdated memories
  • Cross-repo impact tracing without per-project config
  • Diff-aware PR review with risk scoring (0-100)
  • Dangling reference detection blocks broken merges
  • Supports 24 languages (10 first-class tree-sitter)
  • 65% fewer tokens on structural questions vs grep
  • +29% F1 vs Claude alone on real merge requests
  • 2-4× fewer tokens per agent review pass
  • Incremental indexing with file watcher
  • Configurable PageRank via .sverklo.yaml
  • Public reproducible benchmark with 180 tasks

Sverklo cons

  • Cold index takes 152s on React (4k files)
  • Peak RAM 400-700MB during indexing
  • Requires Node 24+ (newer than typical)
  • First run downloads ~90MB ONNX model
  • On smaller repos (<30 files) overkill
  • Grep still faster for exact string matching
  • Grep beats Sverklo on dead-code detection
  • Grep beats Sverklo on focused diff review
  • Symbol analysis sharpest only on 10 first-class languages
  • No built-in conversation memory (only code memory)

Frequently asked questions about Sverklo

How do I stop Claude Code from hallucinating function names that don't exist in my codebase?

Claude Code hallucinates function names because it generates from training-data patterns rather than your actual symbol graph. It will write getUserByEmail() when your code uses findByEmail(), invent imports for packages you don't depend on, and forget yesterday's design decision because context was compacted. Sverklo solves this with a 37-tool MCP retrieval layer the agent calls before writing code: lookup resolves a name to its definition with file:line, refs proves whether a symbol exists with caller context, verify lets the agent re-check that a quoted span is still present at the cited git SHA. Install with npm install -g sverklo, run sverklo init, then run sverklo prove to see central files and a real caller graph from your repo.

Why would I install another MCP server?

Most MCP servers are single-purpose wrappers around an API. Sverklo is local-first code intelligence: hybrid search (BM25 + ONNX embeddings + PageRank), symbol-level impact analysis, diff-aware PR review, and bi-temporal memory—all running on your laptop with no API keys. It works with Claude Code, Cursor, Windsurf, Zed, VS Code, JetBrains, and Google Antigravity, so if you already have an MCP client, sverklo just appears as 37 new tools alongside whatever else you run.

How is Sverklo different from Cursor's @codebase or Claude Context?

Cursor's @codebase indexing is cloud-based and tied to the Cursor editor. Claude Context (Zilliz) requires a Milvus database. Sverklo runs entirely on your laptop with SQLite and ONNX embeddings, works across every major AI coding agent via the MCP protocol, and adds symbol-level impact analysis and bi-temporal memory that neither offers.

Does Sverklo work offline?

Yes. The only network call Sverklo ever makes is downloading the ONNX embedding model on first run (~90MB, cached locally). After that you can disconnect from the internet and everything continues to work—indexing, search, embeddings, memory, dashboard. No telemetry. No cloud calls. Your code never leaves your laptop.

Which AI coding agents does Sverklo support?

Sverklo works with any AI coding agent that speaks the Model Context Protocol (MCP): Claude Code, Cursor, Windsurf, Zed, VS Code, JetBrains, and Google Antigravity. The sverklo init command auto-detects which clients you have installed and writes the right config files.

Is Sverklo free and open source?

Yes. MIT licensed and free forever. All 37 tools have no limits and opt-in telemetry that's off by default. A future Sverklo Pro tier will add smart auto-capture and larger embedding models, and Sverklo Team will add shared team memory—but the rule is 'Pro adds new things, never gates current things.' Anything in the OSS server today stays in the OSS server forever.

How do I install Sverklo in Claude Code?

Run npm install -g sverklo, then cd to your project and run sverklo init. That writes .mcp.json at your project root, appends sverklo instructions to your CLAUDE.md, and runs sverklo doctor to verify the MCP handshake. Run sverklo prove to get a real repo-memory prompt, add --markdown for a shareable receipt, then restart Claude Code and the sverklo tools appear in the /mcp list.

What programming languages does Sverklo support?

24 languages total. 10 first-class with structural parsing: TypeScript/TSX, JavaScript, Python, Go, Rust, C# (tree-sitter), plus Vue (SFC), Markdown, and Jupyter notebooks (custom parsers). 14 more via regex fallback: Java, C, C++, Ruby, PHP, Kotlin, Scala, Swift, Dart, Elixir, Lua, Zig, Haskell, Clojure, OCaml. Hybrid search works across all 24; symbol-level impact analysis is sharpest on the first-class 10.

When is Sverklo the wrong tool?

Sverklo is the right tool when you don't know exactly what string to search for. When you do know the literal string, plain grep is faster and more reliable. On a 30-file repo, you don't need Sverklo. It earns its place on large interconnected codebases where AI coding agents waste thousands of tokens reading the wrong files. Grep also wins on focused diff review, exact string matching, reading file contents, and build & test verification.

How does the bi-temporal memory work?

Every memory has valid_from_sha and valid_until_sha. Memories are never deleted, only superseded—so you can query 'what we believed at commit X'. Zep does this for conversations; sverklo is the only tool doing this for code. If a memory references a file that no longer exists, it's flagged as stale. Memories are embedded and searched the same way as code, and top memories auto-inject on session start before you type anything.

Categories

Use cases

Browse all AI tools on NeedAnAI