MCP server de Codeix
Proporciona a los agentes de IA una búsqueda semántica de código rápida para encontrar símbolos, referencias y llamadas en bases de código utilizando un formato de índice portátil.
También conocido como montanetech/codeix
- Stars
- 9
- Herramientas
- 7
- Descargas, 30 días
- 69
- Última versión
- 0.5.0
- Último commit
- 21 feb 2026
- Licencia
- Apache-2.0
¿Qué es Codeix MCP?
Codeix es un MCP server. Proporciona a los agentes de IA una búsqueda semántica de código rápida para encontrar símbolos, referencias y llamadas en bases de código utilizando un formato de índice portátil. Expone 7 herramientas, como explore, search, get_file_symbols.
Resumen generado a partir del README del proyecto
Acerca del MCP server de Codeix
Codeix permite que los agentes de programación con IA encuentren funciones o clases específicas en bases de código extensas. En lugar de obligar a un agente a gastar tokens haciendo grep en texto sin procesar, este servidor proporciona un mapa preconstruido de tu proyecto utilizando un formato .codeindex portátil. Esto permite que los agentes localicen instantáneamente símbolos, firmas y relaciones de jerarquía en múltiples repositorios o monorepos.
Los desarrolladores utilizan esta herramienta localmente ejecutando el comando codeix para construir un índice y luego sirviéndolo a través de MCP. No requiere claves de API ni acceso a la red, lo que lo hace adecuado para entornos aislados. El servidor utiliza Rust y tree-sitter para crear datos estructurados que incluyen tipos de símbolos y rangos de líneas. Debido a que el índice es un conjunto de archivos JSONL, se puede incluir en Git, permitiendo que los miembros del equipo y los runners de CI utilicen el mismo índice preconstruido sin tener que volver a analizar el código fuente.
A través de siete herramientas específicas como get_callers y search, los agentes pueden navegar por árboles de dependencias complejos. El servidor incluso admite la búsqueda de texto para dirigirse específicamente a docstrings y comentarios, asegurando que un agente pueda encontrar un TODO o un mensaje de error sin distraerse con patrones de código coincidentes.
Qué puedes hacer con él
- 1Localizar definiciones y firmas de funcionesUn agente de IA puede encontrar el rango de líneas exacto y la firma de una función específica para entender cómo llamarla.
- 2Rastrear dependencias y referencias de códigoUn desarrollador puede pedirle a un agente que identifique cada ubicación en una base de código que llame a un método específico.
- 3Buscar en documentación y comentariosUn agente puede buscar específicamente texto dentro de docstrings o comentarios para encontrar notas de implementación o TODOs.
- 4Navegar por monorepos y dependenciasUn agente puede realizar consultas a través de diferentes paquetes en un monorepo o incluso navegar por las APIs de las dependencias instaladas.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar Codeix MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar Codeix MCP en Claude Code
$ claude mcp add codeix -- npx -y codeixInstalar Codeix MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Instalar Codeix MCP en VS Code
.vscode/mcp.json
{
"servers": {
"codeix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Instalar Codeix MCP en VS Code CLI
$ code --add-mcp '{"name":"codeix","type":"stdio","command":"npx","args":["-y","codeix"]}'Instalar Codeix MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Instalar Codeix MCP en Codex
$ codex mcp add codeix -- npx -y codeixInstalar Codeix MCP en Codex config.toml
~/.codex/config.toml
[mcp_servers.codeix] command = "npx" args = ["-y", "codeix"]
Instalar Codeix MCP en Gemini CLI
$ gemini mcp add -s user codeix npx -- -y codeixInstalar Codeix MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Herramientas de Codeix MCP 7
Detectado desde el READMEexploresearchget_file_symbolsget_childrenget_callersget_calleesflush_index
| explore | — | |
| search | — | |
| get_file_symbols | — | |
| get_children | — | |
| get_callers | — | |
| get_callees | — | |
| flush_index | — |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesiblemontanetech/codeix is public and reachablegithub.com/montanetech/codeix ↗Aprobado
- El paquete indica este repositorio como su origencodeix, codeix name montanetech/codeix as sourcenpmjs.com/package/codeix ↗Aprobado
- Procedencia de la compilación (atestación de Sigstore)Sigstore attestation for codeix, codeixnpmjs.com/package/codeix/v/0.5.0#provenance ↗Aprobado
- Licencia de código abierto (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-02-21github.com/montanetech/codeix ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularcodeix looks like @claude-flow/codexHallazgo
- No hay avisos críticos en el paquete ni en sus dependencias1 resolved dependencies checked; no critical advisoryosv.dev ↗Aprobado
- Sin instrucciones ocultas para el modelo7 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo tool named like delete, drop or execAprobado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en GitHubcodeix
codeix.dev · Fast semantic code search for AI agents — find symbols, references, and callers across any codebase.
codeix # start MCP server, watch for changes
codeix build # parse source files, write .codeindex
codeix -r ~/project build # build from a specific directory
Why
AI coding agents spend most of their token budget finding code before they can work on it. They grep, read files, grep again, backtrack. On a large codebase the agent might burn thousands of tokens just locating the right function — or worse, miss it entirely and hallucinate.
Codeix gives the agent a pre-built map of your codebase. One structured query returns the symbol name, file, line range, signature, and parent — no scanning, no guessing.
What existing tools get wrong
| Problem | What happens today |
|---|---|
| No structure | grep finds text matches, not symbols. The agent can't distinguish a function definition from a comment mentioning it. |
| Slow re-parsing | Python-based indexers re-parse everything on startup. On large codebases, you wait. |
| Not shareable | Indexes are local caches — ephemeral, per-machine. A new developer or CI runner starts from scratch. |
| No composition | Monorepo with 10 packages? Dependencies with useful APIs? No way to query across boundaries. |
| Prose is invisible | TODOs, docstrings, error messages — searchable by grep but not selectively. You can't search only comments without also matching code. |
What codeix does differently
- Committed to git — the index is a
.codeindexdirectory you commit with your code. Clone the repo, the index is already there. No re-indexing. - Shareable — library authors can ship
.codeindexin their npm/PyPI/crates.io package. Consumers get instant navigation of dependencies. - Composable — the MCP server auto-discovers dependency indexes and mounts them. Query your code and your dependencies in one place.
- Structured for LLMs — symbols have kinds, signatures, parent relationships, and line ranges. The agent gets exactly what it needs in one tool call instead of piecing it together from raw text.
- Prose search —
search --scope texttargets comments, docstrings, and string literals specifically. Find TODOs, find the error message a user reported, find what a function's docstring says — without noise from code. - Fast — builds in seconds, queries in milliseconds. Rust + tree-sitter + in-memory SQLite FTS5 under the hood.
The .codeindex format
An open, portable format for structured code indexing. Plain JSONL files you commit alongside your code — git-friendly diffs, human-readable with grep and jq, no binary blobs.
.codeindex/
index.json # manifest: version, name, languages
files.jsonl # one line per source file (path, lang, hash, line count)
symbols.jsonl # one line per symbol (functions, classes, imports, with signatures)
texts.jsonl # one line per comment, docstring, string literal
Any tool that can parse JSON can consume a .codeindex. Codeix builds it using tree-sitter, and AI agents query it through MCP (Model Context Protocol).
Example — symbols.jsonl:
{"file":"src/main.py","name":"os","kind":"import","line":[1,1]}
{"file":"src/main.py","name":"Config","kind":"class","line":[22,45]}
{"file":"src/main.py","name":"Config.__init__","kind":"method","line":[23,30],"parent":"Config","sig":"def __init__(self, path: str, debug: bool = False)"}
{"file":"src/main.py","name":"main","kind":"function","line":[48,60],"sig":"def main(args: list[str]) -> int"}
Ship your index with your package
Include .codeindex in your package and every developer who depends on you gets instant navigation of your API — no setup, no re-indexing.
Works with Git repos, npm, PyPI, and crates.io.
MCP tools
Seven tools, zero setup. The agent queries immediately — no init, no config, no refresh.
| Tool | What it does |
|---|---|
explore |
Explore project structure: metadata, subprojects, files grouped by directory |
search |
Unified full-text search across symbols, files, and texts (FTS5, BM25-ranked) with scope/kind/path/project filters |
get_file_symbols |
List all symbols in a file |
get_children |
Get children of a class/module |
get_callers |
Find all places that call or reference a symbol |
get_callees |
Find all symbols that a function/method calls |
flush_index |
Flush pending index changes to disk |
Project discovery
Launch codeix from any directory. It walks downward and treats every directory containing .git/ as a separate project — each gets its own .codeindex.
Works uniformly for single repos, monorepos, sibling repos, and git submodules. No config needed.
Languages
Tree-sitter grammars, feature-gated at compile time:
| Language | Feature flag | Default | Extensions |
|---|---|---|---|
| Python | lang-python |
yes | .py .pyi .pyw |
| Rust | lang-rust |
yes | .rs |
| JavaScript | lang-javascript |
yes | .js .mjs .cjs .jsx |
| TypeScript | lang-typescript |
yes | .ts .mts .cts .tsx |
| Go | lang-go |
yes | .go |
| Java | lang-java |
yes | .java |
| C | lang-c |
yes | .c .h |
| C++ | lang-cpp |
yes | .cpp .cc .cxx .hpp .hxx |
| Ruby | lang-ruby |
yes | .rb .rake .gemspec |
| C# | lang-csharp |
yes | .cs |
| Markdown | lang-markdown |
yes | .md .markdown |
Markdown support
Markdown files are parsed for headings (both ATX # and Setext underline styles) which are indexed as section symbols with hierarchical parent-child relationships — enabling TOC extraction and document structure navigation.
Fenced code blocks are extracted as code text entries, parented to their containing section.
Embedded scripts
HTML, Vue, Svelte, and Astro files are preprocessed to extract embedded <script> blocks, which are then parsed with the JavaScript or TypeScript grammar:
| Format | Extensions | Script detection |
|---|---|---|
| HTML | .html .htm |
<script> tags, with optional lang="ts" |
| Vue | .vue |
<script> and <script setup>, with optional lang="ts" |
| Svelte | .svelte |
<script>, with optional lang="ts" |
| Astro | .astro |
--- frontmatter (always TypeScript) + optional <script> tags |
Line numbers in the index point to the original file, not the extracted script block.
Install
# npm / npx — run without installing
npx codeix
# pip / uvx — run without installing
uvx codeix
# Rust
cargo install codeix
# Homebrew
brew install codeix
# Or build from source
git clone https://github.com/montanetech/codeix.git
cd codeix
cargo build --release
All channels install the same single binary. No runtime dependencies.
Usage
# Build the index for the current project
codeix build
# Build from a specific directory (discovers all git repos below)
codeix -r ~/projects build
# Start MCP server (default command, watches for changes)
codeix
# Or explicitly
codeix serve
codeix serve --no-watch
# Serve from a specific directory
codeix -r ~/projects serve
MCP client configuration
Add to your MCP client config (e.g. Claude Desktop, Cursor):
{
"mcpServers": {
"codeix": {
"command": "codeix"
}
}
}
Design principles
- Local only — no network, no API keys, works offline and air-gapped
- Deterministic — same source always produces the same index (clean diffs)
- Composable — dependency indexes are auto-discovered and mounted at query time
- Minimal surface — 7 query tools, zero management plumbing
Architecture
See docs/architecture.md for the full set of architecture decision records.
License
MIT OR Apache-2.0
Preguntas sobre Codeix MCP
¿Cómo agrego Codeix MCP a Claude Code?
Ejecuta claude mcp add codeix -- npx -y codeix en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego Codeix MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué herramientas proporciona Codeix MCP?
Expone 7 herramientas, incluidas explore, search, get_file_symbols, get_children, get_callers.
¿Cómo ayuda Codeix a los agentes de programación con IA?
Proporciona un mapa preconstruido de la base de código, lo que permite a los agentes encontrar símbolos, firmas y relaciones de jerarquía en una sola llamada de herramienta en lugar de escanear texto sin procesar.
¿Se puede compartir el índice entre desarrolladores?
Sí, el índice se almacena en un directorio .codeindex que se puede incluir en git, lo que permite que otros lo usen sin necesidad de reindexar.
¿Requiere Codeix conexión a internet o claves de API?
No, está diseñado para funcionar solo de forma local, trabajando sin conexión y en entornos aislados (air-gapped) sin necesidad de red ni claves de API.