code-context-mcp
Indexes codebase metadata into a SQLite database and provides tools for executing SQL queries and statements to manage and retrieve information about file dependencies, exports, and change history.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@code-context-mcp Find which files export the 'useAuth' hook"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# Requires Node.js 22 or newer. Node.js 24 LTS is recommended.
npm install vlm-code-context-mcp
# The code index (default): 6 tools
npx code-context-reindex . --db ./context.db
claude mcp add code-context -- npx code-context ./context.db
# Or the sprint process instead: setup installs code-context-sprint, /kickoff, the dashboard
npx code-context-mcp setup .
npx code-context-dashboard ./context.db # optional: live dashboard on :3333# override the watch directory (4th argument)
npx code-context-dashboard ./context.db 3333 ./kickoffsearch_files("auth middleware") → find the right file
get_file_context("src/auth.ts") → understand role, exports, dependents
Read("src/auth.ts") → only now read the actual code# Simulated (no model, no cost)
pnpm run bench
# Agent (real model, real tokens; needs ZAI_API_KEY or DEEPSEEK_API_KEY)
pnpm run bench:live --provider glm
# Publish the run to the bench-results branch (rebuilds the site)
pnpm run bench:publish# The code index (default), after npm install
claude mcp add code-context -- npx code-context ./context.db
# Or the sprint process instead (same server name, same context.db; includes the code tools)
claude mcp add code-context -- npx code-context-sprint ./context.db
# Without a local install (the index)
claude mcp add code-context -- npx -y vlm-code-context-mcp ./context.db
# Add globally (the index; dist/server/sprint.js for the sprint process)
claude mcp add --scope user code-context node /path/to/node_modules/vlm-code-context-mcp/dist/server/index.js ./context.db
# Remove
claude mcp remove code-context# Profiles (default: code, 6 tools)
CODE_CONTEXT_PROFILE=full # 97 tools: the sprint process (setup writes it)
CODE_CONTEXT_PROFILE=all # 103 tools
CODE_CONTEXT_TOOLSETS=scrum # add toolsets: code-admin, scrum, fun, stream
# Output
OVERDRIVE_FLAIR=0 # flair off (1 forces it on)
CODE_CONTEXT_TIMESTAMPS=1 # add modified/indexed timestamps
CODE_CONTEXT_ABSOLUTE_PATHS=1 # absolute paths
# Skills
CODE_CONTEXT_SKILLS_AUTOSYNC=1 # sync skills from upstream at boot# Contributors use pnpm (pnpm-lock.yaml); install once
pnpm install
# MCP server
pnpm run dev
# Dashboard (Vite dev server with HMR)
pnpm run dashboard:dev
# Tests
pnpm test # backend
pnpm run test:all # backend + frontend
# Maintainers: publish to the npm registry (runs prepublishOnly = pnpm run build)
pnpm publishAvailable Tools
6 toolsexports_inB
What does directory D export, and which exports are unused (unused: true)? Signatures and lines, complete from the import graph.
Inputs: dir (required), unused, absolute_paths.
find_symbolA
Where is symbol X defined? Lists the files that export a function, class, type or constant by that name.
Inputs: name (required), absolute_paths.
get_file_contextC
What does this file export (signatures, lines), what does it import, and who imports it?
Inputs: path (required), snippet, change_limit, absolute_paths, +1 more.
queryA
Read-only SQL on the code index: SELECT or PRAGMA table_info(t). files(id, path, language, extension, size_bytes, line_count, summary, description, external_imports, import_lines, created_at, modified_at, indexed_at); exports(id, file_id, name, kind, description, signature, line); dependencies(id, source_id, target_id, symbols): source imports target. *_id = files.id; paths are absolute. Who imports X: dependencies d JOIN files t ON t.id=d.target_id JOIN files s ON s.id=d.source_id WHERE t.path LIKE '%X'. Exports of X: exports e JOIN files f ON f.id=e.file_id. Max 50 rows, 8 KB.
Inputs: sql (required).
search_filesA
Which files have this text in their path or summary? Not file contents: grep for code. Max 25.
Inputs: query (required), absolute_paths.
who_importsA
Which files import X (file path or exported symbol)? Complete list from the import graph, with symbols, lines and re-exports. No grep needed.
Inputs: target (required), absolute_paths.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct query shape: symbol definition (find_symbol), file-level context (get_file_context), importers (who_imports), directory exports (exports_in), path/summary search (search_files), and a raw SQL escape hatch. Minor overlap exists because get_file_context already reports importers for one file while who_imports generalizes to symbols, and query can replicate any other tool's answer. Descriptions make the boundaries clear enough that misselection is unlikely.
Names mix styles: verb_noun (find_symbol, get_file_context, search_files), a question-phrase (who_imports), a prepositional form (exports_in), and a bare generic noun (query). Each name is individually readable and reflects its description, but there is no single predictable convention an agent can rely on.
Six tools is a well-scoped set for a code-index server, with no filler entries. Each tool covers a distinct navigation need and the SQL tool absorbs exotic queries instead of spawning extra bespoke tools.
Coverage of the core index domain (locate definitions, describe files, trace imports, list directory exports, search paths, raw SQL) is solid, and query fills most gaps. What's missing is reverse usage lookup beyond imports (call sites/references per symbol) and any way to read actual file contents, though the SQL surface partially compensates.
Maintenance
Related MCP Connectors
Shared context for your codebase: a hosted code knowledge graph over MCP. Free plan, OAuth sign-up.
Coding agents in multi-service codebases routinely rebuild existing helpers, trust stale type definitions, and modify API contracts without knowing who consumes them. Carrick solves this by indexing your entire TypeScript ecosystem across service and repository boundaries. By integrating deeply with the TypeScript compiler, Carrick traces every route, type, and cross-service call while recording function behaviour so agents search by intent rather than name. Delivered via MCP for AI agents and LSP for IDEs, Carrick ensures models see existing endpoints and utilities before generating new code. The scanner is source-available and runs from your CLI or CI pipeline.
Stateless TS/JS compiler facts for agents: references, imports, impact. No repo index or OAuth.
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides code intelligence by indexing source code into SQLite and offering MCP tools for symbol search, flow tracing, and context retrieval to assist with code navigation and understanding.-
- AlicenseBqualityDmaintenanceAn MCP server that indexes source code into a local database and provides tools for querying code symbols, dependencies, and tree structure for JavaScript/TypeScript, Java, and Python.7MIT
- AlicenseAqualityDmaintenanceIndexes a mono-repo into a knowledge graph and provides MCP tools to query code structure—packages, components, routes, HTTP calls—without file reads or grep round-trips.722 npmMIT
- FlicenseAqualityDmaintenanceMCP server that indexes TypeScript/React project symbols in memory, enabling agents to find definitions, references, and dependencies without reading the whole repo. Also includes a local visual dashboard with no outbound network calls.10-