Semantic codebase navigator for AI agents. Provides structural AST tree, blast radius analysis, semantic search, commit validation, and RAG-based memory graph for large-scale codebases.
Context+ MCP demonstrates competent tool design with clear semantic capabilities and excellent descriptions, but falls short of production grade due to missing output schemas, lack of tool annotations, and incomplete error handling patterns. All input parameters have types and descriptions, which is strong. However, the server is STDIO-only (hard cap at 50), bringing overall protocol readiness down significantly. Tools like `propose_commit` and `undo_change` lack confirmation patterns despite being irreversible operations.
Bulk-add multiple nodes to the memory graph with automatic similarity-based linking. Nodes are auto-embedded and linked if cosine similarity >= 0.72.
Create a typed edge between two memory nodes in the graph. Enables graph traversal and multi-hop reasoning.
Before modifying code, trace every file and line where a symbol is imported or used across the entire codebase. Prevents orphaned references and unintended side effects.
Get the structural tree of the project with file headers, function names, classes, enums, and line ranges. Automatically reads 2-line headers for file purpose. Dynamic token-aware pruning: Level 2 (deep symbols) -> Level 1 (headers only) -> Level 0 (file names only) based on project size.
Obsidian-style feature hub navigator. Hubs are .md files with [[wikilinks]] that map features to code files. Shows cross-links and orphaned files.
Get detailed function signatures, class methods, variable declarations with line ranges, without reading the full body. Shows parameter types and return types.
No output schemas documented. While input schemas are complete with types and descriptions, the source code provides no evidence of documented return types or output field structures. LLMs cannot infer what fields to expect from responses, forcing them to parse unstructured output or make incorrect assumptions about chaining data.
Irreversible operations lack confirmation/dry-run patterns. Tools `propose_commit`, `undo_change`, `prune_stale_links`, `upsert_memory_node`, `create_relation`, and `add_interlinked_context` perform write operations without dry-run support or explicit user confirmation steps. Agents make mistakes, without a confirmation pattern, a misunderstanding could cause data loss (e.g. pruning the wrong nodes, proposing destructive code changes).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 71 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 37 | 1.12.1+ | v1 |
List all shadow restore points created by propose_commit. Each capture file state before AI changes, enabling undo without touching git history.
The only way to write code. Validates against strict rules (2-line header, no inline comments, max nesting, file length) before saving. Creates a shadow restore point before writing.
Remove decayed edges (exponential decay: e^(-λt)) and orphan nodes from the memory graph. Keeps the graph fresh and relevant.
Start from a specific memory node, walk outward to neighbors, and return scored results by decay and depth. Useful for multi-hop reasoning.
Run the native linter or compiler to find unused variables, dead code, type errors, and style violations. Supports TypeScript, Python, Rust, Go, and other languages with native tooling.
Semantic search and graph traversal across memory nodes. Returns direct matches and ranked 1st/2nd-degree neighbors with relevance scoring.
Search the codebase by semantic meaning, not exact text. Uses embeddings over file headers and symbol signatures. Returns matched files with definition lines and similarity scores.
Search semantic intent at identifier level (functions, methods, classes, variables) with definition lines and ranked call sites. Uses embeddings over symbol signatures and source context, then returns line-numbered definition/call chains.
Browse codebase by semantic meaning using spectral clustering. Groups semantically related files into labeled clusters for navigation without directory structure.
Restore files to their state before a specific AI change. Uses shadow restore points. Does not affect git history.
Create or update a memory node in the semantic knowledge graph. Nodes are auto-embedded and indexed for RAG-based retrieval.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. The MCP spec now requires tools to declare their effects explicitly. Discovery tools like `get_context_tree` should be marked readOnly; `propose_commit` and `undo_change` should be marked destructive; tools like `create_relation` should be marked idempotent if appropriate. Without annotations, agents cannot reason safely about side effects.
Error handling lacks recovery guidance. No evidence in source of error responses that tell LLMs what to do next (retryable vs fatal vs user-fixable classification). For example, if `semantic_code_search` fails due to model unavailability, the error should suggest 'Retry or contact admin.' If `propose_commit` fails due to validation, it should return the exact constraint violated.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients (browsers, cloud services).