An MCP server that gives Claude Code a curated atlas of your codebase — fusing LSP precision with architectural intent from your ADRs, docs, and git history.
ContextAtlas provides three well-named, read-only tools with clear architectural intent. Tool names follow verb_noun convention (get_symbol_context, find_by_intent, impact_of_change). Descriptions are present and substantive (100-150 chars each), explaining WHAT and WHEN. However, input schemas lack critical details: parameter types are declared but descriptions are minimal (10-30 chars), violating the 72-char baseline for param annotations. Output schemas are not documented in the visible code. No error handling guidance is evident. The server targets a specialized domain (codebase analysis via LSP + ADRs) with focused, single-responsibility tools, but parameter documentation and output structure need strengthening.
Searches the codebase for symbols matching architectural intent from ADRs and documentation
Retrieves symbol context including documentation, related symbols, git history, and architectural intent from ADRs
Analyzes the impact of changes to a symbol by examining references, dependents, and related architectural decisions
Parameter descriptions are too brief (10-30 chars vs 72-char baseline). 'The unique identifier of the symbol to retrieve context for' is adequate, but 'Optional query parameter for BM25-ranking the intent block when symbolContextBM25 is enabled' buries the constraint in implementation detail rather than explaining what the LLM should pass.
Output schemas are not documented in visible source code. LLMs cannot plan downstream calls or extract chaining IDs (e.g., related symbols, file paths, git commit hashes) without knowing the response structure.
No error handling guidance visible. If a symbol is not found, or if git history is unavailable, or if ADRs cannot be parsed, the LLM receives no recovery hint. Error responses should guide the agent to alternative tools or clarify constraints.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2025-06-18+ | v2 |
The 'query' parameter in get_symbol_context is optional and conditionally used (only when symbolContextBM25 is enabled). This dependency is documented in the ServerRuntimeContext but NOT in the parameter description itself. LLMs cannot infer when to pass it.
No pagination or result-limiting parameters visible. If find_by_intent or impact_of_change return large result sets (many symbols, many dependents), context window exhaustion is likely. Baseline pattern requires limit/offset and total count.