Persistent incremental knowledge graph for token-efficient, context-aware code reviews. Parses your codebase with Tree-sitter, builds a structural graph, and provides smart impact analysis.
Server has 14 tools with mostly complete schemas and descriptions. Naming follows verb_noun convention (build_or_update, get_impact_radius, query_graph, etc.). Descriptions average ~150 chars, meeting the 10-1024 baseline. All parameters have type definitions and descriptions. However, output schemas are not documented, LLMs cannot predict return structure. Error handling is absent; no recovery guidance or categorization. No tool annotations (readOnlyHint/destructiveHint). Some descriptions lack actionable detail (e.g., memory_recent_changes_tool has only 'Show recent changes', 24 chars, below 50-char minimum for clarity). Parameter relationships undocumented (e.g., base parameter behavior across tools). No pagination guidance for list-returning tools.
Build or incrementally update the code knowledge graph. Call this first to initialize the graph, or after making changes. By default performs an incremental update (only changed files). Set full_rebuild=True to re-parse every file.
Compute vector embeddings for all graph nodes to enable semantic search. Requires: pip install code-review-graph[embeddings] Uses the all-MiniLM-L6-v2 model (fast, 384-dim vectors). Only computes embeddings for nodes that don't already have them. After running this, semantic_search_nodes_tool will use vector similarity instead of keyword matching for much better results.
Find functions, classes, or files exceeding a line-count threshold. Useful for decomposition audits, code quality checks, and enforcing size limits during code review. Results are ordered by line count.
Get a specific section from the LLM-optimized documentation reference. Returns only the requested section content for minimal token usage. Use this before answering any user question about the plugin. Available sections: usage, review-delta, review-pr, commands, legal, watch, embeddings, languages, troubleshooting.
Analyze the blast radius of changed files in the codebase. Shows which functions, classes, and files are impacted by changes. Auto-detects changed files from git if not specified.
Output schemas not documented. LLMs cannot predict return structure, field names, or types. Breaks downstream tool chaining and forces agents to guess at response format.
No error handling or recovery guidance. Tools do not categorize errors as retryable, user-fixable, or fatal. No actionable error messages (e.g., 'Graph not found. Run build_or_update_graph_tool first.').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Generate a focused, token-efficient review context for code changes. Combines impact analysis with source snippets and review guidance. Use this for comprehensive code reviews.
Get aggregate statistics about the code knowledge graph. Shows total nodes, edges, languages, files, and last update time. Useful for checking if the graph is built and up to date.
Explain a named feature or module using stored repo memory. Looks up the matching .agent-memory/ artifact and returns its full content — purpose, files, tests, responsibilities, and warnings. Generates on-the-fly if memory init has not been run yet.
Scan the repository and generate durable .agent-memory/ artifacts. Produces feature docs, module docs, and metadata (manifest, sources, confidence scores). Safe to call repeatedly — unchanged files are skipped. Run this once per repo before using other memory tools.
Build a focused context pack for a developer task. Given a natural-language task description, returns the relevant features, modules, files, tests, warnings, and a concise summary — ready to inject into a fresh Claude Code session without re-explaining the codebase. Examples: "add oauth provider" "debug the login token refresh bug" "add invoice export endpoint"
Show recent changes for a feature, module, or file path.
Regenerate .agent-memory/ artifacts.
Run a predefined graph query to explore code relationships. Available patterns: - callers_of: Find functions that call the target - callees_of: Find functions called by the target - imports_of: Find what the target imports - importers_of: Find files that import the target - children_of: Find nodes contained in a file or class - tests_for: Find tests for the target - inheritors_of: Find classes inheriting from the target - file_summary: Get all nodes in a file
Search for code entities by name, keyword, or semantic similarity. Uses vector embeddings for semantic search when available (run embed_graph_tool first, requires sentence-transformers). Falls back to keyword matching otherwise.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe read-only tools from destructive ones. build_or_update_graph_tool and memory_refresh_tool are WRITE operations but unmarked.
Minimal descriptions for memory_recent_changes_tool (24 chars) and memory_refresh_tool (40 chars). Below 50-char minimum for LLM clarity. Ambiguous when to call vs alternatives.
Parameter relationships undocumented. 'base' parameter appears in multiple tools with different semantics (git ref for diff vs change detection). No guidance on mutual exclusivity or dependencies (e.g., changed_files vs auto-detection).