Codebase context engine for VS Code's native MCP host. Hybrid search, dependency and call graphs, symbol-level impact analysis, interactive graph explorer, and searchable architecture artefacts.
SocratiCode presents a well-scoped codebase indexing and analysis system with 27 tools covering search, graph analysis, impact tracing, and project management. The tool names follow a consistent verb_noun pattern (codebase_*), making intent clear. Descriptions are present for all tools and are substantive (average ~150 chars), explaining what each tool does and when to use it. However, several critical gaps limit this to a Fair (C) grade: (1) Input schemas are inferred rather than explicitly visible in source code, parameter types and descriptions exist but the actual JSON Schema definitions are not shown in the provided code sample, forcing a conservative deduction. (2) Output schemas are not documented anywhere, agents cannot predict what fields to expect from search results, graph queries, or status responses. (3) Parameter constraints are often missing: 'limit' fields have no min/max bounds, 'depth' fields lack guidance (1-3 is mentioned for visualize but not for impact/flow), 'pattern' fields reference 'regex or glob' without clarity on format. (4) Error handling guidance is absent, tools do not explain what to do if a project path is invalid, indexing fails, or a symbol is not found. (5) No distinction between destructive and reversible operations is made in descriptions, only in the Risk metadata. (6) Several tools accept 'projectPath' with a generic description ('Defaults to current working directory') but do not specify how unresolved or relative paths are handled.
Get information about SocratiCode: version, infrastructure status, quick reference for all tools
List all context artifacts configured for a project: from config + their index status
Index or re-index all context artifacts configured for a project
Remove all indexed context artifacts for a project
Search across indexed context artifacts with automatic staleness checking and re-indexing
Detect entry points in a project: functions likely to be called from outside
Get call flow for a symbol: all symbols it calls or that call it
Build AST-based dependency graph for a project in the background
Output schemas not documented. Tools like codebase_search, codebase_graph_stats, and codebase_impact do not document what fields agents should expect in the response. Agents cannot plan downstream tool calls or extract required IDs for chaining.
Input schemas not explicitly shown in source. Parameter types and descriptions are listed in the scoring data but actual JSON Schema definitions are not visible in provided code samples. Conservative scoring applied; recommend verifying full schema definitions in src/tools/*.ts files.
Missing numeric bounds for critical parameters. 'limit' (default 10, query/search), 'depth' (default 3, impact/flow), and 'minScore' (0-1 range hinted but not enforced) lack explicit min/max constraints. Agents could request 0 results, negative depth, or scores outside 0-1.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | C | 62 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 54 | - | v1 |
Find all circular dependency chains in the code graph
Get imports and dependents for a specific file from the code graph
Delete a project's code graph from storage
Get code graph statistics: files, edges, average dependencies, circular deps, language breakdown, most connected files, orphans
Check the progress of an in-progress graph build or get status of existing graph
Generate a Mermaid diagram or interactive HTML visualization of the code graph
Perform infrastructure health check: Docker, Qdrant, Ollama, embedding models
Get symbol-level impact radius: all symbols impacted by changes to a given file/symbol
Index a project: full semantic + keyword indexing of codebase for search
List all indexed projects and their metadata
Inventory stored project identities and optionally delete one with its confirmation token
Delete a project's index from storage
Hybrid semantic + keyword (BM25) search across indexed codebase
Check index status, indexing progress, file watcher state, and graph build status for a project
Gracefully stop in-progress indexing or graph building for a project
Get symbol context: definition, type, containing file, and all references to a symbol
List all symbols in a file or matching a pattern
Incremental re-index of a project: only re-indexes changed files
Start, stop, or check status of the live file watcher for a project
Destructive operations lack confirmation or dry-run support. codebase_context_remove, codebase_graph_remove, codebase_remove, and codebase_prune are irreversible but offer no confirmation step or preview. Agents cannot audit impact before execution.
No error recovery guidance. Tools do not document what errors are retryable (e.g. indexing timeout), what requires user action (e.g. missing project path), or what is fatal. Agents cannot determine next steps on failure.
Path handling ambiguous. All tools accept 'projectPath' with description 'Defaults to current working directory' but do not specify: (1) whether relative paths are resolved from CWD or server root, (2) how symlinks are handled, (3) whether trailing slashes matter, (4) what happens if path does not exist. This invites path injection or resolution failures.
Missing tool-chaining metadata. Tools returning file/symbol references do not document if IDs returned by one tool are valid inputs to another. E.g. does codebase_symbols return symbol IDs that codebase_symbol accepts? Does codebase_search return file paths compatible with codebase_graph_query?
Pagination not fully documented. codebase_search and codebase_context_search accept 'limit' but do not document offset/cursor parameters or how to fetch results beyond the limit. Large codebases will need pagination but agents cannot implement it.
Tool descriptions lack context about when to call each variant. E.g. codebase_graph_build vs codebase_graph_status: when should agents choose build over status? codebase_context_search vs codebase_search: what is the difference in search strategy? Descriptions assume familiarity with the architecture.