Skip to main content
Glama

registree

test PyPI Python License: MIT

Eine Anti-Halluzinations-Klassenregistrierung für Coding-Agenten, bereitgestellt über MCP.

Coding-Agenten raten Konstruktorsignaturen aus dem Gedächtnis – ein Schlüsselwort, das nicht existiert, ein erforderliches Argument, das fehlt – und du bezahlst für das Raten mit einem TypeError und einer Debugging-Runde. registree entfernt das Raten: Es durchläuft deine Codebasis mit ast (importiert nie), erstellt eine Registrierung jeder Klassen­definition und stellt sie als MCP-Tools bereit, damit der Agent die Signatur verifizieren kann, bevor er den Aufruf schreibt.

Zwei Prinzipien durchziehen jedes Tool:

  • Namen bilden auf Listen ab. Ein doppelter Klassenname gibt jede Definition zurück; der Server wählt nie stillschweigend den ersten Treffer.

  • Ehrlichkeit vor Selbstvertrauen. Ein offener Konstruktor (**kwargs, Pydantic extra=/alias=) meldet seinen Vertrag als unbekannt, nie als leere Liste, die so tut, als wäre sie eine Antwort.

So funktioniert es

  1. Scannen – Ein AST-Durchlauf über deinen Quellbaum extrahiert jede Klasse: Konstruktorparameter (einschließlich **kwargs und positional-only), typisierte Felder mit Standardwerten, Vererbung, Docstrings. Die Klassifizierung ist transitiv: Ein Modell, das über die eigene Basisklasse deines Projekts läuft, wird weiterhin als Pydantic-Modell erkannt.

  2. Bereitstellen – Die Registrierung wird als JSON gecacht und über MCP stdio bereitgestellt. Sie wartet sich selbst: wird bei erster Nutzung generiert, neu generiert, wenn eine gescannte Datei neuer als der Cache ist.

  3. Antworten – Der Agent fragt sie im Moment der Nutzung ab, statt zu raten.

Related MCP server: Lore MCP Server

MCP-Tools

tool

Verwendung

get_signature

vor dem Schreiben eines Konstruktoraufrufs – erforderliche Argumente, akzeptierte Schlüsselwörter, jede Definition eines doppelten Namens

verify_snippet

nach dem Entwurf von Code – prüft Konstruktoraufrufe gegen die Registrierung

search_classes

wenn du dir über den genauen Klassennamen unsicher bist

list_duplicates

welche Namen einen expliziten Import zur Disambiguierung benötigen

get_usages

vor einer Umbenennung – jede Verwendung, einschließlich über Import-Aliase (X as XDB)

server_info

Serverstatus und Registrierungsgröße

Installation

Keine Installation nötig mit uv – MCP-Clients starten es mit uvx. Für direkte CLI-Nutzung:

uv tool install registree   # or: pip install registree

Erfordert Python 3.12+.

Binde es in deinen Agenten ein

Jeder MCP-Client, JSON-Konfigurationsform:

{
  "mcpServers": {
    "registree": {
      "command": "uvx",
      "args": ["registree", "serve", "--root", "/path/to/your/project"]
    }
  }
}

Wenn --root weggelassen wird, wird das Verzeichnis bedient, in dem der Client den Server startet, was für die meisten MCP-Clients das Projektstammverzeichnis ist.

Agentenkompatibilität

Die MCP-Tools funktionieren mit jedem MCP-Client – Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Zed, VS Code Copilot Agent Mode, Gemini CLI und allem anderen, das MCP über stdio spricht. Strukturierte Tool-Ausgaben degradieren für Clients, die nur Textinhalte lesen, elegant.

Die Hook-Adapter (hook-check, hook-regen) zielen auf Claude Codes Hook-Protokoll, das eine ausstehende Dateibearbeitung abfangen und dem Modell beratendes Feedback bevor der Schreibvorgang landet, geben kann – ein deterministischer Checkpoint, den die MCP-Ebene allein nicht bieten kann. Siehe docs/claude-code.md.

Dieses Protokoll verbreitet sich: VS Code Copilot Agent Mode (Preview) liest dasselbe Format – gleiche Ereignisse, gleiches stdin-JSON, sogar .claude/settings.json – und die Adapter tolerieren seine camelCase-Feldnamen. Codex CLI und Gemini CLI verwenden ähnlich genug Hook-Verträge, sodass Portierungen unkompliziert sind. Agenten, deren Hook-Systeme Dateibearbeitungen nicht vor der Anwendung abfangen können (Cursor, Windsurf ohne Modell-Feedback, Zed ohne Hooks), erhalten trotzdem das volle MCP-Toolset – die Hooks fügen nur eine deterministische Ebene hinzu, wo die Plattform eine unterstützt.

CLI

Dieselbe Engine ist direkt verfügbar:

registree gen                 # build the registry
registree conflicts           # duplicate names: accepted layering vs smells
registree usages SomeClass    # every usage, alias-aware — run before renames
registree hook-check          # Claude Code PreToolUse adapter (advisory)
registree hook-regen          # Claude Code PostToolUse adapter (debounced)

registree conflicts beendet sich nur bei doppelten Namen mit einem Nicht-Null-Exit-Code, die echte Code-Smells sind – das akzeptierte ORM/Domain-Schicht-Paar besteht –, sodass es von Anfang an sicher in CI eingebunden werden kann.

Der Registry-Cache

Liegt standardmäßig unter .registree/registry.json – füge .registree/ zu deiner .gitignore hinzu. Jeder Befehl, der es berührt, akzeptiert --registry-path, um es woanders abzulegen; relative Pfade werden am Projektstamm verankert.

Entwicklung

uv sync            # creates .venv, installs deps + dev tools
uv run pytest      # includes a real stdio JSON-RPC handshake test
uv run mypy src tests
uv run ruff check .
uv run black --check .

Starte den Server direkt (spricht MCP über stdio; beendet sich bei EOF):

uv run registree

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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
    A
    quality
    D
    maintenance
    Provides coding agents with a mental map of codebases via progressive disclosure, enabling efficient exploration of project structure and entity relationships.
    3
    6
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLM agents to query a codebase's structural knowledge (symbols, imports, call graphs, etc.) via MCP, reducing tokens and improving correctness compared to raw file access.
    26
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM agents to efficiently understand and navigate a codebase by providing semantic search over symbols and a reference graph, replacing expensive grep/glob calls with structured tools like definition lookup, caller/callee queries, and change-impact analysis.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables coding agents to navigate and query source code by providing context, symbols, and call graph information through a graph index.
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

  • Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.

  • One shared brain for your AI coding agents: team memory, agent Q&A, tasks, and file claims.

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/aucontraire/registree'

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