Dev & Engineering model-context-protocolsymbol-graphcode-analysiscontext-budgetinggraph-slicingtree-sitterscipchange-impact-analysis

Symbol Delta Ledger

A symbol-graph context layer that gives coding agents less code and more relevant evidence.

FollowAgents review · FARS-2.1
Use with care
66/ 100 5-point scale 3.3 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust16 / 29 · 2.8/5

The evidence shows local operation by default, policy-gated raw-source windows, configurable executable, working-directory, environment, concurrency, and timeout controls, plus explicitly scoped contents:read and issues:write workflow permissions. Memories are described as opt-in, and the README identifies indexing, stdio, HTTP, and workflow issue-writing effects. Deductions apply because the actual policy, memory protocol, runtime implementation, and confirmation paths are not included, so consent cannot be established for every effectful action. Version and delta concepts exist, but no operational rollback procedure is shown. Dependency hygiene includes pins, overrides, audit steps, update tracking, and documented security fixes; however, installation invokes several postinstall/native components and the update workflow permits npm audit to fail before continuing. Sensitive-data guidance is thin, and a fixture interpolates paymentToken into an audit string. Attribution names the repository, licensor, and contact address, but package author is blank and publisher identity remains unknown.

2Reliability8 / 14 · 2.9/5

The repository declares extensive unit, integration, property, native, stress, mutation, parity, and output-contract test commands. Its troubleshooting record preserves exact errors, root causes, fixes, and reproduction commands, while optional dependencies and fallback behavior address some availability failures. The main deduction is internal inconsistency: package metadata and README require Node 24, while the workflow notes say CI uses Node 20. Several fixes remain explicitly pending hosted validation, and the record documents native crashes, an embedding race, duplicate primary keys, and fragile fixed temporary paths. Core implementation and executed results are absent, so ordinary-run consistency cannot be fully established. Failure diagnostics are comparatively strong, but the evidence cannot show that all user-facing failures are equally actionable.

3Adaptability14 / 18 · 3.9/5

The README thoroughly identifies debugging, review, implementation, repository exploration, PR-risk, live-indexing, and multi-client scenarios. Flat, gateway, legacy, and Code Mode surfaces provide meaningful interface choices, while policy gates, optional memories, provider-first fallback, and two transports describe useful capability boundaries. Deductions apply because request schemas, detailed trigger conditions, supported-language coverage, and configuration rules reside mainly in linked documents whose contents were not supplied. Stdio, HTTP, Windows/Linux evidence, and optional native components support environment fit, but the Node-version contradiction and recorded Windows/native fragility prevent a top score.

4Convention15 / 18 · 4.2/5

The README supplies a strong documentation map, task-oriented entry points, and a generated inventory identified as the tool-surface source of truth. Global installation, initialization, doctor, stdio startup, and non-interactive setup have concrete commands. Product, CLI, package, and tool namespace naming is stable. The full license clearly addresses internal business use, non-commercial distribution, commercial licensing, contributions, patents, termination, warranty, and liability, justifying full license credit despite external NOASSERTION metadata and the SEE LICENSE package field. Deductions apply because FAQ, troubleshooting, configuration examples, and detailed limitations are mostly linked rather than included; limitations are scattered through CI notes. A package version and dated maintenance history exist, but no formal changelog is shown. Issues, a named licensor, and email establish an update path, though package author is empty and publisher provenance is unverified.

5Effectiveness7 / 13 · 2.7/5

Cards, symbol search, graph slicing, task-shaped context, and bounded source windows define outputs that coding agents could consume directly. Symbol-aware progressive disclosure presents plausible marginal value over full-file retrieval. Deductions apply because the supplied evidence contains no representative MCP response, measured quality result, or benchmark dataset—only names of tests and benchmark commands. Token savings, faster workflows, and improved output are therefore asserted rather than quantified, and their benefit is not compared with the costs of Node 24, indexing, database storage, native dependencies, or background preparation.

6Verifiability6 / 8 · 3.8/5

Claims are partly traceable to generated-inventory references, documentation links, test and benchmark scripts, and unusually concrete maintenance notes containing run IDs, job IDs, commits, error text, verification commands, and pending-validation labels. README, package metadata, and troubleshooting notes provide some cross-source support for the local MCP architecture, indexing model, dependency surface, and test practices. Deductions apply because most linked documents, core code, generated artifacts, and benchmark results are absent; badges and script names do not themselves prove passing tests or performance. The Node 20 versus Node 24 conflict further weakens corroboration. Fact/inference separation is thorough: the notes explicitly distinguish confirmed causes, hypotheses, high-confidence suspects, and hosted validation still pending.

Evidence confidence: Low Reviewed Sep 17, 2026 Reviewed revision d1b9b7630276
Before you use it
  • This is a static review of only the supplied files; no installation, test, audit, benchmark, or MCP call was executed.
  • Reconcile the Node requirement before deployment: README/package require Node 24, while the workflow notes still describe Node 20, indicating stale documentation or CI drift.
  • Inspect postinstall scripts and the download, build, and network behavior of native and optional dependencies; validate their provenance in an isolated environment.
  • Do not treat npm-audit references, CI badges, or test-script names as proof that this revision passed; several maintenance entries explicitly remain pending hosted validation.
  • Before indexing a real repository, verify storage locations, retention, and sensitive-data filtering for indexes, HTTP operation, telemetry, memories, caches, and logs.
  • A test fixture writes paymentToken into an audit string; even if fixture-only, confirm that production outputs cannot log tokens or other secrets.
  • The license is not a standard open-source license; commercial distribution, embedding, or monetized third-party access requires a separate commercial license.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

What does this agent do, and when should you use it?

