SocratiCode — MCP server for local codebase indexing, semantic search, and code dependency graphs. All private, all local via Docker.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio
verified
reported
listed in the official MCP registry counts 25 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
codebase_about
-
codebase_context
-
codebase_context_index
-
codebase_context_remove
-
codebase_context_search
-
codebase_flow
-
codebase_graph_build
-
codebase_graph_circular
-
codebase_graph_query
-
codebase_graph_remove
-
codebase_graph_stats
-
codebase_graph_status
-
codebase_graph_visualize
-
codebase_health
-
codebase_impact
-
codebase_index
-
codebase_list_projects
-
codebase_remove
-
codebase_search
-
codebase_status
-
codebase_stop
-
codebase_symbol
-
codebase_symbols
-
codebase_update
-
codebase_watch
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed v1.12.0 · analyzer v33 · 1w ago
skills & prompt files 2
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 92
filesystem 17
- fs package/dist/config.js :5
import fs from "node:fs"; - fs package/dist/index.js :39
import { writeSync } from "node:fs"; - fs package/dist/services/code-graph.js :3
import fs from "node:fs/promises"; - fs package/dist/services/context-artifacts.js :18
import fsp from "node:fs/promises"; - fs package/dist/services/extensionless.js :10
import { constants as fsConstants } from "node:fs"; - fs package/dist/services/graph-aliases.js :3
import fs from "node:fs/promises"; - fs package/dist/services/graph-resolution.js :3
import { readdirSync, readFileSync, statSync } from "node:fs"; - fs package/dist/services/graph-visualize-browser.js :15
import fs from "node:fs/promises"; - fs package/dist/services/graph-visualize-html.js :27
import fs from "node:fs/promises"; - fs package/dist/services/ignore.js :3
import fs from "node:fs"; - fs package/dist/services/indexer.js :4
import fsp from "node:fs/promises"; - fs package/dist/services/lock.js :4
import fs from "node:fs"; - fs package/dist/services/logger.js :13
import { appendFileSync } from "node:fs"; - fs package/dist/services/qdrant-client-compat.js :3
import { readFileSync } from "node:fs"; - fs package/dist/services/startup.js :9
import fs from "node:fs"; - fs package/dist/services/symbol-graph-incremental.js :19
import { promises as fs } from "node:fs"; - fs package/dist/services/watcher.js :3
import fsp from "node:fs/promises";
shell / exec 4
- shell package/dist/config.js :3
import { execFileSync } from "node:child_process"; - shell package/dist/services/docker.js :3
import { execFile } from "node:child_process"; - shell package/dist/services/graph-visualize-html.js :209
// would interpret `$&`, `$'`, `` $` ``, and `$$` in the replacement, which - shell package/dist/services/lock.js :3
import { execSync } from "node:child_process";
network 3
- net package/dist/services/docker.js :314
* `init` is forwarded to fetch(), allowing callers to attach headers (e.g. an - net package/dist/services/provider-ollama.js :104
const resp = await fetch("http://localhost:11434/api/tags", { signal: controller.signal }); - net package/dist/services/qdrant-client-compat.js :11
* hands to Node's built-in fetch. Node 26's built-in fetch (undici 8)
secrets 6
- secrets package/dist/constants.js :17
export const QDRANT_API_KEY = process.env.QDRANT_API_KEY || undefined; - secrets package/dist/services/embedding-config.js :147
if (!process.env.LITELLM_API_KEY) { - secrets package/dist/services/provider-google.js :35
const apiKey = process.env.GOOGLE_API_KEY; - secrets package/dist/services/provider-litellm.js :74
const apiKey = process.env.LITELLM_API_KEY; - secrets package/dist/services/provider-lmstudio.js :56
apiKey: process.env.LMSTUDIO_API_KEY || "lm-studio", - secrets package/dist/services/provider-openai.js :37
const apiKey = process.env.OPENAI_API_KEY;
tool registrations 25
- codebase_index package/dist/index.js :68
- codebase_update package/dist/index.js :80
- codebase_remove package/dist/index.js :92
- codebase_stop package/dist/index.js :97
- codebase_watch package/dist/index.js :105
- codebase_search package/dist/index.js :115
- codebase_status package/dist/index.js :148
- codebase_graph_build package/dist/index.js :157
- codebase_graph_query package/dist/index.js :169
- codebase_graph_stats package/dist/index.js :178
- codebase_graph_circular package/dist/index.js :186
- codebase_graph_visualize package/dist/index.js :194
- codebase_graph_remove package/dist/index.js :214
- codebase_graph_status package/dist/index.js :219
- codebase_impact package/dist/index.js :228
- codebase_flow package/dist/index.js :235
- codebase_symbol package/dist/index.js :243
- codebase_symbols package/dist/index.js :250
- codebase_context package/dist/index.js :259
- codebase_context_search package/dist/index.js :267
- codebase_context_index package/dist/index.js :292
- codebase_context_remove package/dist/index.js :300
- codebase_health package/dist/index.js :306
- codebase_list_projects package/dist/index.js :309
- codebase_about package/dist/index.js :312
install hooks 1
- prepublishOnly package/package.json :18
tsc && node scripts/copy-assets.mjs
declared dependencies 36
- @modelcontextprotocol/sdk@^1.26.0
- @ast-grep/lang-bash@^0.0.7
- @ast-grep/lang-c@^0.0.5
- @ast-grep/lang-cpp@^0.0.5
- @ast-grep/lang-csharp@^0.0.5
- @ast-grep/lang-dart@^0.0.7
- @ast-grep/lang-go@^0.0.5
- @ast-grep/lang-java@^0.0.6
- @ast-grep/lang-kotlin@^0.0.6
- @ast-grep/lang-lua@^0.0.7
- @ast-grep/lang-php@^0.0.6
- @ast-grep/lang-python@^0.0.5
- @ast-grep/lang-ruby@^0.0.6
- @ast-grep/lang-rust@^0.0.6
- @ast-grep/lang-scala@^0.0.6
- @ast-grep/lang-swift@^0.0.7
- @ast-grep/napi@^0.40.5
- @google/generative-ai@^0.24.1
- @parcel/watcher@^2.5.6
- @qdrant/js-client-rest@^1.17.0
- glob@^11.0.1
- ignore@^7.0.3
- ollama@^0.5.14
- open@^10.2.0
- openai@^6.22.0
- proper-lockfile@^4.1.2
- zod@^3.24.2
- @biomejs/biome@^2.4.4
- @release-it/conventional-changelog@^11.0.0
- @types/node@^22.13.4
- @types/proper-lockfile@^4.1.4
- @vitest/coverage-v8@^4.0.18
- release-it@^20.0.1
- tsx@^4.19.4
- typescript@^5.7.3
- vitest@^4.0.18