SDL-MCP

An MCP server that indexes a repository into a symbol graph and hands agents cards, slices and code windows under a context budget

  • 496 ★ on the repository
  • Last commit
MCP server

Extended access

Why this level

  • Indexes the source code of a local repository and stores the graph on disk
  • The runtime execution mode launches commands under configured policies
  • HTTP mode opens a port that is guarded by a token printed at startup
All reasons and checks

glitterkill/sdl-mcp

Install

Manual install

npm install -g sdl-mcp

Node.js 24 or newer is required. Then run sdl-mcp init, sdl-mcp doctor and sdl-mcp serve --stdio in the repository directory.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Indexes the source code of a local repository and stores the graph on disk
  • The runtime execution mode launches commands under configured policies
  • HTTP mode opens a port that is guarded by a token printed at startup

This is third-party code. Review the repository files before installing.

What it does

SDL-MCP (Symbol Delta Ledger) breaks a repository into symbols and the relationships between them and works with that graph locally. The agent does not open whole files. It searches for a symbol, reads its card with the signature, a short summary and relationships, and asks for source code only when the card was not enough. For larger tasks the server builds a graph slice: from a task description or a starting symbol it returns a size-limited subgraph that can be refreshed or expanded. Requests go from simple to detailed: cards and function skeletons first, then richer views and finally source code windows. The server releases code windows according to configured policies. The server can compare indexed versions, find changed symbols and trace the affected relationships. The sdl.pr.risk.analyze tool packages change evidence and test recommendations for pull request review. Edits from an unsaved editor buffer show up in a live overlay before the file is written. For precise cross-references it can ingest SCIP and language provider data, and it parses structure with tree-sitter. The stdio transport suits one agent; HTTP lets several agents share the server and exposes a graph viewer and an observability dashboard. The tool set is configurable: a flat set of 38 tools, a gateway of 6, or a compact Code Mode of 7.

Who it is for. For developers running Claude Code, Codex, Gemini CLI or OpenCode on large repositories who want to spend fewer tokens on reading files.

Good fit when

  • The repository is large and the agent burns context reading whole files for a single function
  • You need to know which symbols an edit will touch before the agent starts making it
  • Pull request review needs the changed symbols, affected relationships and a list of tests to run
  • Several agents work on one repository and should share one index over HTTP
  • You want the repository graph in a browser to look over the architecture

Not a fit when

  • The project is small: the agent can read a few files and indexing would only add steps
  • You need a one-off edit in a single file: indexing the repository will not pay off
  • The environment cannot run the required Node.js version
  • You only need a text search for a string: plain file search is enough

Example request

Use SDL-MCP to find every place that calls the order-creation function, show the symbol cards and explain which tests to run after the change

MCP

Transport
stdio, http
Authentication
not required

Limitations

Node.js 24 or newer is required. The Community License permits running, modifying and using SDL-MCP, including inside a business. The source is open to read, but selling, embedding or distributing it in a commercial product needs a separate license.

If a client does better with fewer choices, enable the gateway or Code Mode instead of the flat set. Semantic embeddings are optional and can be turned off during init. Cross-reference precision depends on whether SCIP or language provider data exists for a file; otherwise ordinary parsing is used.

Execution commands run under configured policies (executables, working directories, environment, timeouts). Review the policy before enabling it and keep the HTTP server token secret. Development notes (memories) are saved only when you turn them on.

How to disable. Remove the server from the agent configuration and uninstall the package with `npm uninstall -g sdl-mcp`. The index data lives in the paths you chose during `sdl-mcp init` and goes away with those directories. Shared setup resources are kept in `~/.sdl-mcp`.

FAQ

How do I connect SDL-MCP to Claude Code?

Install the package with `npm install -g sdl-mcp`, run `sdl-mcp init` in the repository directory and pick Claude Code in the wizard: it supports Claude Code, Codex, Gemini and OpenCode and prepares the configuration. Then verify with `sdl-mcp doctor` and start `sdl-mcp serve --stdio`.

How does a symbol card differ from reading a file?

A card holds the symbol identity, signature, short summary and relationships. The agent looks at it first, then takes a skeleton or a hot path, and only then asks for a window of source code. That keeps the minimum number of lines needed to answer the question in context.

What is a graph slice?

It is a size-limited subgraph around a task or a starting symbol. It follows repository relationships and ignores directory boundaries. A slice can be refreshed or expanded when the agent needs more surroundings.

Can I open the repository graph in a browser?

Yes. With `sdl-mcp serve --http --port 3000` the server serves a graph viewer at /ui/viewer and an observability dashboard at /ui/observability. On startup it prints a token for requests unless auth is disabled in the configuration.

Can SDL-MCP be used in a commercial project?

Inside a business, yes. A paid product with SDL-MCP inside needs a commercial license; its terms are in the repository file COMMERCIAL_LICENSE.md.

Discussion

No questions or reviews yet.

Official

A local code graph with version history: an MCP server that tells the agent who calls a function and what an edit breaks

MCP serverExtended access506Repository stars

An MCP server that builds a code graph once and serves the answer to the agent instead of re-reading files

MCP serverExtended access198Repository stars

An MCP server that indexes code with tree-sitter and returns individual functions and classes to the agent instead of whole files

MCP serverExtended access2.8KRepository stars

A bridge from an LSP language server to the agent: definitions, references, diagnostics, hover and symbol rename

MCP serverExtended access1.6KRepository stars
Russian stack

MCP bridge to BSL Language Server: navigation, diagnostics and refactoring of 1C and OneScript code for agents

MCP serverExtended access69Repository stars

An MCP server that builds a code graph of functions, classes, calls and routes and answers the agent's structural queries locally

MCP serverExtended access47.7KRepository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
SDL-MCP (this entry)nonot required496
CodeGraphnonot required75,798a local code graph with entry points and blast radius, without the detail-escalation ladder
jCodeMunch MCPnonot required2,817serves individual functions via tree-sitter, without graph slices or code-window policies
code-index-mcpnonot required158tree-sitter code search without symbol cards or change analysis

README in short

The documentation describes a three-step loop: indexing the repository, searching symbols or building task context, and revealing detail gradually. Guides to graph slicing, live indexing, SCIP, policies and the observability dashboard sit in the docs directory. A generated tool inventory shows the current set for this version.

README badge

Report a problem

Foxx AISDL-MCP
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.