Standalone code knowledge-graph MCP server for TypeScript/JavaScript repos: a built-in indexer, a symbol-aware edit loop as first-class agent tools, and KG-only coding agents for Claude Code, OpenCode, Cursor, Codex CLI and Code Puppy.
codegraph-kit provides 10 well-named, verb-prefixed tools with clear domain focus (code navigation, impact analysis, editing). Tool descriptions are substantive (100-250 chars) and explain purpose and use cases. Input schemas are present with typed parameters and descriptions. However, output schemas are not documented, LLMs cannot predict return structure. Error handling is minimal; no recovery guidance or actionable error messages visible. Parameter descriptions lack format constraints (e.g., file path format, line number ranges). No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. Missing pagination guidance for tools that may return large result sets.
Apply anchored multi-file edits atomically: takes an array of {file, old, new, count?} specs and applies all replacements in one transaction. All-or-nothing: if any anchor fails, nothing is written.
Apply line-targeted edits: given file, line number, and a find/replace pair, applies the edit at that exact line. Supports optional guards (expect) and whole-line replacement. Batched and atomic.
Apply whole-file literal replacement: replaces the entire content of a file with new text. Useful for generated or heavily refactored files.
Change-impact analysis: given a file path and optional line range, returns all symbols that would be affected by changes in that region, plus their dependents.
Build or rebuild the code knowledge graph: walks the source tree, extracts symbols and edges (calls, references, imports), and writes the SQLite database. Idempotent; always a full rebuild.
Concept-in-body search: finds symbols whose body (identifiers, literals, docstrings) contains the query terms. Returns ranked results with file:line, signature, and docstring.
Output schemas not documented. LLMs cannot predict return structure (fields, types, nesting) for any tool. Forces agents to guess or fail on downstream chaining.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Tools clearly split into read-only (locate, plan, impact, read, trace, verify) and write (apply, apply_literal, apply_edit_at_site, index), but LLMs cannot distinguish without annotations.
Parameter descriptions lack format constraints. 'file' param does not specify relative-to-projectRoot, path separators, or validation rules. 'line' param lacks min/max bounds. 'query' param has no length or character restrictions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Impact-aware edit planner: given a symbol name, returns the definition site and all call sites that would be affected by editing it. Includes full code context (file:line, signature, docstring).
Read code context: fetches the source code for a symbol or file range with line numbers and surrounding context. Deduplicates repeated reads of the same range.
Trace call chains: given a symbol, returns the full call chain from entry points (tests, exports) down to that symbol, showing the path and intermediate calls.
Run affected tests: executes the test suite for files changed in the working tree (or specified files), using the configured test runner (jest/vitest). Returns pass/fail verdict and failure details.
No error handling guidance. Tools do not document what errors are possible (file not found, symbol not found, edit anchor mismatch, test failure) or how LLMs should recover. No actionable error messages visible.
No pagination or result-limit guidance. Tools like codegraph_locate and codegraph_trace may return large result sets. No mention of limits, pagination parameters, or how to handle truncation.