CodeGraphContext MCP: Analiza tu Código como Nunca
CodeGraphContext es un servidor MCP creado por Shashank Shekhar Singh que transforma tu codebase en una base de datos de grafos, permitiendo a Claude y otros asistentes de IA analizar llamadas de funciones, dependencias y arquitectura con queries semánticas en tiempo real sin aumentar el context window.
En 30 segundos
- IndexĂĄ tu codebase en un grafo persistente (nodos = funciones/clases, aristas = llamadas y dependencias) usando tree-sitter como parser
- Soporta 14 lenguajes (Python, TypeScript, Go, Rust, Java, C++, C#, Ruby, PHP, Swift, Kotlin, Scala, JavaScript, JSX)
- Funciona como servidor MCP: Claude y otros asistentes acceden al grafo sin contaminar el context window
- KĂŞzuDB por defecto (18x mĂĄs rĂĄpido en ingesta que Neo4j, zero-config), con soporte para Neo4j y FalkorDB
- CLI interactiva (`cgc analyze calls`, `cgc find pattern`) + integraciĂłn con IDEs y asistentes IA
¿Qué es CodeGraphContext?
Ponele que abrĂs un proyecto TypeScript grande, 500 archivos, 50.000 lĂneas de cĂłdigo. Le pedĂs a Claude: “dĂme toda la cadena de llamadas de `processUserData` hasta la base de datos”. Un asistente normal te dice “eso no sĂ© quĂ© hace” o intenta adivinarlo leyendo fragmentos inconexos. CodeGraphContext? Te devuelve la cadena exacta en segundos, porque tu codebase estĂĄ indexado en un grafo.
CodeGraphContext es una herramienta de anålisis de código que construye y mantiene una representación en grafo de tu codebase — cada función, clase y variable es un nodo; cada llamada, dependencia, herencia es una arista — y la expone como servidor MCP para que Claude, ChatGPT y otros asistentes la usen sin necesidad de leer archivos enteros.
La creĂł Shashank Shekhar Singh en febrero de 2026. Es open source, se instala en un comando, y funciona con bases de datos locales o remotas. El punto: cuando trabajĂĄs con IA en refactors grandes, debugging arquitectĂłnico o migraciĂłn de cĂłdigo, tener el grafo disponible cambia el juego. La IA entiende la topologĂa del proyecto sin llenarse el context window de archivos.
CĂłmo funciona: arquitectura y flujo de indexaciĂłn
El flujo es simple: indexación → construcción del grafo → consultas en tiempo real.
Indexación. Usas `cgc setup` (wizard interactivo) o directamente `cgc index /ruta/proyecto`. CodeGraphContext barrer todo el Ă¡rbol de archivos, filtra por extensiĂłn, y manda cada archivo a tree-sitter — un parser universal que saca la sintaxis sin ejecutar el cĂłdigo. Tree-sitter te devuelve un Ă¡rbol sintĂ¡ctico robusto incluso si el cĂłdigo estĂĄ incompleto o tiene errores de sintaxis.
De ese Ă¡rbol, CodeGraphContext extrae: definiciones de funciones (nombre, parĂĄmetros, tipo de retorno), clases (nombre, atributos, mĂŠtodos, herencia), llamadas (quĂŠ funciĂłn llama a quĂŠ), imports y exports, asignaciones, y referencias globales. Cada elemento se convierte en un nodo con metadatos (lĂnea, archivo, visibilidad pĂşblica/privada, decoradores/anotaciones). Las relaciones (X llama a Y, X hereda de Z) se expresan como aristas dirigidas.
El grafo se almacena en una base de datos: KĂŞzuDB por defecto (que Apple adquiriĂł en octubre de 2025, btw, lo que dice algo sobre quĂŠ tan serio es esto), Neo4j, o FalkorDB. KĂŞzuDB es la opciĂłn zero-config porque CodeGraphContext lo mete en la carpeta del proyecto; Neo4j si necesitĂĄs mĂĄs features; FalkorDB si querĂŠs algo lightweight.
Watch mode. Podés correr `cgc watch` (flags para ignorar node_modules, .git, etc.), y CodeGraphContext re-indexa el proyecto cada vez que cambia un archivo. AsĂ, si estĂĄs refactorizando, el grafo estĂĄ siempre actualizado. Tarda milisegundos en los cambios incrementales.
Características principales y capacidades
Soporte de 14 lenguajes: Python, TypeScript, JavaScript, Go, Rust, Java, C++, C#, Ruby, PHP, Swift, Kotlin, Scala, JSX.
CĂłmo alguien que pasĂł los últimos tres aĂąos trabajando con codebases multilenguaje — y sabĂŠ que detectar quĂŠ lenguaje usa cada archivo es la mitad de la batalla — tener esto en un solo lugar es re piola.
AnĂĄlisis de cadenas de llamadas. `cgc analyze calls –from MyClass.method –depth 5` te devuelve toda la cadena hasta profundidad 5: quĂŠ llama a MyClass.method, quĂŠ llama eso, etcĂŠtera. Útil para impact analysis en refactors.
BĂŞsqueda de patrones. `cgc find pattern –regex “.*_legacy” —language=typescript”` encuentra todas las funciones que matchean el patrĂłn en TypeScript. `cgc find pattern –calls=database.*` encuentra todas las llamadas a funciones tipo `database.X`. Para más detalles técnicos, mirá ejecutar agentes sin depender de APIs externas.
AnĂĄlisis de Ă¡rboles de dependencias. `cgc analyze tree –file index.ts` expande todo lo que importa index.ts, todo lo que importan esos, etcĂŠtera. Si te preocupan las dependencias circulares o los imports innecesarios, esto te lo ve en un segundo.
DetecciĂłn de clases y relaciĂłnes de herencia. Te mapea automĂĄticamente la jerarquĂa de clases, interfaces, traits (en Rust), etc. MetĂĄfora: es como tener `grep` y `sed` combinados pero sabiendo qué es cĂłdigo.
Bases de datos: KĂŞzuDB vs Neo4j vs FalkorDB
CodeGraphContext soporta tres opciones. El default es KĂŞzuDB porque no necesitĂĄs instalar nada; mete la DB en la carpeta del proyecto y listo.
| Base de datos | Velocidad ingesta | Features | Setup | Ideal para |
|---|---|---|---|---|
| KĂŞzuDB | 18x mĂĄs rĂĄpido que Neo4j | Queries Cypher, bĂşsqueda semĂĄntica | Zero-config, local | ProyectosmonolĂticos, desarrollo local |
| Neo4j | Baseline | MĂĄs maduro, plugin ecosystem, transacciones ACID | Instalar + servidor | Equipos grandes, mĂşltiples usuarios, producciĂłn |
| FalkorDB Lite | Rápido pero limitado | Consultas grĂĄficas bĂĄsicas | Local, contenido en proceso | Prototipos, testing |
| FalkorDB Remote | Depende del servidor | API HTTP, multi-usuario | Servidor remoto | Equipos distribuidos |

El benchmark de ingesta importa: si tu codebase tiene 100.000 nodos, KĂŞzuDB te indexa en segundos, Neo4j en minutos (porque hace mĂĄs validaciones). Para desarrollo local, KĂŞzuDB es sin competencia. Si necesitĂĄs que varios devs consulten el mismo grafo o queries complejas con transacciones, Neo4j.
Instalaciòn y configuraciĂłn paso a paso
Una línea para instalar:
pip install codegraphcontext
Luego:
cgc setup
Te abre un wizard: elegís el lenguaje, la DB (KĂŞzuDB, Neo4j, FalkorDB), la ruta del proyecto, qué carpetas ignorar (node_modules, venv, .git, etc.), y listo. Genera un archivo `codegraphcontext.yaml` en el root del proyecto.
Para empezar a indexar:
cgc index
Si usas Docker:
docker run -v /tu/proyecto:/workspace -e GRAPH_DB=kuzu codegraphcontext:latest cgc index
Para conexiĂłn remota a Neo4j o FalkorDB, editĂĄs el YAML:
database: neo4j
uri: bolt://tu-servidor:7687
username: neo4j
password: password
Para integraciĂłn con Claude: instalĂĄs el MCP server. Si usĂĄs Claude Code o VSCode con extensiĂłn, agregĂĄs esto a `~/.claude/mcp_servers.json`:
{"codegraphcontext": {"command": "cgc", "args": ["mcp-server"]}}
ReiniciĂĄs Claude, y desde ahĂ tenĂŠs acceso al grafo en cada contexto.
AnĂĄlisis prĂĄctico: ejemplos de uso real
Escenario real: tenĂŠs un bug en producciĂłn — una funciĂłn `validatePayment` en una API Node.js devuelve valores Ăşltimos. Querés saber EXACTAMENTE quĂŠ calcula antes de devolverlo, quĂŠ funciones internas llama, dĂłnde toca la DB. Complementá con analizar código manteniendo seguridad y privacidad.
Sin CodeGraphContext: buscĂĄs el archivo, lees 200 lĂneas, das saltos manuales a las funciones que llama, probablemente pierdes el hilo porque hay cĂłdigo asincrónico, transformaciones de datos, cĂĄlculos — en dos minutos no te enteraste de nada.
Con CodeGraphContext:
cgc analyze calls --from validatePayment --depth 4 --language=typescript
Te devuelve:
validatePayment (validators.ts:145)
â"œâ"€â"€ checkUserStatus (users.ts:89)
â"‚ â"œâ"€â"€ queryDatabase (db.ts:203)
â"‚ â""â"€â"€ validateToken (auth.ts:56)
â"œâ"€â"€ calculateFees (payments.ts:312)
â"‚ â"œâ"€â"€ getFeeRules (config.ts:78)
â"‚ â""â"€â"€ applyDiscount (discounts.ts:201)
â""â"€â"€ logTransaction (logger.ts:445)
Ahora podĂŠs decir: “espera, `applyDiscount` toca `discounts.ts` — miro allĂĄ y veo que estĂĄ usando una variable global mutable que otro thread modifica sin lock”. Encontraste el bug en 30 segundos.
Otro ejemplo: refactor de Python. TenĂŠs 15.000 lĂneas distribuidas en 80 archivos. Querés mover una clase `UserService` y reemplazarla por otra. NecesitĂĄs saber quĂŠ importa `UserService` en el proyecto.
cgc find pattern --regex "from.*UserService" --language=python
Te devuelve todos los imports. DespuĂŠs, quĂŠ mĂŠtodos de UserService se usan realmente (hay mĂŠtodos privados que quizĂĄ nadie llama):
cgc analyze calls --to UserService.* --depth 2
Ahora sabĂŠs exactamente quĂŠ necesita tu nueva implementaciĂłn. Nada de adivinanzas, nada de warnings falsos.
IntegracĂĂłn con asistentes de IA: servidor MCP
El valor real estĂĄ acĂĄ. CodeGraphContext funciona como servidor MCP, lo que significa que Claude (o cualquier cliente MCP) accede al grafo como una herramienta sin necesidad de meter todo el cĂłdigo en el contexto.
Cuando usĂĄs Claude Code o VSCode + extensiĂłn Claude con CodeGraphContext activado, el asistente expone estos recursos: Te puede servir nuestra cobertura de potenciar herramientas de IA con análisis de código.
codegraphcontext/analyze_calls
codegraphcontext/find_pattern
codegraphcontext/analyze_tree
codegraphcontext/find_symbol
Si le decĂs a Claude: “necesito refactorizar `processOrder`, muestrame toda la cadena de dependencias”, Claude llama automĂĄticamente a `analyze_calls` con los parĂĄmetros correctos. No ve los archivos crudos, ve la estructura del grafo, que es mucho mĂĄs comprimida.
Eso significa que podĂŠs analizar un proyecto de 10 millones de lĂneas sin llenar el context window. La IA entiende la arquitectura sin leer nada innecesario.
El MCP server expone metadata de cada nodo: ubicaciĂłn (archivo:lĂnea), tipo (funciĂłn, clase, variable), visibilidad (pĂşblica, privada), parĂĄmetros y tipos de retorno. Todo eso contexto permite que Claude haga sugerencias fundadas: “veo que `processOrder` maneja estados y tiene tres paths posibles, te recomendarĂa un patrĂłn state machine acĂĄ”.
CodeGraphContext vs herramientas estĂĄticas tradicionales
ESLint, Pylint, SonarQube, Dependency-Cruiser. Todas hacen anĂĄlisis estĂĄtico. Ojo: los grafos no reemplazan eso.
Una herramienta como ESLint es un validador de reglas puntuales: “esta lĂnea tiene un `var` en 2026, eso es un error”. SonarQube detecta anti-patterns: “detecto que sobrescribis una variable que estĂĄs leyendo en el mismo scope”. Son hĂŠroes para detectar bugs comunes.
CodeGraphContext es diferente. No valida reglas. Responde preguntas topológicas: “quĂŠ camino de cĂłdigo llega acĂĄ”, “quĂŠ partes del cĂłdigo son alcanzables desde este punto”, “cuĂĄntos niveles de indirecciĂłn hay entre A y B”. ESLint te dice “esto rompe la regla X”; CodeGraphContext te dice “mirĂĄ cĂłmo estĂĄ conectado todo”.
Dependency-Cruiser mapea imports y detecta ciclos. CodeGraphContext mapea eso MAS llamadas de funciones, herencia, y metadata de tipos. Es grĂĄfico de dependencias en esteroides, con poder de consulta.
La verdadera diferencia: herramientas estĂĄticas son batch, apuntan a encontrar bugs conocidos. CodeGraphContext es una base de datos consultable, diseĂąada para workflows interactivos con IA. Ya lo cubrimos antes en integración transparente con repositorios en Github.
QuĂŠ estĂĄ confirmado / QuĂŠ no
Confirmado (anunciado en repositorio oficial):
- Soporte de 14 lenguajes de programaciĂłn (ĂŠltimo check: febrero 2026)
- IntegracĂĂłn MCP como servidor estĂĄndar
- Soporte de KĂŞzuDB, Neo4j, FalkorDB como backends
- Modo watch para re-indexaciĂłn incremental
- CLI con comandos `cgc analyze`, `cgc find`, `cgc setup`
- Adquisiciòn de KĂŞzuDB por Apple en octubre de 2025
- Open source, disponible en GitHub bajo licencia MIT
No confirmado / En desarrollo:
- Soporte nativo para AnĂĄlisis de tipos completamente preciso (en algunos lenguajes como Go/Rust funciona bien, en Python es best-effort porque carece de tipos estĂĄticos)
- Performance benchmarks completos en codebases de 10+ millones de lĂneas (hay reports de usuarios pero no benchmark oficial publicado)
- Compatible con todas las extensiones de VS Code / IDEs (confirmado para Claude Code, en testing para otros)
- Versionamiento y control de cambios de grafo en el tiempo (feature request pero no implementado aĂşn)
Errores comunes al usar CodeGraphContext
Error #1: no ignorar `node_modules` / `venv` / dependencias externas. Si ejecutĂĄs `cgc index` sin configurar qué carpetas ignorar, terminas indexando todo — incluyendo el cĂłdigo de tus dependencias — y el grafo resulta enorme, lento, innecesariamente ruidoso. La verdad es que la mayorĂa solo necesita el cĂłdigo tuyo. SoluciĂłn: el wizard de `cgc setup` te pide esto, pero si lo ignorĂĄs, editĂĄ el YAML manualmente y agregĂĄ `ignore_patterns: [“node_modules”, “venv”, “.git”, “dist”]`.
Error #2: usar Neo4j sin necesitarlo y quejarse de performance. KĂŞzuDB por defecto es mĂĄs rĂĄpido. Si elegĂs Neo4j — que estĂĄ bueno para algo — necesitĂĄs tuning (indices, memoria asignada). La mayorĂa que usa Neo4j por inercia termina viendo que tarda el doble que local. ProbaĂ con KĂŞzuDB primero, escala a Neo4j si necesitĂĄs multi-usuario.
Error #3: no refrescar el grafo cuando cambia el cĂłdigo. Si indexaste una vez y despuĂŠs refactorizaste, el grafo sigue viejo. CorĂŞs `cgc watch` en background, o si prefierĂŠs batch, `cgc reindex`. Sin esto, las queries devuelven fantasmas (funciones que borraste hace dos semanas pero el grafo seguĂa siendo del pasado).
Preguntas Frecuentes
ÂżQuĂŠ es un servidor MCP y por quĂŠ importa?
MCP (Model Context Protocol) es un estĂĄndar de Anthropic que permite que asistentes de IA usen herramientas externas de forma normalizada. Cuando CodeGraphContext funciona como servidor MCP, Claude puede consultarlo directamente: vos escribĂs el prompt, Claude ve que necesita datos del grafo, lo consulta automĂĄticamente, procesa la respuesta, y te devuelve el resultado. Sin MCP tendrĂas que copiar-pegar datos manualmente o usar APIs HTTP ad-hoc. MCP lo hace invisible.
ÂżFunciona con lenguajes dinĂĄmicos como Python y JavaScript?
SĂ, pero con caveats. Python y JavaScript carecen de tipos estĂĄticos, ası que CodeGraphContext puede decirte “X llama a Y” pero no “X pasa un string a Y” — es best-effort. Tree-sitter hace un trabajo decente detectando llamadas incluso sin tipos, pero si necesitĂĄs precisiĂłn absoluta, lenguajes tipados (TypeScript, Go, Rust) son mĂĄs confiables.
ÂżCuĂĄnto espacio usa un grafo completo?
Depende mucho, pero como referencia: un proyecto Python de 50.000 lĂneas ocupa tĂpicamente 20-50 MB en KĂŞzuDB. Neo4j puede ser 2-3 veces mayor por overhead de metadatos y transacciones. La compresión en estos motores es buena, asĂ que no es un problema salvo en casos extremos (10+ millones de lĂneas de cĂłdigo).
ÂżPuedo usar CodeGraphContext para proyectos privativos sin exponer el cĂłdigo?
Totalmente. CodeGraphContext es local: indexa en tu mĂĄquina, almacena en tu DB (local o privada), no manda nada a internet. Si usĂĄs con Claude de forma local (CodeGraphContext + Claude en tu PC), todo queda en tu red. Eso sĂ: el servidor MCP si lo hosteĂĄs remotamente necesita autenticaciĂłn, sino cualquiera consulta tu grafo.
ÂżQuĂŠ pasa con los cambios frecuentes? ÂżCuĂĄnto tarda re-indexar?
En modo watch (`cgc watch`), CodeGraphContext detecta cambios y re-indexa incrementalmente. Si cambia un archivo, solo ese archivo se reprocesa — tarda milisegundos. Si agregås o borrås archivos, tarda 1-2 segundos. Full reindex (borrando todo y volviendo a construir) tarda segundos en codebases medianos, minutos en enormes. Para desarrollo, watch mode es la forma natural — nunca esperas porque es incremental.
ConclusiĂłn
CodeGraphContext resuelve un problema especĂfico pero importante: entender arquitectura de cĂłdigo sin que el asistente de IA se llene de texto innecesario. En proyectos grandes, refactors complejos, o debugging profundo, tener el grafo disponible es un cambio de contexto. No es una herramienta para todos (si tu proyecto tiene 5 archivos, la ignorĂĄs), pero si trabajĂĄs con codebases que otro humano escribió, o estĂĄs refactorizando en serio, es un golazo.
Lo mejor: estĂĄ en open source, la instalaciĂłn es trivial, y si no te sirve, lo desinstalĂĄs en cinco minutos. Vale la pena probar, especialmente si usĂĄs Claude o VSCode.
Fuentes
- CodeGraphContext en GitHub – repositorio oficial
- Documentación oficial de CodeGraphContext
- Registro MCP – CodeGraphContext
- Artículo del autor en Medium – motivación y diseño
- AI Productivity – análisis de CodeGraphContext
Conclusión
CodeGraphContext cambia concretamente cómo trabajás con asistentes IA en codebases grandes: en lugar de meter miles de líneas de código crudo en el contexto, enviás un grafo comprimido que cabe en una fracción del token budget. Para refactors complejos, investigación de arquitectura o debugging en proyectos maduros, la diferencia entre tener acceso al grafo o no es entre estar orientado o estar perdido. La velocidad incremental (milisegundos en cambios locales, segundos en full reindex) hace que sea práctico usarlo en desarrollo real, sin overhead. Si trabajás con codebases que no escribiste vos mismo, vale la pena instalarlo y probar una consulta complicada — los 5 minutos de setup se recuperan en la primera sesión.






