Skip to main content
Glama

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-server

Un 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

grep -r / rg (por intención)

search_node(query="...")

grep -r / rg (por nombre)

search_node(query="...", mode="snippets")

cat / leer una función

fetch_node(entity_id="file:name")

greps encadenados para llamadores/llamados

explore_rpg(entity_id="...", direction="...")

grep recursivo para "qué depende de X"

impact_radius(entity_id="...")

wc -l / find / tree

rpg_info

leer muchos archivos para contexto

semantic_snapshot

cadenas manuales de búsqueda → captura → exploración

context_pack(query="...")

"cómo refactorizo X de forma segura"

plan_change(goal="...")

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

  1. Analiza — Tree-sitter extrae entidades (funciones, clases, métodos) y aristas de dependencia (imports, llamadas, herencia) de 15 lenguajes.

  2. 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".

  3. 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.

  4. Comprendesemantic_snapshot comprime 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

auto_lift(provider="anthropic", api_key_env="ANTHROPIC_API_KEY")

~$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

rpg-core

Tipos de grafo (RPGraph, Entity, HierarchyNode), almacenamiento, algoritmo LCA

rpg-parser

Extracción de entidades y dependencias con Tree-sitter (15 lenguajes)

rpg-encoder

Pipeline de codificación, utilidades de levantamiento, evolución incremental

rpg-nav

Búsqueda, captura, exploración, instantánea, serialización TOON

rpg-lift

Levantamiento LLM autónomo (Anthropic, OpenAI, OpenRouter, Gemini)

rpg-cli

Binario CLI (rpg-encoder)

rpg-mcp

Binario servidor MCP (rpg-mcp-server) con 27 herramientas


Herramientas MCP (27)

Herramienta

Descripción

build_rpg

Indexa la base de código (se ejecuta una vez, al instante)

update_rpg

Actualización incremental a partir de cambios de git

reload_rpg

Recarga el grafo desde disco tras cambios externos

rpg_info

Estadísticas del grafo, visión general de la jerarquía, cobertura de levantamiento por área

Herramienta

Descripción

semantic_snapshot

Comprensión semántica de todo el repositorio en una llamada (~25K tokens para 1000 entidades)

search_node

Busca entidades por intención o palabras clave (puntuación híbrida de embeddings + léxica)

fetch_node

Obtén metadatos de entidad, código fuente, dependencias y contexto de jerarquía

explore_rpg

Recorre el grafo de dependencias (ascendente, descendente o ambos)

context_pack

Búsqueda + captura + exploración en una sola llamada con presupuesto de tokens

Herramienta

Descripción

impact_radius

Análisis de alcanzabilidad BFS — "¿qué depende de X?"

plan_change

Planificación de cambios: entidades relevantes, orden de modificación, radio de explosión

find_paths

Las K rutas de dependencia más cortas entre dos entidades

slice_between

Extrae el subgrafo de conexión mínimo entre entidades

analyze_health

Salud del código: acoplamiento, inestabilidad, god objects, detección de clones

detect_cycles

Encuentra dependencias circulares y ciclos arquitectónicos

reconstruct_plan

Plan de ejecución de reconstrucción seguro frente a dependencias

Tool

Descripción

auto_lift

Elevación autónoma de una sola llamada mediante API LLM económica (Haiku, GPT-4o-mini, OpenRouter, Gemini)

lifting_status

Panel — cobertura, progreso por área, SIGUIENTE PASO

get_entities_for_lifting

Obtener el código fuente de la entidad para que tu agente lo analice

submit_lift_results

Enviar las características semánticas del agente de vuelta al grafo

finalize_lifting

Agregar características a nivel de archivo, reconstruir metadatos de jerarquía

get_files_for_synthesis

Obtener características de entidades a nivel de archivo para síntesis holística

submit_file_syntheses

Enviar resúmenes holísticos a nivel de archivo

build_semantic_hierarchy

Obtener indicaciones de descubrimiento de dominio + asignación de jerarquía

submit_hierarchy

Aplicar asignaciones de jerarquía al grafo

get_routing_candidates

Obtener entidades que necesitan enrutamiento semántico (desviadas o recién elevadas)

submit_routing_decisions

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 install
git clone https://github.com/userFRM/rpg-encoder.git
cd rpg-encoder && cargo build --release

Luego apunta tu configuración de MCP a target/release/rpg-mcp-server.


Documentación


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

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
3hResponse time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

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

  • A
    license
    -
    quality
    A
    maintenance
    Supercharges AI coding agents with a pre-indexed semantic code graph, enabling instant symbol relationships, impact analysis, and context retrieval across 20+ languages.
    83,491
    66,716
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Provides 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
  • A
    license
    -
    quality
    C
    maintenance
    Provides 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.
    12
    1
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Supercharges AI coding agents with semantic code intelligence, providing pre-built knowledge graphs for surgical context, faster answers, and fewer tool calls.
    MIT

View all related MCP servers

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).

View all MCP Connectors

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/userFRM/rpg-encoder'

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