Symbol Delta Ledger (SDL-MCP) is a locally operated context-budget layer that exposes repository intelligence to coding agents through the Model Context Protocol. It uses tree-sitter to index symbols, relationships, and compact metadata, with provider-first ingestion of SCIP and language-provider facts when available. Agents can begin with symbol cards, task-shaped context, or graph slices, then move through skeletons, hot paths, and policy-gated source windows as more detail becomes necessary. The system also supports indexed-version deltas, blast-radius tracing, pull-request risk analysis, live draft overlays, and optional development memories. It requires Node.js 24 or later and can run over stdio or HTTP, with the HTTP deployment additionally providing a graph viewer and observability dashboard.

SDL-MCP reads a local repository, parses its structure with tree-sitter, and builds a symbol graph containing identities, signatures, summaries, relationships, and retrieval metadata. Where coverage exists, provider-first indexing can add facts from SCIP, LSP, or another language provider while uncovered files follow the regular indexing path. An agent requests budgeted context through symbol search, sdl.context, sdl.retrieve, graph slicing, or the corresponding flat and gateway actions, escalating to policy-controlled source windows only when needed. Unsaved draft-buffer changes can appear in a live overlay; after a save, targeted reconciliation is queued and only the newest saved generation is published. The system can compare indexed versions, create delta packs, trace blast radius, and use sdl.pr.risk.analyze to package change evidence and test recommendations. It exposes MCP over stdio or HTTP and offers a 38-tool Flat surface, a 6-tool Gateway surface, a 42-tool Gateway-with-legacy surface, or a seven-tool Code Mode exclusive surface.

  1. A developer maintaining a large repository wants to identify relevant symbols and dependencies before opening complete source files.
  2. A coding agent debugging a defect needs a budgeted subgraph around a starting symbol, with controlled expansion through spillover.
  3. A pull-request reviewer wants indexed-version comparisons, affected-symbol tracing, and test recommendations tied to change evidence.
  4. A local development workflow with an MCP-capable client needs repository context through stdio without operating a remote service.
  5. A team deploying the server over HTTP wants repository retrieval alongside a graph viewer and observability dashboard.
  6. An editor-integrated workflow needs agents to retrieve draft-buffer changes before those changes have been saved to disk.

What are this agent's strengths and limitations?

Pros
  • Symbol cards and staged retrieval provide a concrete alternative to placing full files in the agent's context by default.
  • Graph slicing follows repository relationships rather than directory boundaries and supports refresh or expansion through spillover.
  • The indexer can combine tree-sitter structure with SCIP, LSP, and language-provider facts, while retaining a fallback path for uncovered files.
  • Both stdio and HTTP transports are supported, with Flat, Gateway, and Code Mode surfaces for clients with different tool-registration constraints.
  • Delta packs, blast-radius tracing, and sdl.pr.risk.analyze connect repository changes to review evidence and test recommendations.
Limitations
  • Node.js 24 or later is mandatory, so environments standardized on older Node.js releases need an upgrade or isolated runtime.
  • Each repository must be initialized and indexed; SCIP, LSP, or parser preparation can introduce additional setup and background processing.
  • Raw-source access is policy-gated, and operators must maintain rules for executables, working directories, environment variables, concurrency, and timeouts.
  • Development memories are opt-in and require adopters to evaluate their documented storage rules and repository-link behavior.
  • The project is source-available rather than offered under an asserted standard open-source license: the Community License permits use, execution, modification, and internal business use, but monetized selling, licensing, sublicensing, bundling, embedding, or distribution requires a commercial license.

How do you install or deploy this agent?

Prerequisite: install Node.js 24 or later and run the commands inside the repository to be indexed. For an interactive first installation:

npx create-sdl-mcp

For a global installation followed by a stdio launch:

npm install -g sdl-mcp
cd <repository>
sdl-mcp init
sdl-mcp doctor
sdl-mcp serve --stdio

For non-interactive initialization with automatic indexing:

sdl-mcp init -y --auto-index

The supplied material does not document any required API key or other credential.

How do you use this agent?

From the target repository, run sdl-mcp init to initialize it, use sdl-mcp doctor to verify the setup, and start the MCP server with sdl-mcp serve --stdio; then connect an MCP-capable client. Begin retrieval with symbol search, task-shaped context, or graph slicing, and escalate through cards, skeletons, hot paths, and policy-gated source windows only as the task demands. Choose Gateway mode when the client benefits from fewer registered tools, Flat mode when direct action names are preferable, or Code Mode exclusive for sdl.action.search, sdl.context, sdl.file, sdl.info, sdl.manual, sdl.retrieve, and sdl.workflow. HTTP transport is documented as supported, but the supplied material does not include a copyable HTTP launch command or concrete client configuration.

FAQ

Does it place entire source files in the agent context?
Not by default. The intended loop starts with symbol search, cards, or graph slices and escalates to bounded, policy-controlled source windows only when the task needs more detail.
Does it require a cloud service or a particular model provider?
The supplied material describes local operation over the provider-neutral MCP stdio or HTTP transports and does not name a mandatory model provider.
Are SCIP and a language server mandatory?
They are not stated as mandatory. Tree-sitter supplies the regular repository-structure path; provider-first indexing adds SCIP or language-provider facts for covered files and falls back for uncovered ones.
Can SDL-MCP be bundled into a commercial product under the Community License?
No. A commercial license is required before selling, licensing, sublicensing, bundling, embedding, or distributing SDL-MCP as part of a monetized product.
Can agents continue retrieving context while saved-file indexing catches up?
Yes. Retrieval continues from the committed graph and any available live overlay while targeted reconciliation runs, and only the latest saved generation is published.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents