Supercharge Claude Code with semantic code intelligence. A local-first code-intelligence tool that turns any codebase into a queryable knowledge graph for AI coding agents.
CodeGraph exposes 10 well-named, read-only tools with consistent verb_noun naming (codegraph_search, codegraph_context, etc.). All tools have descriptions (avg ~150 chars, within 10 - 1024 baseline). Input schemas are present with typed parameters and descriptions. However, output schemas are NOT documented in the source, LLMs cannot predict return structure. Parameter descriptions lack format constraints (e.g., 'max 10,000 characters' is stated but no enum/pattern validation shown). Error handling is minimal, no recovery guidance or categorization. No tool annotations (readOnlyHint, etc.) despite all being read-only. Missing pagination/limit guidance for tools returning lists (codegraph_search, codegraph_explore, codegraph_files). Descriptions are functional but generic; they do not explain WHEN to use each tool vs. similar ones (e.g., codegraph_explore vs. codegraph_context distinction is unclear).
Find all symbols that a given symbol calls. Returns callees with their locations and call counts.
Find all symbols that call a given symbol. Returns callers with their locations and call counts.
Get rich context for a task by combining FTS search with graph traversal. Returns entry points, code blocks, related files, and call paths in one call.
Explore related symbols and source code around a query. Returns structured source code with line numbers, relationships, and file grouping. Adaptive output budget based on project size.
List files in a directory with their symbols. Returns file paths and the symbols defined in each file.
Analyze the impact radius of changing a symbol. Returns all symbols that would be affected by a change, including transitive callers and dependents.
Output schemas not documented. LLMs cannot predict return structure (fields, types, nesting). Tools return 'matching symbols', 'call paths', 'impact radius' but exact JSON shape is invisible.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 10 tools are read-only but this is not declared in the schema, forcing LLMs to infer safety from descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Get a symbol's source code, signature, docstring, and structural outline. For container types (class, struct, interface, trait, enum, namespace, module), returns member names and signatures instead of full body.
Search for symbols by name in the knowledge graph. Returns matching symbols with their kind, location, and signature.
Get the status of the CodeGraph index. Returns index readiness, size, pending files, and schema version.
Trace the call path from one symbol to another. Returns the complete call path including dynamic-dispatch hops (callbacks, React re-render, JSX children) that grep cannot follow.
Descriptions lack differentiation. codegraph_explore and codegraph_context both claim to return 'related symbols' and 'code blocks'. LLMs cannot distinguish when to use each. Add explicit 'Use this when...' guidance.
No pagination or result-limit guidance. codegraph_search, codegraph_explore, codegraph_files may return large lists but lack maxResults, offset, or cursor parameters. Risk of context bloat.
Error handling absent. No recovery guidance (e.g., 'symbol not found, try codegraph_search'). No error categorization (retryable vs. user-fixable). LLMs cannot self-correct on failures.