SocratiCode
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_URL | No | URL of Ollama server | |
| QDRANT_URL | No | Full URL for remote/cloud Qdrant (required when QDRANT_MODE=external) | |
| QDRANT_MODE | No | managed (default) or external (user-provided Qdrant) | |
| GOOGLE_API_KEY | No | API key for Google embeddings (required when EMBEDDING_PROVIDER=google) | |
| OPENAI_API_KEY | No | API key for OpenAI embeddings (required when EMBEDDING_PROVIDER=openai) | |
| QDRANT_API_KEY | No | API key for remote Qdrant | |
| EMBEDDING_MODEL | No | Embedding model name | |
| EMBEDDING_PROVIDER | No | Embedding provider: ollama (default), openai, or google | |
| EMBEDDING_DIMENSIONS | No | Embedding vector dimensions |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| codebase_indexA | Start indexing a codebase in the background. Returns immediately. Call codebase_status to poll progress until 100%. Do NOT search until indexing is complete. If already indexing, returns current progress. |
| codebase_updateB | Incrementally update an existing codebase index. Only re-indexes changed files. Runs synchronously. Use it to refresh a manual/off snapshot, or whenever an immediate catch-up is needed. |
| codebase_removeA | Remove a project's codebase index entirely from the vector database. Safely stops the file watcher, cancels any in-progress indexing/update (with drain), and waits for any in-flight graph build before deleting. |
| codebase_pruneA | Inventory stored project identities and their resources. Report-only by default. Applying requires an exact identity, the confirmation token from a fresh inventory, and an acknowledgement that no other host is writing to it; path absence on this host is advisory, not proof of abandonment. |
| codebase_stopA | Gracefully stop an in-progress indexing operation. The current batch will finish and checkpoint, preserving all progress. Re-run codebase_index to resume from where it left off. |
| codebase_watchB | Start/stop watching a project directory for file changes and automatically update the index. When starting, first runs an incremental update to catch up, then watches for changes. SOCRATICODE_WATCHER=manual allows explicit starts only; off rejects starts. |
| codebase_searchA | Semantic search across an indexed codebase. Only use after codebase_index is complete (check codebase_status first). Returns relevant code chunks matching a natural language query. |
| codebase_statusA | Check index status: chunk count, indexing progress (%), last completed operation, file watcher state. Call after codebase_index to poll until 100% complete. |
| codebase_graph_buildA | Build a dependency graph of the codebase using static analysis (ast-grep). Maps import/require/export relationships between files. Runs in the background — call codebase_graph_status to poll progress until complete. |
| codebase_graph_queryB | Query the code dependency graph for a specific file. Returns what the file imports and what files depend on it. |
| codebase_graph_statsA | Get statistics about the code dependency graph: total files, edges, most connected files, orphan files, circular dependencies. |
| codebase_graph_circularB | Find circular dependencies in the codebase. |
| codebase_graph_visualizeA | Visualise the code dependency graph. Two modes: • mode="mermaid" (default) — returns a Mermaid diagram (text) colour-coded by language, circular deps highlighted. Best for inline rendering inside chat, GitHub, or editors that render Mermaid. • mode="interactive" — writes a self-contained HTML page (vendored Cytoscape.js + Dagre, works offline) and opens it in the user's default browser. Shows the file graph and, when a symbol graph is available and fits, a Symbols toggle with the symbol-level call graph. Interactions: click node for sidebar with imports/dependents/symbols list; right-click node to highlight its blast radius (reverse-transitive closure); live search; layout switcher (Dagre / force / concentric / breadth-first / grid / circle); PNG export. Use this when the user asks for a visual/interactive view, wants to explore visually, or needs a shareable diagram. |
| codebase_graph_removeA | Remove a project's persisted code graph. Waits for any in-flight graph build to finish first. The graph can be rebuilt with codebase_graph_build or will be rebuilt automatically on the next codebase_index. |
| codebase_graph_statusA | Check the status of the code dependency graph: build progress (if building), node/edge count, when it was last built, whether it's cached in memory. Use this to poll progress after calling codebase_graph_build. |
| codebase_impactA | Impact Analysis — return the BLAST RADIUS for a file or symbol. Lists every file (and, where helpful, function) that could break if you change the target. Polymorphic on target: a path-like string ('src/foo.ts') triggers file-mode; a name-like string ('validateUser') triggers symbol-mode. Use this BEFORE refactoring, renaming, or deleting code to know what depends on it. |
| codebase_flowA | Trace the EXECUTION FLOW forward from an entry point — what does this code call into? With NO args, returns a ranked list of auto-detected entry points (orphans with outgoing calls, conventional names like main(), framework routes, tests). With an entrypoint argument, returns the call tree. |
| codebase_symbolA | 360° view of a symbol: definition, kind, callers, callees, confidence levels. Use to understand a function or class before changing it. |
| codebase_symbolsA | List symbols in a file, or search by name across the project. Use to discover what exists before drilling into a single symbol with codebase_symbol. |
| codebase_contextA | List all context artifacts defined in .socraticodecontextartifacts.json — database schemas, API specs, infra configs, architecture docs, etc. Shows each artifact's name, description, path, and index status. Use this to discover what project knowledge is available beyond source code. |
| codebase_context_searchB | Semantic search across context artifacts (database schemas, API specs, infra configs, etc.) defined in .socraticodecontextartifacts.json. Auto-indexes on first use and auto-detects stale artifacts. Use this to find relevant infrastructure or domain knowledge. |
| codebase_context_indexA | Index or re-index all context artifacts defined in .socraticodecontextartifacts.json. Chunks and embeds artifact content into the vector database for semantic search. Usually not needed — codebase_context_search auto-indexes on first use. |
| codebase_context_removeA | Remove all indexed context artifacts for a project from the vector database. Blocked while indexing is in progress — use codebase_stop or wait for the operation to finish first. |
| codebase_healthA | Check the health of all infrastructure: Docker, Qdrant container, Ollama, and embedding model. Use this to diagnose setup issues. |
| codebase_list_projectsA | List all projects that have been indexed (have collections in Qdrant). |
| codebase_aboutA | Display information about SocratiCode — what it is, its tools and how to use it. Use this to get a quick overview of the MCP tools and their purpose. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Every tool has a clearly distinct purpose: indexing, status, search, context artifacts, dependency graph operations, impact analysis, flow tracing, symbol exploration, pruning, and health checks. Even closely related tools like codebase_context, codebase_context_search, and codebase_context_index are unambiguously separated by action.
All tools follow the codebase_ prefix with a consistent verb or verb_noun pattern (index, status, search, graph_build, context_search, list_projects). The naming is predictable and uniform, making it easy to guess tool names.
26 tools is above the typical 3-15 range, but the server's scope is a comprehensive codebase analysis suite covering indexing, searching, dependency graphs, impact analysis, and context artifacts. Each tool earns its place, though the count is on the heavier side.
The surface covers the full lifecycle: indexing (index, update, remove, stop, watch), status checks, semantic search, context artifact management (list, search, index, remove), dependency graph operations (build, query, stats, circular, visualize, remove), and advanced analyses (impact, flow, symbol). No obvious gaps for the stated purpose.