Skip to main content
Glama

codeindex

Un motor de inteligencia estructural de código que se ejecuta como servidor MCP para agentes de codificación de IA.

Indexa tu base de código con tree-sitter (más de 40 idiomas), construye un índice de texto completo por trigramas, un índice de palabras invertido y un grafo de dependencias, y luego los expone a través de 16 herramientas MCP.

 ┌─────────────┐      MCP (stdio)       ┌──────────────┐
 │  AI Agent   │ ◄─────────────────────► │   codeindex  │
 │ (Claude,    │   16 tools, JSON-RPC    │  (Zig binary) │
 │  Cursor…)   │                         │              │
 └─────────────┘                         └──────┬───────┘
                                                │
                                   tree-sitter parse (40+ langs)
                                         trigram + word index
                                         dependency graph
                                         snapshot persistence

Por qué

Los agentes de codificación de IA gastan tokens leyendo archivos completos. codeindex responde preguntas estructurales — esquemas de símbolos, definiciones, llamadores, radio de explosión, cadenas de dependencias — en unos pocos cientos de tokens en lugar de miles.

Una llamada a plan_change devuelve: dónde se define un símbolo, cada sitio de llamada, el rol arquitectónico del archivo (módulo dios / núcleo estable / isla / controlador), literales codificados a revisar y el radio de explosión transitivo completo si el archivo cambia.

Related MCP server: OpenCodeHub MCP Server

Inicio rápido

# Install (prebuilt binary or build from source)
curl -fsSL https://raw.githubusercontent.com/munhq/codeindex/main/install.sh | bash

# Or build manually:
cd zig && ./fetch-vendor.sh && zig build -Doptimize=ReleaseFast

Regístrate con tu agente de IA:

# Claude Code — the plugin is the one-step path. It ships the skill, the hook
# and the MCP server together, and its launcher finds or fetches the binary.
claude plugin marketplace add munhq/codeindex
claude plugin install codeindex@codeindex

# Without the plugin (or for a different MCP client), register the binary
# directly. Do not do both: two registrations mean two servers, two copies of
# every tool schema, and two writers on one snapshot. install.sh detects the
# plugin and skips this step when it is present.
claude mcp add -s user codeindex -- ~/.local/bin/codeindex --mcp

# Cursor / other MCP clients: add to your config
{
  "mcpServers": {
    "codeindex": {
      "command": "~/.local/bin/codeindex",
      "args": ["--mcp"]
    }
  }
}

La próxima vez que tu agente se inicie, codeindex indexa tu proyecto en segundo plano y sirve consultas estructurales.

Herramientas MCP

Herramienta

Qué hace

status

Estadísticas del índice: número de archivos, número de símbolos, estado de indexación, % de ahorro de tokens

search

Búsqueda de texto completo acelerada por trigramas en todos los archivos indexados

find_symbol

Encuentra definiciones de símbolos (funciones, estructuras, clases…) por nombre

find_word

Búsqueda exacta de palabras/identificadores en el índice de palabras invertido

find_callers

Llamadores aproximados de un símbolo (heurístico, sin resolución completa de nombres)

get_outline

Esquema estructural de un archivo (símbolos, recuento de líneas)

get_tree

Árbol de directorios con metadatos de archivo

get_imports

Qué archivos importa/de los que depende un archivo dado

get_imported_by

Dependencias inversas: quién importa este archivo

get_change_impact

Radio de explosión transitivo: qué se rompe si un archivo cambia

plan_change

Plan completo de refactorización para un símbolo o archivo: definiciones, llamadores, rol del archivo, literales, radio de explosión

get_hot_files

Archivos modificados recientemente ordenados por antigüedad

read_file

Lee el contenido de un archivo con rango de líneas opcional

read_symbol

Lee solo el código fuente de un símbolo (con líneas de contexto opcionales)

index_workspace

Indexa o reindexa un directorio de espacio de trabajo

analyze

Ejecuta uno de los 16 análisis de código (ver más abajo)

Análisis (herramienta analyze)

Análisis

Qué encuentra

security

Secretos codificados, patrones de inyección SQL, bloques inseguros, uso de eval

dead_code

Archivos y símbolos sin referencias

unwrap_audit

Manejo de errores propenso a pánico con .unwrap() (Rust)

test_coverage

Archivos sin cobertura de pruebas

architecture

Olores arquitectónicos: módulos dios, dependencias circulares, islas

crossref

Referencias de símbolos entre archivos

type_drift

Discrepancias de firmas de tipos entre módulos

db_schema

Deriva del esquema de base de datos entre migraciones y código

migration_parity

Migraciones faltantes para cambios de esquema

manifest_compliance

Problemas de cumplimiento de package.json / Cargo.toml / go.mod

literal_scan

URLs, IPs, puertos, rutas absolutas y TODOs codificados

coupling

Métricas de acoplamiento de módulos

cycles

Detección de dependencias circulares

duplication

Funciones libres reinventadas: el mismo trabajo escrito dos veces

clones

Cuerpos de funciones copiados y pegados, ignorando nombres y espacios en blanco

health

Resumen de los análisis anteriores en un informe de salud del índice

Idiomas compatibles

Más de 40 idiomas mediante tree-sitter: Rust, Python, TypeScript/TSX, Go, Zig, C, C++, Java, Ruby, Bash, C#, Kotlin, Lua, Scala, Elixir, R, Swift, Dart, Haskell, TOML, JSON, YAML, HTML, CSS, SCSS, SQL, HCL, Dockerfile, Markdown, Nix, Make, y más.

