A code search and analysis system combining semantic search (CocoIndex) with structural code graph analysis (CodeGraphContext). Provides hybrid search with vector embeddings, BM25 full-text search, cross-encoder reranking, and call graph analysis.
Six tools with READ_ONLY operations, but critical gaps in schema visibility and parameter documentation. Tool names are action-oriented (search, callers, callees, imports, impact, raw), but input schemas are minimally documented. The 'search' tool has a reasonable description (hybrid semantic + BM25), but others lack depth. Parameter descriptions exist but are terse (e.g., 'Function name to find callers for'). No output schemas are documented in the source. Error handling and recovery guidance are absent. The 'raw' tool exposes raw Cypher queries, which is a security and usability risk without validation or guidance.
Structural code graph query: returns functions called by a specified function
Structural code graph query: returns functions that call a specified function
Structural code graph query: returns change impact analysis up to 3 levels of call depth for a specified function
Structural code graph query: returns modules imported by a specified file
Execute raw Cypher query against the structural code graph and return JSON results
Hybrid semantic + BM25 search with cross-encoder reranking. Accepts natural language queries or HyDE (Hypothetical Document Embeddings) snippets. Returns ranked code chunks with expanded context windows.
Output schemas completely undocumented. No visibility into what search(), callers(), callees(), imports(), impact(), or raw() return. LLMs cannot plan downstream operations or extract required fields.
Parameter descriptions are terse and lack format/constraint guidance. 'Function name to find callers for' does not explain expected format, whether it accepts qualified names, or what happens if the function is not found.
raw tool accepts arbitrary Cypher queries with no validation, sanitization, or guidance. Exposes graph structure to injection attacks and allows LLMs to construct malformed queries without error recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No error handling or recovery guidance documented. Tools do not indicate what errors are retryable, what user-fixable errors look like, or how to recover from missing functions/files.
search tool description mentions HyDE but does not explain what HyDE is, when to use it, or how to format hypothetical snippets. Dependency on external Claude Code preprocessing is undocumented.