KotaDB MCP
KotaDB indexes a repository locally and tells Claude Code what breaks when a file changes: dependencies and semantic search.
- 100 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The server reads all repository files and builds an index on disk.
Install
- Works in
Manual install
{"mcpServers":{"kotadb":{"command":"bunx","args":["kotadb@next","--stdio"]}}}Configuration from the README for `~/.claude/mcp.json`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server reads all repository files and builds an index on disk.
This is third-party code. Review the repository files before installing.
What it does
KotaDB helps Claude Code understand the structure of a codebase. A repository is indexed once, and then the agent asks questions like what breaks if this file changes and gets dependency-aware answers. The index and queries stay on your computer. The MCP server starts through `bunx kotadb@next --stdio` and indexes code itself on first use. Tools: `search_dependencies` shows who depends on a file, `analyze_change_impact` estimates refactoring consequences, `search_code` searches by meaning and `list_recent_files` shows recently indexed files. The project is built on Bun, TypeScript and SQLite.
Who it is for. Developers using Claude Code in a large repository who want to know the consequences of an edit before making it.
Good fit when
- Before refactoring you need to know which files import the module being changed.
- Code about authorization has to be found by meaning even when the words differ.
- An estimate of how an edit affects neighboring files is needed.
- Code must not leave the machine, so the index stays local.
Not a fit when
- The project has few files and ordinary search is enough.
- Bun version 1.1 or newer cannot be installed.
- You need an index shared by the whole team in the cloud.
Example request
Which files depend on src/index.ts and what breaks if I rename the exported function?MCP
- Transport
- stdio
- Authentication
- not required
Limitations
Bun version 1.1 or newer is required. The config pins the `kotadb@next` package, which is a preview build, so behavior and the toolset may change. The index is built from the repository source files and kept in a SQLite database on your computer, so restrict access to the data directory for sensitive code. Impact estimates rely on discovered dependencies and may miss links created dynamically.
How to disable. Remove the `kotadb` entry from `~/.claude/mcp.json` and delete the index directory. The server does not change project files.
FAQ
How do I connect it to Claude Code?
Add a server to `~/.claude/mcp.json` with the `bunx` command and the `kotadb@next --stdio` arguments.
Is manual indexing needed?
No, code is indexed automatically on first use.
Which tools exist?
`search_dependencies`, `analyze_change_impact`, `search_code` and `list_recent_files`.
Does code go to the cloud?
No, work is local and the index sits in SQLite on your computer.
What is needed to run it?
Bun version 1.1 or newer.
Discussion
No questions or reviews yet.
Related
MCP serversA local codebase index for agents: hybrid search, dependency graphs and change impact analysis
An MCP server that builds a code graph of functions, classes, calls and routes and answers the agent's structural queries locally
A server that indexes Git repositories and documents and gives an assistant search over MCP: BM25, semantic, grep, visual
An MCP server that indexes a local repository with tree-sitter and gives the agent code search, file lookup and a structure summary of a file
A local semantic code index: the agent searches by meaning, then follows hits into definitions, callers and dependency paths
CKB, the Code Knowledge Backend, turns a codebase into a queryable knowledge base: symbols, impact, owners, dead code and risks.
README in short
The description promises quick code answers after five minutes of setup and shows the MCP configuration. A table links typical questions to tools, and then it explains why stdio was chosen.