SigMap
Local code-signature index for a repository, served to coding assistants as on-demand MCP tools
Local code index that serves symbol cards, graph slices and bounded source windows to coding agents
By Gary Mullins (individual) TypeScript Local · stdio Developer tools
54 popularity score ★ 497 ↓ 462/wk
Opens the app, which asks before it adds the server.
npm install -g sdl-mcp
cd <REPOSITORY_PATH>
sdl-mcp init -y --auto-indexclaude mcp add sdl -- npx --yes sdl-mcp@latest serve --stdio{
"mcpServers": {
"sdl": {
"command": "npx",
"args": [
"--yes",
"sdl-mcp@latest",
"serve",
"--stdio"
]
}
}
}{
"mcpServers": {
"sdl": {
"command": "npx",
"args": [
"--yes",
"sdl-mcp@latest",
"serve",
"--stdio"
]
}
}
}{
"servers": {
"sdl": {
"type": "stdio",
"command": "npx",
"args": [
"--yes",
"sdl-mcp@latest",
"serve",
"--stdio"
]
}
}
}[mcp_servers.sdl]
command = "npx"
args = ["--yes", "sdl-mcp@latest", "serve", "--stdio"]gemini mcp add --scope user sdl npx -- --yes sdl-mcp@latest serve --stdioSDL_CONFIG |
Optional: Path to sdlmcp.config.json; defaults to the user-global config that `sdl-mcp init` writes (SDL_CONFIG_PATH is an alias). |
|---|---|
SDL_CONFIG_HOME |
Optional: Folder in which to look for sdlmcp.config.json. |
ANTHROPIC_API_KEY |
Optional: Only for optional LLM-generated symbol summaries. |
SDL_MCP_SKIP_SETUP_WIZARD |
Optional: Set to 1 to skip the setup wizard offered after npm install. |
SDL-MCP (Symbol Delta Ledger) parses a local repository with tree-sitter into a graph of symbols and their relationships, stores it in an on-disk graph database, and answers a coding agent's questions from that graph instead of handing it whole files. The agent starts from a compact card per symbol (signature, summary, links), can ask for a task-scoped slice of related symbols under a token budget, and only then requests skeletons, hot paths or a capped window of real source. Where SCIP or language-provider data is configured it adds precise cross-references on top of the parser output.
Beyond reading, it compares indexed versions to list changed symbols and their blast radius, packages pull-request risk evidence with `sdl.pr.risk.analyze`, accepts unsaved editor buffers into a live overlay, can edit files and symbols, runs build and test commands through a governed runtime tool, and keeps optional development memories tied to the repository. It runs over stdio for one agent or over HTTP (with a bearer token, a graph viewer and a dashboard) when several agents share one index.
The tool surface depends on mode. The README's table lists 38 flat tools, but the configuration reference at v0.13.7 sets `codeMode.enabled` and `codeMode.exclusive` to true by default, so a fresh install registers the 7 Code Mode tools and hides the flat and gateway tools until `codeMode.exclusive` is set to false. The licence is source-available, not open source: a separate commercial licence is needed to sell or bundle it in a paid product.
| Runtime | Node.js 24+ |
|---|
Node.js 24 or later and npm. A local repository to index, set up once with `sdl-mcp init` (or `sdl-mcp init -y --auto-index`), which writes the config and builds the first index. Optional: SCIP or language-provider tooling for precise cross-references, and an LLM API key such as ANTHROPIC_API_KEY only if you turn on generated symbol summaries.
Running bare `npx sdl-mcp` does not start the server; it needs `serve --stdio` (or `serve --http`). Raw source windows are capped by policy, 180 lines and 1400 tokens in the documented starter config. Development memories, SCIP input and semantic enrichment are off by default. `sdl.runtime.execute` is on by default; its guard against reading repository files is described by its makers as cooperative and not a security boundary. Default runtime limits include 2 concurrent jobs and a 10-minute maximum duration. Selling, sublicensing or bundling it in a monetized product requires a commercial licence.
Suits developers working in medium to large or polyglot repositories who want an agent to pull small, budgeted pieces of code rather than whole files, and who are willing to run an indexing step and keep Node 24 installed. The HTTP mode fits teams that want several agents on one shared index. It is heavier than a plain file-reading server: for small projects, or where you do not want an MCP server that can run commands and edit files, a simpler read-only file or code-search server is a better fit, or disable runtime execution in its config.
sdl.action.searchsdl.infosdl.contextsdl.filesdl.manualsdl.retrievesdl.workflowsdl.agentsdl.codesdl.querysdl.reposdl.agent.feedbacksdl.agent.feedback.querysdl.buffer.checkpointsdl.buffer.pushsdl.buffer.statussdl.code.getHotPathsdl.code.getSkeletonsdl.code.needWindowsdl.delta.getsdl.file.readsdl.file.writesdl.index.refreshsdl.memory.querysdl.memory.removesdl.memory.storesdl.memory.surfacesdl.policy.getsdl.policy.setsdl.pr.risk.analyzesdl.repo.overviewsdl.repo.registersdl.repo.statussdl.repo.unregistersdl.response.getsdl.runtime.executesdl.runtime.queryOutputsdl.search.editsdl.semantic.enrichment.refreshsdl.semantic.enrichment.statussdl.slice.buildsdl.slice.refreshsdl.slice.spillover.getsdl.symbol.editsdl.symbol.getCardsdl.symbol.searchsdl.usage.stats