Server data from the Official MCP Registry
SQLite-backed hybrid (vector + FTS) code search index for Claude Code over MCP.
SQLite-backed hybrid (vector + FTS) code search index for Claude Code over MCP.
This is a well-structured MCP server for code indexing with appropriate security controls. The codebase is clean with proper input validation, safe database usage, and no credential handling issues. Permissions align with its purpose as a developer tool. Minor quality improvements around error handling specificity and logging would strengthen it further, but no critical vulnerabilities were identified. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 4 high severity). Package verification found 1 issue.
4 files analyzed · 12 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: VOYAGE_API_KEY
Environment variable: CODE_INDEX_EMBEDDER
Environment variable: CODE_INDEX_EMBED_MODEL
Environment variable: CODE_INDEX_EMBED_DIM
Environment variable: CODE_INDEX_DB
Environment variable: OLLAMA_URL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-achreftlili-code-index": {
"env": {
"OLLAMA_URL": "your-ollama-url-here",
"CODE_INDEX_DB": "your-code-index-db-here",
"VOYAGE_API_KEY": "your-voyage-api-key-here",
"CODE_INDEX_EMBEDDER": "your-code-index-embedder-here",
"CODE_INDEX_EMBED_DIM": "your-code-index-embed-dim-here",
"CODE_INDEX_EMBED_MODEL": "your-code-index-embed-model-here"
},
"args": [
"mcp-code-index"
],
"command": "uvx"
}
}
}From the project's GitHub README.
A SQLite-backed code index for Claude Code, exposed via MCP. Replaces exploratory
Read/Grep/Glob calls with targeted retrieval.
getUserAuthToken → get user auth token).voyage-code-3 (default) or local Ollama..claude/index.db.PostToolUse hook and an optional file watcher.| Tool | Purpose |
|---|---|
init | Build or refresh the project's index. Incremental by default; force=true rebuilds from scratch. |
code_search | Hybrid (vector + FTS) search for conceptual queries (e.g., "auth flow", "where do we parse JSON"). |
symbol_lookup | Exact-name lookup of functions / classes / methods / types. Prefer over code_search for identifiers. |
file_outline | Symbols (with signatures) in a file, in source order. Use instead of Read when you only need shape. |
get_symbol_body | Full chunk for a symbol_id returned by symbol_lookup or code_search. |
callers | Symbols that CALL the given symbol. depth (1-5) expands transitively. |
callees | Symbols that the given symbol CALLS. depth (1-5) expands transitively. |
dependents | Files that import the given file. |
dependencies | Files that the given file imports. |
All tools return bounded JSON; large bodies use get_symbol_body rather than
inlining whole files.
Python with loadable SQLite extension support (required by sqlite-vec).
Python 3.13 has this enabled by default. For 3.10–3.12, use either:
PYTHON_CONFIGURE_OPTS=--enable-loadable-sqlite-extensions pyenv install 3.12.x# 1. Set your embedder API key (Voyage default; for local Ollama see Configuration)
export VOYAGE_API_KEY=...
# 2. Register the MCP server. uvx clones, builds, and runs — no global install.
claude mcp add code-index -- uvx --from git+https://github.com/achreftlili/code-index code-index-mcp
That's it. Open Claude Code in your repo and ask:
"Build the code index for this repo."
Claude calls the init MCP tool, which writes .claude/index.db. Subsequent
prompts can use code_search, symbol_lookup, callers, etc. — see
Tools above for the full surface.
pip install mcp-code-index
claude mcp add code-index -- code-index-mcp
Without the hook below, the index drifts when files change outside the agent
(mv, git checkout, IDE saves) until you call init again. With it, every
Edit / Write / MultiEdit Claude performs triggers an incremental reindex
of the touched file:
git clone https://github.com/achreftlili/code-index ~/code-index
~/code-index/scripts/install-hook.sh /path/to/your/repo # idempotent
The server speaks standard MCP over stdio, so any client that supports MCP
servers works (Cursor, Continue, Cody, Zed, etc.). Configure the client to
launch code-index-mcp (after pip install) or the uvx --from git+…
command above. Once connected, call the init tool from inside the client
to bootstrap the index.
git clone https://github.com/achreftlili/code-index
cd code-index
pip install -e .
code-index init # CLI alternative to the `init` MCP tool
code-index-mcp # starts the MCP server on stdio (for manual wiring)
Environment variables:
| Var | Default | Notes |
|---|---|---|
CODE_INDEX_DB | .claude/index.db | SQLite path. |
CODE_INDEX_EMBEDDER | voyage | voyage or ollama. |
CODE_INDEX_EMBED_MODEL | voyage-code-3 | Model name. |
CODE_INDEX_EMBED_DIM | 1024 | Must match the model. |
VOYAGE_API_KEY | — | Required when CODE_INDEX_EMBEDDER=voyage. |
OLLAMA_URL | http://localhost:11434 | Ollama server. |
src/code_index/
db.py SQLite schema, connection, sqlite-vec loading
parser.py Tree-sitter wrapper, symbol + edge extraction
chunker.py Per-symbol chunks, identifier expansion
embedder.py Voyage / Ollama backends
indexer.py Pipeline: walk → parse → chunk → embed → write
retriever.py Hybrid search (vector + FTS5) with RRF
watcher.py File watcher (watchdog)
mcp_server.py 8 MCP tools
cli.py init / reindex / watch / stats
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.