Graph Indexer para Zed es un servidor MCP local, registrado como servidor de contexto de Zed, que da al agente de Zed referencias exactas, grafo de llamadas e impacto de cambios de tu proyecto. Ejecuta npx graph-indexer init y escribe una entrada graph-indexer bajo context_servers en .zed/settings.json.
¿Cómo añado Graph Indexer a Zed?
Desde la raíz del repositorio, con Node.js 22.5 o superior:
npx graph-indexer init
init configura Zed cuando encuentra una carpeta .zed. Si tu proyecto no tiene ninguna, fuérzalo con npx graph-indexer init --agents zed, o configura todos los agentes compatibles a la vez con --all.
¿Qué cambia npx graph-indexer init en Zed?
Para Zed, init toca estos archivos:
| Archivo | Contenido |
|---|---|
.zed/settings.json | Una entrada graph-indexer bajo context_servers, fusionada con las existentes |
AGENTS.md | Un bloque gestionado con las reglas de búsqueda y cuándo llamar a cada herramienta |
.gitignore | .graph-indexer/, donde vive el índice local |
Usa --dry-run para previsualizar y --no-instructions para omitir el bloque de AGENTS.md.
¿Cómo es la configuración manual de Zed?
La entrada que escribe init en .zed/settings.json es:
{
"context_servers": {
"graph-indexer": {
"command": "npx",
"args": ["-y", "graph-indexer@3", "serve"],
"env": {}
}
}
}
Zed arranca los servidores de contexto del proyecto en su raíz, así que la entrada no lleva --repo y Graph Indexer indexa el repositorio git donde arranca. Con init --local, el comando apunta al bin/graph-indexer.mjs de tu checkout en lugar de a npx.
¿Qué gana Zed con Graph Indexer?
El agente de Zed obtiene ocho herramientas de solo lectura. En lugar de leer archivos enteros y hacer grep, pide a find_references cada uso real de un símbolo, a call_graph llamadores y llamados, a change_impact los dependientes y los tests que ejecutar, y a check_changes que verifique las ediciones sin compilar. Las respuestas son texto plano, acotadas y con el mejor resultado primero, normalmente de 400 a 1.500 tokens.
Frente al compilador de TypeScript en 400 símbolos de nestjs, find_references alcanzó un 99,7 % de precisión y un 96,2 % de recall; grep llegó al 12,8 % de precisión (benchmarks). El índice se resincroniza con los archivos en disco antes de cada respuesta, así que sigue al día mientras el agente de Zed edita. Graph Indexer no es un verificador de tipos: los genéricos, la reflexión y any solo se ven en parte.
Graph Indexer no hace llamadas de red ni envía telemetría; Zed sigue enviando lo que lee a su proveedor de modelo. Consulta la referencia de herramientas, cómo funciona y los demás agentes.
Preguntas frecuentes
¿Por qué Zed usa context_servers y no mcpServers?
Zed llama servidores de contexto a sus servidores MCP y los guarda bajo la clave context_servers de settings.json. init escribe esa clave y un objeto env vacío, para que la entrada siga el formato de Zed y no el genérico mcpServers.
¿Y si mi .zed/settings.json tiene comentarios?
El archivo de ajustes de Zed puede tener comentarios. init nunca reescribe un archivo cuyos comentarios se perderían al pasar por JSON: lo deja como está e imprime la entrada exacta para que la añadas tú bajo context_servers.
¿Dónde van las instrucciones de búsqueda para Zed?
init añade un bloque gestionado a AGENTS.md. Zed lee solo el primero de varios archivos de reglas, entre ellos .rules, AGENTS.md y CLAUDE.md, así que un .rules existente podría tener prioridad sobre AGENTS.md.
¿Ejecuta Zed los hooks de Graph Indexer?
Graph Indexer no tiene integración de hooks ni de plugin para Zed. Zed usa las ocho herramientas MCP y el bloque de AGENTS.md. Los hooks de init --hooks son para Claude Code, Devin, OpenCode y Kilo Code.