Skip to main content
Glama

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

Ein 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

grep -r / rg (nach Absicht)

search_node(query="...")

grep -r / rg (nach Name)

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

cat / Lesen einer Funktion

fetch_node(entity_id="file:name")

verkettete greps für Aufrufer/Aufgerufene

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

rekursives grep für "was hängt von X ab"

impact_radius(entity_id="...")

wc -l / find / tree

rpg_info

viele Dateien für Kontext lesen

semantic_snapshot

manuelle Suche → Abrufen → Erkunden-Ketten

context_pack(query="...")

"wie refaktoriere ich X sicher"

plan_change(goal="...")

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

  1. Parsen — Tree-sitter extrahiert Entitäten (Funktionen, Klassen, Methoden) und Abhängigkeitskanten (Importe, Aufrufe, Vererbung) aus 15 Sprachen.

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

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

  4. Verstehensemantic_snapshot komprimiert 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

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

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

rpg-core

Graphtypen (RPGraph, Entity, HierarchyNode), Speicherung, LCA-Algorithmus

rpg-parser

Tree-sitter-Entitäts- und Abhängigkeitsextraktion (15 Sprachen)

rpg-encoder

Kodierungspipeline, Lifting-Dienstprogramme, inkrementelle Entwicklung

rpg-nav

Suche, Abruf, Erkunden, Snapshot, TOON-Serialisierung

rpg-lift

Autonomes LLM-Lifting (Anthropic, OpenAI, OpenRouter, Gemini)

rpg-cli

CLI-Binärdatei (rpg-encoder)

rpg-mcp

MCP-Server-Binärdatei (rpg-mcp-server) mit 27 Tools


MCP-Tools (27)

Tool

Beschreibung

build_rpg

Codebasis indizieren (einmal ausführen, sofort)

update_rpg

Inkrementelles Update aus Git-Änderungen

reload_rpg

Graph nach externen Änderungen von der Festplatte neu laden

rpg_info

Graphstatistiken, Hierarchieübersicht, Lifting-Abdeckung pro Bereich

Tool

Beschreibung

semantic_snapshot

Semantisches Verständnis des gesamten Repos in einem Aufruf (~25K Tokens für 1000 Entitäten)

search_node

Entitäten nach Absicht oder Schlüsselwörtern suchen (hybrides Embedding + lexikalisches Scoring)

fetch_node

Entitätsmetadaten, Quellcode, Abhängigkeiten und Hierarchiekontext abrufen

explore_rpg

Abhängigkeitsgraphen durchlaufen (upstream, downstream oder beides)

context_pack

Ein-Aufruf-Suche + Abruf + Erkunden mit Token-Budget

Tool

Beschreibung

impact_radius

BFS-Erreichbarkeitsanalyse – "was hängt von X ab?"

plan_change

Änderungsplanung – relevante Entitäten finden, Änderungsreihenfolge, Auswirkungsradius

find_paths

K-kürzeste Abhängigkeitspfade zwischen zwei Entitäten

slice_between

Minimalen Verbindungssubgraphen zwischen Entitäten extrahieren

analyze_health

Code-Gesundheit: Kopplung, Instabilität, God Objects, Klonerkennung

detect_cycles

Zirkuläre Abhängigkeiten und architektonische Zyklen finden

reconstruct_plan

Abhängigkeitssicherer Rekonstruktions-Ausführungsplan

Werkzeug

Beschreibung

auto_lift

Autonomes Liften per Einzelaufruf über eine günstige LLM-API (Haiku, GPT-4o-mini, OpenRouter, Gemini)

lifting_status

Dashboard — Abdeckung, Fortschritt pro Bereich, NÄCHSTER SCHRITT

get_entities_for_lifting

Entitätsquellcode für die Analyse durch Ihren Agenten abrufen

submit_lift_results

Die semantischen Merkmale des Agenten zurück in den Graphen übermitteln

finalize_lifting

Dateiebene-Merkmale aggregieren, Hierarchie-Metadaten neu aufbauen

get_files_for_synthesis

Entitätsmerkmale auf Dateiebene für eine ganzheitliche Synthese abrufen

submit_file_syntheses

Ganzheitliche Zusammenfassungen auf Dateiebene übermitteln

build_semantic_hierarchy

Prompts für Domänenerkennung + Hierarchiezuordnung abrufen

submit_hierarchy

Hierarchiezuordnungen auf den Graphen anwenden

get_routing_candidates

Entitäten abrufen, die semantisches Routing benötigen (abgewichen oder neu geliftet)

submit_routing_decisions

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

Richten Sie dann Ihre MCP-Konfiguration auf target/release/rpg-mcp-server aus.


Dokumentation


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

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