rpg-encoder
Los agentes de codificación de IA desperdician la mayoría de sus llamadas a herramientas rebuscando en tu base de código con grep, cat, find y lecturas de archivos. rpg-encoder lo soluciona. Construye un grafo semántico de tu código con Tree-sitter — no solo qué llama a qué, sino qué hace cada función — y le da a tu asistente de IA una comprensión de todo el repositorio mediante MCP en una sola llamada a herramienta.
Inicio rápido
claude mcp add rpg -- npx -y -p rpg-encoder rpg-mcp-serverUn solo comando. Funciona con Claude Code, Cursor, opencode, Windsurf o cualquier agente compatible con MCP. Sin cadena de herramientas Rust, sin clonar, sin compilar: npx descarga un binario precompilado para tu plataforma.
Luego abre cualquier repositorio y dile a tu agente:
"Construye y levanta el RPG para este repositorio"
Tu agente se encarga de todo: indexa las entidades (segundos), lee cada función y añade características a nivel de intención (unos minutos), las organiza en una jerarquía semántica y hace commit de .rpg/graph.json para tu equipo.
Para repositorios con ~100+ entidades, lifting_status le indicará a tu agente que delegue el bucle de levantamiento a un subagente o a un modelo más barato: la extracción de características es emparejamiento de patrones, no razonamiento novedoso. Si tu runtime no tiene mecanismo de subagente, ejecuta rpg-encoder lift --provider anthropic|openai desde la terminal con una clave de API: el CLI impulsa directamente un LLM externo sin participación del agente. Cuando el CLI termine, llama a reload_rpg en tu sesión para cargar el grafo actualizado. El CLI levanta entidades sin características; volver a levantar entidades obsoletas (características presentes pero desactualizadas tras cambios de código) lo gestiona el flujo MCP dentro de la sesión, no el CLI.
Una vez levantado, prueba:
"¿Qué gestiona la autenticación?" — encuentra código aunque nada se llame "auth"
"Muestra todo lo que depende de la conexión a la base de datos"
"Planifica un cambio para añadir límite de tasa a los endpoints de la API"
Related MCP server: code-intel
Usa RPG antes que grep, cat, find
Las instrucciones del servidor le dicen a tu agente que use las herramientas de RPG PRIMERO ante cualquier pregunta sobre la estructura o el comportamiento del código. Ese reflejo importa: grep, cat y las lecturas ad hoc de archivos queman tokens y omiten relaciones semánticas que RPG ya conoce.
Si antes usarías... | Usa esto en su lugar |
|
|
|
|
|
|
greps encadenados para llamadores/llamados |
|
grep recursivo para "qué depende de X" |
|
|
|
leer muchos archivos para contexto |
|
cadenas manuales de búsqueda → captura → exploración |
|
"cómo refactorizo X de forma segura" |
|
Recurre a grep, cat o lecturas de archivos solo cuando la consulta trate sobre texto literal (búsqueda de cadenas, comentarios, TODOs, mensajes de registro), no sobre estructura.
Cómo funciona
Analiza — Tree-sitter extrae entidades (funciones, clases, métodos) y aristas de dependencia (imports, llamadas, herencia) de 15 lenguajes.
Levanta — Un LLM (tu agente o una API barata como Haiku) lee cada entidad y escribe características verbo-objeto: "validar tokens JWT", "serializar configuración en disco".
Organiza — Las características se agrupan en una jerarquía semántica de 3 niveles (Área → Categoría → Subcategoría) que surge de lo que hace el código, no del árbol de archivos.
Comprende —
semantic_snapshotcomprime todo el grafo en ~25K tokens. Tu LLM lo lee una vez y conoce el repositorio.
La instantánea semántica
En lugar de buscar con grep entre los archivos, el LLM llama a semantic_snapshot una vez y recibe:
Jerarquía — cada área funcional con características agregadas
Entidades — cada función, clase y método agrupados por área, con sus características semánticas
Esqueleto de dependencias — grafo de llamadas condensado con nombres cualificados
Puntos calientes — las 10 entidades más conectadas (la columna vertebral arquitectónica)
~25K tokens cubren ~1000 entidades. Eso es el 2-3% de una ventana de contexto de 1M: el LLM comienza cada sesión conociendo ya tu repositorio.
Grafo automantenido
Siempre que tu árbol de trabajo cambia — confirmado, en el área de staging o sin staging — el servidor MCP se resincroniza automáticamente antes de responder a la siguiente consulta. Un hash del changeset sobre (path, size, mtime) hace que los guardados repetidos del mismo archivo disparen una sola sincronización y que las consultas inactivas no disparen ninguna. También se detectan las reversiones: si un archivo previamente modificado vuelve a su estado HEAD, el grafo se restaura.
Dos formas de levantar
Modo | Comando | Costo | Quién paga |
Levantamiento por agente | "Construye y levanta el RPG" | Tokens de suscripción | Tu suscripción de Claude Code / Cursor |
Levantamiento autónomo |
| ~$0.02 por 100 entidades | Clave de API externa (Haiku, GPT-4o-mini, OpenRouter, Gemini) |
auto_lift llama directamente a un LLM externo barato: tu suscripción de codificación nunca toca el trabajo de levantamiento. Usa api_key_env para resolver claves desde variables de entorno, de modo que nunca aparezcan en las transcripciones de las llamadas a herramientas.
Arquitectura
Siete crates de Rust, un binario de servidor MCP, un binario CLI:
Crate | Rol |
| Tipos de grafo (RPGraph, Entity, HierarchyNode), almacenamiento, algoritmo LCA |
| Extracción de entidades y dependencias con Tree-sitter (15 lenguajes) |
| Pipeline de codificación, utilidades de levantamiento, evolución incremental |
| Búsqueda, captura, exploración, instantánea, serialización TOON |
| Levantamiento LLM autónomo (Anthropic, OpenAI, OpenRouter, Gemini) |
| Binario CLI ( |
| Binario servidor MCP ( |
Herramientas MCP (27)
Herramienta | Descripción |
| Indexa la base de código (se ejecuta una vez, al instante) |
| Actualización incremental a partir de cambios de git |
| Recarga el grafo desde disco tras cambios externos |
| Estadísticas del grafo, visión general de la jerarquía, cobertura de levantamiento por área |
Herramienta | Descripción |
| Comprensión semántica de todo el repositorio en una llamada (~25K tokens para 1000 entidades) |
| Busca entidades por intención o palabras clave (puntuación híbrida de embeddings + léxica) |
| Obtén metadatos de entidad, código fuente, dependencias y contexto de jerarquía |
| Recorre el grafo de dependencias (ascendente, descendente o ambos) |
| Búsqueda + captura + exploración en una sola llamada con presupuesto de tokens |
Herramienta | Descripción |
| Análisis de alcanzabilidad BFS — "¿qué depende de X?" |
| Planificación de cambios: entidades relevantes, orden de modificación, radio de explosión |
| Las K rutas de dependencia más cortas entre dos entidades |
| Extrae el subgrafo de conexión mínimo entre entidades |
| Salud del código: acoplamiento, inestabilidad, god objects, detección de clones |
| Encuentra dependencias circulares y ciclos arquitectónicos |
| Plan de ejecución de reconstrucción seguro frente a dependencias |
Tool | Descripción |
| Elevación autónoma de una sola llamada mediante API LLM económica (Haiku, GPT-4o-mini, OpenRouter, Gemini) |
| Panel — cobertura, progreso por área, SIGUIENTE PASO |
| Obtener el código fuente de la entidad para que tu agente lo analice |
| Enviar las características semánticas del agente de vuelta al grafo |
| Agregar características a nivel de archivo, reconstruir metadatos de jerarquía |
| Obtener características de entidades a nivel de archivo para síntesis holística |
| Enviar resúmenes holísticos a nivel de archivo |
| Obtener indicaciones de descubrimiento de dominio + asignación de jerarquía |
| Aplicar asignaciones de jerarquía al grafo |
| Obtener entidades que necesitan enrutamiento semántico (desviadas o recién elevadas) |
| Enviar decisiones de enrutamiento (ruta de jerarquía o "mantener") |
Idiomas compatibles
Lenguaje | Extracción de entidades | Resolución de dependencias |
Python | Funciones, clases, métodos | importaciones, llamadas, herencia |
Rust | Funciones, structs, traits, métodos de impl | use, llamadas, impls de traits |
TypeScript | Funciones, clases, métodos, interfaces | importaciones, llamadas, herencia |
JavaScript | Funciones, clases, métodos | importaciones, llamadas, herencia |
Go | Funciones, structs, métodos, interfaces | importaciones, llamadas |
Java | Clases, métodos, interfaces | importaciones, llamadas, herencia |
C / C++ | Funciones, clases, métodos, structs | includes, llamadas, herencia |
C# | Clases, métodos, interfaces | using, llamadas, herencia |
PHP | Funciones, clases, métodos | use, llamadas, herencia |
Ruby | Clases, métodos, módulos | require, llamadas, herencia |
Kotlin | Funciones, clases, métodos | importaciones, llamadas, herencia |
Swift | Funciones, clases, structs, protocolos | importaciones, llamadas, herencia |
Scala | Funciones, clases, objetos, traits | importaciones, llamadas, herencia |
Bash | Funciones | source, llamadas |
Instalación
Servidor MCP (recomendado)
# Claude Code
claude mcp add rpg -- npx -y -p rpg-encoder rpg-mcp-server
# Cursor — add to ~/.cursor/mcp.json
{
"mcpServers": {
"rpg": {
"command": "npx",
"args": ["-y", "-p", "rpg-encoder", "rpg-mcp-server"]
}
}
}El servidor detecta automáticamente la raíz del proyecto desde el directorio de trabajo actual — no se necesita ningún argumento de ruta.
npm install -g rpg-encoder
# Build a graph
rpg-encoder build
# Query
rpg-encoder search "parse entities from source code"
rpg-encoder fetch "src/parser.rs:extract_entities"
rpg-encoder explore "src/parser.rs:extract_entities" --direction both --depth 2
rpg-encoder info
# Autonomous lifting via API
rpg-encoder lift --provider anthropic --dry-run # estimate cost
rpg-encoder lift --provider anthropic # lift with Haiku (~$0.02/100 entities)
# Incremental update
rpg-encoder update
# Pre-commit hook (auto-updates graph on commit)
rpg-encoder hook installgit clone https://github.com/userFRM/rpg-encoder.git
cd rpg-encoder && cargo build --releaseLuego apunta tu configuración de MCP a target/release/rpg-mcp-server.
Documentación
Cómo se compara RPG — comparación honesta con GitNexus, Serena, Repomix y otros
Fidelidad al paper — comparación algoritmo por algoritmo con el artículo de investigación
Casos de uso — ejemplos prácticos de lo que RPG permite
CHANGELOG — historial de lanzamientos
Inspiraciones y referencias
rpg-encoder está construido sobre el marco teórico del artículo de investigación RPG-Encoder, con extensiones originales inspiradas en herramientas del panorama de la inteligencia de código:
Artículo de RPG-Encoder (Luo et al., 2026, Microsoft Research) — modelo de elevación semántica, construcción de jerarquía de 3 niveles, algoritmos de evolución incremental, modelo de grafo formal
G = (V_H ∪ V_L, E_dep ∪ E_feature).GitNexus — inteligencia relacional precomputada, análisis de radio de impacto, hooks de Claude Code. Demostró que una herramienta de grafo de código debe ser invisible para ser esencial.
Serena — precisión a nivel de símbolo mediante LSP. Demostró que la conciencia del código en tiempo real importa más que el análisis por lotes.
TOON — Token-Oriented Object Notation para salida optimizada para LLM.
Esta es una implementación independiente. Todo el código es trabajo original bajo la licencia MIT. No está afiliado ni respaldado por Microsoft.
Licencia
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceSupercharges AI coding agents with a pre-indexed semantic code graph, enabling instant symbol relationships, impact analysis, and context retrieval across 20+ languages.83,49166,716MIT
- Alicense-qualityCmaintenanceProvides semantic code search and code insights via a knowledge graph, enabling AI to understand, navigate, and modify complex projects with deep dependency and architecture analysis.MIT
- Alicense-qualityCmaintenanceProvides a semantic understanding of your codebase by parsing with tree-sitter and building a graph of symbols and dependencies. Enables AI assistants to navigate code, analyze changes, and discover architecture using 18 tools with minimal context overhead.121MIT
- Alicense-qualityBmaintenanceSupercharges AI coding agents with semantic code intelligence, providing pre-built knowledge graphs for surgical context, faster answers, and fewer tool calls.MIT
Related MCP Connectors
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Your company's brain for AI agents. Cited, permission-aware knowledge across every system.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/userFRM/rpg-encoder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server