rpg-encoder
KI-Codierungsagenten verschwenden die meisten ihrer Tool-Aufrufe damit, sich mit grep, cat, find und Dateilesen durch deine Codebasis zu wühlen. rpg-encoder behebt das. Es baut einen semantischen Graphen deines Codes mit Tree-sitter auf – nicht nur was ruft was auf, sondern was jede Funktion tut – und gibt deinem KI-Assistenten via MCP in einem einzigen Tool-Aufruf Verständnis für das gesamte Repository.
Schnellstart
claude mcp add rpg -- npx -y -p rpg-encoder rpg-mcp-serverEin Befehl. Funktioniert mit Claude Code, Cursor, opencode, Windsurf oder jedem MCP-kompatiblen Agenten. Kein Rust-Toolchain, kein Klonen, kein Bauen – npx lädt eine vorgefertigte Binärdatei für deine Plattform herunter.
Öffne dann ein beliebiges Repo und sage deinem Agenten:
"Build und Lift den RPG für dieses Repo"
Dein Agent übernimmt alles: indiziert Entitäten (Sekunden), liest jede Funktion und fügt Merkmale auf Intentionsebene hinzu (ein paar Minuten), organisiert sie in eine semantische Hierarchie und committet .rpg/graph.json für dein Team.
Bei Repos mit ~100+ Entitäten wird lifting_status deinem Agenten sagen, dass er die Lifting-Schleife an einen Sub-Agenten oder ein günstigeres Modell delegieren soll – Feature-Extraktion ist Mustererkennung, keine neue Denkleistung. Wenn deine Laufzeit keinen Sub-Agenten-Mechanismus hat, führe rpg-encoder lift --provider anthropic|openai vom Terminal mit einem API-Schlüssel aus – die CLI steuert ein externes LLM direkt, ohne Beteiligung des Agenten. Nachdem die CLI fertig ist, rufe reload_rpg in deiner Sitzung auf, um den aktualisierten Graphen zu laden. Die CLI liftet Entitäten ohne Merkmale; das erneute Liften veralteter Entitäten (Merkmale vorhanden, aber nach Codeänderungen veraltet) wird über den In-Sitzungs-MCP-Flow abgewickelt, nicht über die CLI.
Sobald geliftet, probiere aus:
"Was kümmert sich um Authentifizierung?" – findet Code, auch wenn nichts "auth" heißt
"Zeig alles, was von der Datenbankverbindung abhängt"
"Plane eine Änderung, um Ratenbegrenzung zu API-Endpunkten hinzuzufügen"
Related MCP server: code-intel
Nutze RPG vor grep, cat, find
Die Server-Anweisungen sagen deinem Agenten, dass er bei Fragen zur Codestruktur oder zum Verhalten ZUERST nach RPG-Tools greifen soll. Dieser Reflex zählt – grep, cat und Ad-hoc-Dateilesen verbrennen Tokens und übersehen semantische Beziehungen, die RPG bereits kennt.
Wenn du sonst zu ... greifen würdest | Nutze stattdessen dies |
|
|
|
|
|
|
verkettete greps für Aufrufer/Aufgerufene |
|
rekursives grep für "was hängt von X ab" |
|
|
|
viele Dateien für Kontext lesen |
|
manuelle Suche → Abrufen → Erkunden-Ketten |
|
"wie refaktoriere ich X sicher" |
|
Greife nur dann auf grep, cat oder Dateilesen zurück, wenn es um wörtlichen Text geht (Zeichenkettensuche, Kommentare, TODOs, Logmeldungen) – nicht um Struktur.
So funktioniert's
Parsen — Tree-sitter extrahiert Entitäten (Funktionen, Klassen, Methoden) und Abhängigkeitskanten (Importe, Aufrufe, Vererbung) aus 15 Sprachen.
Liften — Ein LLM (dein Agent oder eine günstige API wie Haiku) liest jede Entität und schreibt Verb-Objekt-Merkmale: "JWT-Tokens validieren", "Konfiguration auf die Festplatte serialisieren".
Organisieren — Merkmale gruppieren sich zu einer 3-Ebenen-semantischen Hierarchie (Bereich → Kategorie → Unterkategorie), die aus dem, was der Code tut, entsteht, nicht aus dem Dateibaum.
Verstehen —
semantic_snapshotkomprimiert den gesamten Graphen in ~25K Tokens. Dein LLM liest ihn einmal und kennt das Repo.
Der semantische Snapshot
Anstatt durch Dateien zu greppen, ruft das LLM semantic_snapshot einmal auf und erhält:
Hierarchie — jeden funktionalen Bereich mit aggregierten Merkmalen
Entitäten — jede Funktion, Klasse, Methode, gruppiert nach Bereich, mit ihren semantischen Merkmalen
Abhängigkeitsskelett — kondensierter Aufrufgraph mit qualifizierten Namen
Hot Spots — die 10 am stärksten verbundenen Entitäten (das architektonische Rückgrat)
~25K Tokens decken ~1000 Entitäten ab. Das sind 2-3% eines 1M-Kontextfensters – das LLM startet jede Sitzung und kennt dein Repo bereits.
Selbstwartender Graph
Wann immer sich dein Arbeitsbaum ändert – committet, gestaged oder unstaged – synchronisiert der MCP-Server automatisch neu, bevor er auf die nächste Abfrage antwortet. Ein Änderungssatz-Hash über (Pfad, Größe, mtime) bedeutet, dass wiederholtes Speichern derselben Datei nur eine Synchronisierung auslöst und Leerlauf-Abfragen keine auslösen. Auch Rückgängigmachungen werden erkannt: Wenn eine zuvor geänderte Datei in ihren HEAD-Zustand zurückkehrt, wird der Graph wiederhergestellt.
Zwei Arten zu liften
Modus | Befehl | Kosten | Wer zahlt |
Agenten-Lifting | "Build und Lift den RPG" | Abo-Tokens | Dein Claude Code / Cursor-Abo |
Autonomes Lifting |
| ~$0,02 pro 100 Entitäten | Externer API-Schlüssel (Haiku, GPT-4o-mini, OpenRouter, Gemini) |
auto_lift ruft direkt ein günstiges externes LLM auf – dein Codierungs-Abo wird nie mit der Lifting-Arbeit belastet. Verwende api_key_env, um Schlüssel aus Umgebungsvariablen aufzulösen, damit sie nie in Tool-Aufruf-Transkripten erscheinen.
Architektur
Sieben Rust-Crates, eine MCP-Server-Binärdatei, eine CLI-Binärdatei:
Crate | Rolle |
| Graphtypen (RPGraph, Entity, HierarchyNode), Speicherung, LCA-Algorithmus |
| Tree-sitter-Entitäts- und Abhängigkeitsextraktion (15 Sprachen) |
| Kodierungspipeline, Lifting-Dienstprogramme, inkrementelle Entwicklung |
| Suche, Abruf, Erkunden, Snapshot, TOON-Serialisierung |
| Autonomes LLM-Lifting (Anthropic, OpenAI, OpenRouter, Gemini) |
| CLI-Binärdatei ( |
| MCP-Server-Binärdatei ( |
MCP-Tools (27)
Tool | Beschreibung |
| Codebasis indizieren (einmal ausführen, sofort) |
| Inkrementelles Update aus Git-Änderungen |
| Graph nach externen Änderungen von der Festplatte neu laden |
| Graphstatistiken, Hierarchieübersicht, Lifting-Abdeckung pro Bereich |
Tool | Beschreibung |
| Semantisches Verständnis des gesamten Repos in einem Aufruf (~25K Tokens für 1000 Entitäten) |
| Entitäten nach Absicht oder Schlüsselwörtern suchen (hybrides Embedding + lexikalisches Scoring) |
| Entitätsmetadaten, Quellcode, Abhängigkeiten und Hierarchiekontext abrufen |
| Abhängigkeitsgraphen durchlaufen (upstream, downstream oder beides) |
| Ein-Aufruf-Suche + Abruf + Erkunden mit Token-Budget |
Tool | Beschreibung |
| BFS-Erreichbarkeitsanalyse – "was hängt von X ab?" |
| Änderungsplanung – relevante Entitäten finden, Änderungsreihenfolge, Auswirkungsradius |
| K-kürzeste Abhängigkeitspfade zwischen zwei Entitäten |
| Minimalen Verbindungssubgraphen zwischen Entitäten extrahieren |
| Code-Gesundheit: Kopplung, Instabilität, God Objects, Klonerkennung |
| Zirkuläre Abhängigkeiten und architektonische Zyklen finden |
| Abhängigkeitssicherer Rekonstruktions-Ausführungsplan |
Werkzeug | Beschreibung |
| Autonomes Liften per Einzelaufruf über eine günstige LLM-API (Haiku, GPT-4o-mini, OpenRouter, Gemini) |
| Dashboard — Abdeckung, Fortschritt pro Bereich, NÄCHSTER SCHRITT |
| Entitätsquellcode für die Analyse durch Ihren Agenten abrufen |
| Die semantischen Merkmale des Agenten zurück in den Graphen übermitteln |
| Dateiebene-Merkmale aggregieren, Hierarchie-Metadaten neu aufbauen |
| Entitätsmerkmale auf Dateiebene für eine ganzheitliche Synthese abrufen |
| Ganzheitliche Zusammenfassungen auf Dateiebene übermitteln |
| Prompts für Domänenerkennung + Hierarchiezuordnung abrufen |
| Hierarchiezuordnungen auf den Graphen anwenden |
| Entitäten abrufen, die semantisches Routing benötigen (abgewichen oder neu geliftet) |
| Routing-Entscheidungen übermitteln (Hierarchiepfad oder "keep") |
Unterstützte Sprachen
Sprache | Entitätsextraktion | Abhängigkeitsauflösung |
Python | Funktionen, Klassen, Methoden | Importe, Aufrufe, Vererbung |
Rust | Funktionen, Structs, Traits, impl-Methoden | use, Aufrufe, Trait-Implementierungen |
TypeScript | Funktionen, Klassen, Methoden, Schnittstellen | Importe, Aufrufe, Vererbung |
JavaScript | Funktionen, Klassen, Methoden | Importe, Aufrufe, Vererbung |
Go | Funktionen, Structs, Methoden, Schnittstellen | Importe, Aufrufe |
Java | Klassen, Methoden, Schnittstellen | Importe, Aufrufe, Vererbung |
C / C++ | Funktionen, Klassen, Methoden, Structs | Includes, Aufrufe, Vererbung |
C# | Klassen, Methoden, Schnittstellen | using, Aufrufe, Vererbung |
PHP | Funktionen, Klassen, Methoden | use, Aufrufe, Vererbung |
Ruby | Klassen, Methoden, Module | require, Aufrufe, Vererbung |
Kotlin | Funktionen, Klassen, Methoden | Importe, Aufrufe, Vererbung |
Swift | Funktionen, Klassen, Structs, Protokolle | Importe, Aufrufe, Vererbung |
Scala | Funktionen, Klassen, Objekte, Traits | Importe, Aufrufe, Vererbung |
Bash | Funktionen | source, Aufrufe |
Installation
MCP-Server (empfohlen)
# 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"]
}
}
}Der Server erkennt das Projektstammverzeichnis automatisch aus dem aktuellen Arbeitsverzeichnis — kein Pfadargument erforderlich.
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 --releaseRichten Sie dann Ihre MCP-Konfiguration auf target/release/rpg-mcp-server aus.
Dokumentation
Wie RPG abschneidet — ehrlicher Vergleich mit GitNexus, Serena, Repomix und anderen
Paper-Treue — Algorithmus-für-Algorithmus-Vergleich mit der Forschungsarbeit
Anwendungsfälle — praktische Beispiele dafür, was RPG ermöglicht
CHANGELOG — Versionshistorie
Inspirationen & Referenzen
rpg-encoder basiert auf dem theoretischen Rahmen der RPG-Encoder-Forschungsarbeit, mit ursprünglichen Erweiterungen, die von Tools aus der Code-Intelligence-Landschaft inspiriert sind:
RPG-Encoder-Paper (Luo et al., 2026, Microsoft Research) — semantisches Lifting-Modell, Konstruktion einer dreistufigen Hierarchie, inkrementelle Evolutionsalgorithmen, formales Graphmodell
G = (V_H ∪ V_L, E_dep ∪ E_feature).GitNexus — vorkalkulierte relationale Intelligenz, Blast-Radius-Analyse, Hooks für Claude Code. Zeigte, dass ein Code-Graph-Tool unsichtbar sein muss, um unverzichtbar zu sein.
Serena — Präzision auf Symbolebene über LSP. Zeigte, dass Echtzeit-Codebewusstsein wichtiger ist als Stapelanalyse.
TOON — Token-Oriented Object Notation für LLM-optimierte Ausgabe.
Dies ist eine unabhängige Implementierung. Der gesamte Code ist Originalarbeit unter der MIT-Lizenz. Weder mit Microsoft verbunden noch von Microsoft unterstützt.
Lizenz
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