MCP server giving coding agents a call-graph-aware, hash-verified view of a codebase, not grep.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A live, graph-verified map of your codebase β so an AI coding agent can edit with its eyes open instead of grepping in the dark.
Real call graphs instead of vector-similarity guesses. Compiler-verified edges wherever a compiler is available. Hard safety gates on the write path itself, not just warnings an agent is free to scroll past. Measured claims in this README are tied either to a current CALM snapshot or to benchmark artifacts; repo-specific values change as the codebase changes.
New here? Quick start gets you running in under a minute β no clone, no Rust toolchain, works with Claude Code, VS Code, Cursor, Windsurf/Devin Desktop, Codex, Antigravity, and JetBrains. Comparing tools in this category? Jump straight to Proof, not promises. Want the internals? docs/architecture.md covers multi-tier indexing, the SCIP/LSP overlay system, the concurrency model, and the sanitization layer in full.
| Coverage | 24 languages parsed Β· 13 with full call graphs by default (6 zero-config + 7 more via the default tier0-5 bundle) Β· 12 with a formal/compiler-verified upgrade path when the provider/toolchain is available |
| Safety | the only one in the published five-server benchmark that refused an unconfirmed edit to a verified hub symbol |
| Efficiency | task-specific token savings versus a naive read-the-files baseline; see the benchmark artifacts |
An AI agent that edits code without knowing who calls the function it's about to change will, sooner or later:
None of that is a reasoning failure. It's a visibility failure: the agent never had a map. Give it one, and the guessing stops.
Most coding agents operate the way anyone would in an unfamiliar codebase with only grep: no sense of what's wired to what, no way to know if touching this function ripples into fourteen others. That's not confidence β it's fast guessing.
CALM stands for Coding Agent Liveness Map. Liveness, because the map is never a stale snapshot β it watches the filesystem, reindexes incrementally as files change, and reports in every response how fresh it currently is (scanning β parsing β building_edges β ready). Map, because it's an actual graph β call edges, import edges, hub/coreness metrics β not a flat text index pretending to be one. Hand an agent a live, trustworthy map of the terrain, and it stops flailing. It gets calm.
callers/callees/edit_context show every known caller before a change ships. Full tree-sitter call graphs cover 13 languages out of the box: Python, TypeScript, JavaScript, Java, Rust, and Go with zero configuration, plus C, C++, C#, Ruby, PHP, Shell, and R via the default tier0-5 grammar bundle. Eleven more (Kotlin, Swift, Scala, Dart, Lua, Elixir, Haskell, OCaml, Zig, PowerShell, Groovy) parse behind opt-in --features lang-X build flags β 24 languages parsed in total (see multi-tier indexing).textual β inferred β resolved β formal), and when your compiler can double-check the graph, CALM asks it to: SCIP overlays (rust-analyzer, scip-go β including multi-module go.work workspaces β scip-python, scip-ruby, and more) and live LSP overlays (gopls, clangd) can upgrade best-guess edges to compiler-verified ground truth across 12 supported language integrations when their provider/toolchain is available; unavailable providers sit out without changing the base behavior.fitness_report turns hub concentration, dead code, complexity, and architecture-boundary violations into a queryable, CI-enforceable signal instead of a one-off audit β and remember/recall keep decisions and gotchas available across sessions.--features otel and setting OTEL_EXPORTER_OTLP_ENDPOINT exports span attributes β file paths, symbol names, tool names, timing, never source bodies β to your own collector. Off by default; see docs/architecture.md and use https:// collectors only.)"Code intelligence for AI agents" is a real category now, built up by open-source pioneers β Aider, Serena, Sourcegraph/Cody, and others β that proved an agent works better with real code structure under it than with grep and good intentions. CALM builds on that foundation with a different center of gravity: most tools in the category inform the read path β better search, better navigation, better context. CALM also guards the write path. The same graph that answers "who calls this?" enforces "you don't change it until you've looked": hub/high-risk edits require fresh pre-edit context plus explicit confirmation grounded in a real caller; the policy can be widened to every edit, and every write is hash- and syntax-verified before it lands.
The trade-off is stated plainly: CALM's full-call-graph tier out of the box is 13 languages, not the 40+ some pure-LSP tools reach β though with 24 languages parsed and 12 carrying a compiler-verified upgrade path when their providers are available, the gap is narrower than it looks. What the trade buys is the part most distinctly CALM's own: confidence-graded edges, hard pre-edit gates, and a codebase that grades its own health β each backed by a number you can reproduce yourself (Proof, not promises).
Good fit: agents that edit code directly, not just answer questions about it Β· single-repo codebases in a Tier-0/Tier-0.5 language Β· projects running multiple MCP clients (see supported clients below) against the same repo Β· local-first users who don't want to depend on an embedding API.
Not the fit today: multi-repo/cross-repo enterprise search β tools purpose-built for that scale (Sourcegraph/Cody among them) will serve you better Β· a language nowhere in CALM's current 24-language tree-sitter set.
Supported clients β CALM works with any MCP client that speaks stdio; these are wired up or documented today:
| Client | Modes | Fastest install |
|---|---|---|
| Claude Code | CLI Β· Web Β· IDE | claude mcp add --transport stdio calm -- npx -y @eilodon/calm-mcp serve |
| VS Code | IDE (native MCP / Copilot Agent mode) | code --add-mcp '{"name":"calm","command":"npx","args":["-y","@eilodon/calm-mcp","serve"]}' |
| Cursor | IDE Β· Cloud (Background Agent) | Add to Cursor β |
| Windsurf / Devin Desktop | IDE Β· Cloud | edit ~/.codeium/windsurf/mcp_config.json |
| Codex (OpenAI) | CLI Β· IDE | codex mcp add calm -- npx -y @eilodon/calm-mcp serve |
| Antigravity (Google) | CLI Β· IDE | edit ~/.gemini/config/mcp_config.json |
| JetBrains AI Assistant | IDE | via UI settings |
Full walkthrough for every client above, including exact global-config snippets for the ones that need one β docs/mcp-client-setup.md. Running inside a devcontainer/Codespace where stdio forwarding doesn't reach? See docs/http-transport.md (advanced, remote-dev only, opt-in, loopback by default).
Using CALM on your own project β no clone, no Rust toolchain:
Drop that into .mcp.json (Claude Code/Cursor) or .vscode/mcp.json (VS Code uses a top-level "servers" key instead of "mcpServers", same shape otherwise) at your project root. Claude Code plugin instead: /plugin marketplace add Eilodon/CALM then /plugin install calm@CALM.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/calm-mcp)<a href="https://allmcps.com/mcp/calm-mcp"><img src="https://allmcps.com/api/badge/calm-mcp?style=directory" alt="Calm MCP on AllMCPs" /></a>