Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OLLAMA_URLNoURL of Ollama server
QDRANT_URLNoFull URL for remote/cloud Qdrant (required when QDRANT_MODE=external)
QDRANT_MODENomanaged (default) or external (user-provided Qdrant)
GOOGLE_API_KEYNoAPI key for Google embeddings (required when EMBEDDING_PROVIDER=google)
OPENAI_API_KEYNoAPI key for OpenAI embeddings (required when EMBEDDING_PROVIDER=openai)
QDRANT_API_KEYNoAPI key for remote Qdrant
EMBEDDING_MODELNoEmbedding model name
EMBEDDING_PROVIDERNoEmbedding provider: ollama (default), openai, or google
EMBEDDING_DIMENSIONSNoEmbedding 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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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_updateA

Incrementally update an existing codebase index. Only re-indexes changed files. Runs synchronously. Use it to refresh a manual/off snapshot, working-tree edits before the next Git transition in git mode, 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_watchA

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 and git reject file-watcher starts. In git mode, status reports Git refresh state and stop does not disable Git checks.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 26 tools

Disambiguation4/5

Most tools target clearly distinct operations across indexing, graph, symbol, and context subdomains, and descriptions explicitly disambiguate near-pairs like codebase_index vs codebase_update and codebase_status vs codebase_graph_status. The main soft spots are codebase_symbol vs codebase_symbols (singular-plural distinction) and the three parallel '_remove' tools, which a hurried agent could misselect.

Naming Consistency5/5

Every tool uses a uniform snake_case 'codebase_<subdomain>_<action>' pattern with consistent subdomain prefixes (codebase_graph_*, codebase_context_*). The convention is predictable and readable throughout, with no mixing of styles.

Tool Count3/5

26 tools sits at the heavy end and only just clears the 25+ threshold, with notably deep sub-surfaces (7 graph tools, 4 context tools, 4 indexing tools). Each tool does something plausible, but the set is large enough that consolidation could reduce overhead.

Completeness5/5

The surface provides near-full lifecycle coverage per subdomain: index/update/stop/remove/watch for indexing, build/query/stats/circular/visualize/remove/status for graph, list/index/search/remove for context, plus symbol/impact/flow analysis and health checks. No obvious dead ends for the stated code-intelligence purpose.

Maintenance

ActivityActive
ResponsivenessResponsive