Socraticode MCP Server

"There is only one good, knowledge, and one evil, ignorance." — Socrates

Local serverstdioAGPL-3.0-only

What is the Socraticode MCP Server?

Socraticode is an MCP project maintained in the giancarloerra/socraticode repository. The maintainer describes its purpose as “"There is only one good, knowledge, and one evil, ignorance." — Socrates”. Read the project documentation for the complete scope.

Installation

The documented npm package is --prefer-online. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
Sidebarclick a node to see imports / dependents / symbols-in-file / line numbers, with action buttons for blast radius and call flow.
Rightclick any node → highlights its reverse-transitive closure (who breaks if this changes).
Offline-safeCytoscape.js + Dagre are vendored inside the SocratiCode package. No CDN, no network, works in air-gapped environments.
codebase_indexStart indexing a codebase in the background (poll codebase_status for progress)
codebase_stopGracefully stop an in-progress indexing operation (current batch finishes and checkpoints; resume with codebase_index)
codebase_updateIncremental update — only re-indexes changed files
codebase_removeRemove a project's index (safely stops watcher, cancels in-flight indexing/update, waits for graph build)
codebase_pruneInventory every stored project identity with its collections and metadata; delete one only by exact identity, fresh confirmation token and shared-store…
codebase_watchStart/stop file watching — on start, catches up missed changes then watches for future ones
codebase_searchHybrid semantic + keyword search (dense + BM25, RRF-fused) with optional file path, language filters, and cross-project search (includeLinked)
codebase_statusCheck index status and chunk count
codebase_graph_buildBuild a polyglot dependency graph (runs in background — poll with codebase_graph_status)
codebase_graph_queryQuery imports and dependents for a specific file
codebase_graph_statsGet graph statistics (most connected files, orphans, language breakdown)
codebase_graph_circularDetect circular dependencies
codebase_graph_visualizeGenerate a Mermaid diagram (mode=mermaid, default) or an interactive HTML explorer (mode=interactive) of the dependency graph. Interactive mode writes a…
codebase_graph_statusCheck graph build progress or persisted graph metadata (advises when few captured imports resolved, so a near-empty graph is not read as a healthy one, and…
codebase_graph_removeRemove a project's persisted code graph (waits for in-flight graph build to finish first)
codebase_impactBlast radius — what files break if you change file/function X (BFS through reverse-call edges)
codebase_flowTrace forward execution flow from an entry point. Call with no args to discover entry points (orphans, main(), framework routes, tests)
codebase_symbol360° view of one symbol — its definition, callers, and callees
codebase_symbolsList symbols in a file or search by name across the project
codebase_healthCheck Docker, Qdrant, and embedding provider status
codebase_list_projectsList all indexed projects with paths and metadata
codebase_aboutDisplay info about SocratiCode
codebase_contextList all context artifacts defined in .socraticodecontextartifacts.json with names, descriptions, and index status
codebase_context_searchSemantic search across context artifacts (auto-indexes on first use, auto-detects staleness)
codebase_context_indexIndex or re-index all artifacts from .socraticodecontextartifacts.json
codebase_context_removeRemove all indexed context artifacts for a project (blocked while indexing is in progress)

How to install the Socraticode MCP Server

{
  "mcpServers": {
    "socraticode": {
      "command": "npx",
      "args": [
        "-y",
        "--prefer-online",
        "socraticode@latest"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.