Configuración

codeindex --mcp                          # Run as MCP server (stdio)
codeindex --workspace ./my-project       # Index a specific directory
codeindex --project-id my-project        # Project identifier
codeindex -v                             # Print version
codeindex -h                             # Print help

# Environment variables
CODEINDEX_WORKSPACE=/path/to/project     # Same as --workspace
CODEINDEX_PROJECT_ID=my-project          # Same as --project-id

codeindex detecta automáticamente la raíz del proyecto subiendo desde el directorio de trabajo en busca de .git, package.json, Cargo.toml, go.mod, build.zig, pyproject.toml, etc.

Se niega a indexar todo tu directorio personal o la raíz del sistema de archivos: pasa --workspace para ser explícito.

Arquitectura

  • Parser: tree-sitter con más de 40 gramáticas, compilado en un único binario

  • Índice: índice de trigramas para búsqueda difusa de texto + índice de palabras invertido para búsqueda exacta de identificadores

  • Grafo de dependencias: resolución de importaciones a nivel de archivo con aristas directas e inversas

  • Almacén de versiones: rastrea cambios de archivos con números de secuencia para actualizaciones incrementales

  • Observador en vivo: reindexa al crear/modificar/eliminar archivos (hilo en segundo plano en modo MCP). inotify en Linux; un recorrido de sondeo en macOS y Windows, que compara mtime y tamaño cada un par de segundos. status informa qué backend está activo como watcher_backend.

  • Instantánea: persiste el índice completo en .codeindex.json, de modo que un reinicio carga la instantánea en lugar de reindexar

  • Servidor MCP: JSON-RPC sobre stdio, implementa el protocolo MCP 2024-11-05

Soporte de plataformas

Cada fila es compilada por CI y sus pruebas se ejecutan en esa plataforma, excepto donde se indique. status informa el backend del observador en vivo para que nunca sea una suposición.

binario

pruebas en CI

observador

install.sh

plugin

Linux x86_64

inotify

Linux aarch64

compilación cruzada

inotify

macOS aarch64

sondeo

macOS x86_64

compilación cruzada

sondeo

Windows x86_64

sondeo

necesita un shell

ver más abajo

Windows aarch64

compilación cruzada

sondeo

necesita un shell

ver más abajo

En Windows, install.sh y el lanzador del plugin son scripts de shell, por lo que necesitan Git Bash, MSYS2 o Cygwin: lo detectan y resuelven el activo .exe correcto. El plugin registra su servidor a través de ese lanzador, por lo que un Claude Code nativo de Windows sin shell debería registrar el binario directamente:

claude mcp add -s user codeindex -- C:\path\to\codeindex.exe --mcp

Nada de esto está firmado ni notarizado. En macOS, un binario descargado con curl se ejecuta sin aviso de Gatekeeper; uno descargado a través de un navegador está en cuarentena, y xattr -d com.apple.quarantine codeindex lo limpia.

Compilar desde el código fuente

Requiere Zig 0.16.0.

cd zig
./fetch-vendor.sh    # Clone tree-sitter + 40 grammar repos
zig build -Doptimize=ReleaseFast
# Binary: zig/zig-out/bin/codeindex

Ejecuta las pruebas:

cd zig && zig build test-bin && ./zig-out/bin/test

zig build test enruta los resultados a través del protocolo IPC del ejecutor de compilación en stdout, que las fuentes C de tree-sitter enlazadas corrompen mediante sus rutas de printf de depuración. Compilar el binario de prueba y ejecutarlo directamente son las mismas pruebas sin ese protocolo en el camino.

Comparación

codeindex

ast-grep

ctags

LSIF

Sourcegraph

Nativo de MCP

No

No

No

No

Eficiente en tokens

Sí (esquemas, no archivos completos)

No

Parcial

Binario único

No

No (servidor)

Observador en vivo

Sí (inotify / sondeo)

No

No

No

No

Grafo de dependencias

No

No

Radio de explosión

Sí (transitivo)

No

No

No

Parcial

Planificador de refactorización

Sí (plan_change)

No

No

No

No

Idiomas

40+

20+

50+

Varía

Varía

Se complementa con chat-recall

codeindex responde preguntas sobre el código que tienes delante. chat-recall responde preguntas sobre el trabajo que ya hiciste: indexa tus sesiones de Claude Code, Gemini CLI, Codex, OpenCode y Antigravity en un historial buscable y también lo expone a través de MCP.

Juntos cubren ambas mitades de lo que un agente olvida: codeindex evita que vuelva a leer archivos que podría haber esquematizado, y chat-recall evita que rehaga trabajo que ya terminó. chat-recall detecta un binario de codeindex en tu PATH y registra cuatro herramientas adicionales de inteligencia de código cuando lo encuentra; ninguna requiere de la otra.

Licencia

MIT. Ver LICENSE.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.
    481
    7
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides code intelligence for AI coding agents by indexing repositories into a hybrid knowledge graph, enabling agents to query dependencies, impact, and context through 28 MCP tools.
    3
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides structural code intelligence via 26 MCP tools, enabling AI assistants to query code symbols, dependencies, and call graphs accurately without file-pasting.
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI coding agents to efficiently explore codebases by providing structural outlines, module digests, symbol bodies, and AST-aware grep via MCP.
    4
    17
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/munhq/codeindex'

If you have feedback or need assistance with the MCP directory API, please join our Discord server