# calm-mcp

calm-mcp gives coding agents a live call graph, dependency context, and checked writes. It fits refactoring tasks where missed callers are risky.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 17
- Author: Eilodon
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Eilodon/CALM
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/calm-mcp

## What it does

calm-mcp exposes a codebase map through MCP instead of treating text search as the whole picture. Agents can inspect callers, callees, imports, edit context, and highly connected symbols. The index follows file changes and reports its current stage. It parses 24 languages, with call graphs available by default for 13 of them.

Before a write reaches disk, the server checks the target range against its hash and runs a syntax check. Changes to high fan-in symbols are refused until the agent reviews their callers and confirms the edit. `fitness_report` makes code structure and architecture checks queryable, while `remember` and `recall` carry decisions between sessions. Indexing, search, and editing stay on the local machine. Compiler-backed upgrades depend on an available provider or toolchain; when one is absent, the base behavior remains unchanged.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add calm-mcp -- npx -y @eilodon/calm-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add calm-mcp -- npx -y @eilodon/calm-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "calm-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@eilodon/calm-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "calm-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@eilodon/calm-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add calm-mcp npx -y @eilodon/calm-mcp
```

## When to use it
- trace every caller before changing a function
- inspect the impact of a cross-module edit
- block an unconfirmed change to a hub symbol
- surface dead code and boundary violations
- carry decisions across agent sessions

## Example prompts
- Use `callers` to list every call site before changing this function’s signature.
- Run `edit_context` for the planned file change and verify the write safeguards.
- Generate a `fitness_report` covering dead code and architecture-boundary violations.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
