Clonst
Clonst – KI-Code-Review-MCP für Claude Code, unterstützt von Codex
Holen Sie sich eine zweite KI-Meinung zu Ihrem Code, bevor er ausgeliefert wird. Clonst ist ein Model Context Protocol (MCP)-Server, der Claude Code mit OpenAI Codex für adversariales Code-Review verbindet: Claude schreibt den Plan oder den Code, Codex kritisiert ihn, Claude überarbeitet, und das Pingpong wiederholt sich, bis beide Modelle einen Konsens erreichen. Es läuft auf Ihrem bestehenden ChatGPT-Abonnement über die offizielle Codex CLI. Keine API-Schlüssel, keine zusätzliche Abrechnung.
Unabhängiges Projekt. Nicht verbunden mit OpenAI ("Codex", "ChatGPT") oder Anthropic ("Claude").
Warum ein zweites Modell?
Ein LLM, das seine eigene Ausgabe überprüft, teilt die eigenen blinden Flecken. Ein zweites Modell, von einem anderen Anbieter, mit eigenem Training und eigenem Gedächtnis, fängt ein, was das erste übersehen hat: falsche Annahmen, fehlende Randfälle, zerbrechliche Migrationen, Race Conditions, Sicherheitslücken. Clonst verwandelt das in eine strukturierte Review-Schleife mit einem harten Ausstiegskriterium: Konsens, nicht Höflichkeit.
Related MCP server: claude-code-codex-agents
Funktionen
Null Aufwand. Installieren Sie es und vergessen Sie es: Claude löst das Review von selbst aus, und nur wenn die Änderung Ihr Kontingent wert ist.
Pingpong bis zum Konsens. Standardmäßig unbegrenzte Runden. Strukturierte Urteile (APPROVED / CHANGES_NEEDED), erforderliche Änderungen, Vorschläge, Risiken. Claude kann eine Kritik mit Begründung ablehnen; Codex bewertet die Ablehnung in der nächsten Runde neu.
Echtes Sitzungsgedächtnis. Codex setzt bei jeder Runde dieselbe CLI-Sitzung fort und merkt sich seine früheren Kritiken. Kein erneutes Senden des Kontexts, kein Goldfisch-Reviewer.
Ihr ChatGPT-Abonnement, keine API-Schlüssel. Reviews laufen über die offizielle
codexCLI und deren vorhandene Anmeldung.Wählen Sie Ihren Reviewer. Standardmäßig verwenden Reviews das Modell und den Reasoning-Aufwand, mit dem Ihre codex CLI bereits konfiguriert ist. Eine Zeile in
~/.clonst/config.jsongibt Reviews ihre eigene Einstellung (z. B. einen schnelleren, günstigeren Aufwand), ohne Ihre Codex-Erweiterung zu berühren – siehe Konfiguration.Kostentransparenz. Der Abschlussbericht zeigt das Reviewermodell, die Runden, die Gesamtdauer und die verbrauchten Token – frische Token hervorgehoben, Cache-Wiederholungen separat aufgeführt, sodass kumulative Summen nie beängstigender aussehen, als sie sind.
Ein Prüfpfad, der die Konversation überlebt. Jedes Review schreibt einen strukturierten Markdown-Bericht (Zusammenfassung in einfacher Sprache + die Forderungen, Änderungen und Ablehnungen jeder Runde, wortwörtlich) unter
~/.clonst/reports/.Absichtsdrift wird als erstklassige Prüfung behandelt. Der Reviewer misst das Ergebnis an Ihrem angegebenen Ziel, nicht nur an technischen Standards – eine „Korrektur“, die stillschweigend das gewünschte Verhalten ändert, wird gekennzeichnet, und Produktentscheidungen werden an Sie weitergeleitet, anstatt von einem LLM entschieden zu werden.
Pragmatisch von Natur aus. Das Review zielt auf wesentliche Mängel – was den normalen Gebrauch beeinträchtigt, Datenverlust verursacht, ein Sicherheitsloch öffnet oder eine teure Neuschreibung erzwingen würde – nicht auf Vollständigkeit. Seltenheit allein entschuldigt niemals einen schwerwiegenden Mangel, und ein später leicht zu behebendes Detail blockiert niemals Ihre Veröffentlichung.
Fragen, die Sie tatsächlich beantworten können. Haben Sie die Schleife laufen lassen und den Faden verloren? Jede an Sie gerichtete Frage wiederholt, was gerade gebaut wird, warum sie jetzt auftaucht und was jede Option ändert – in einfacher Sprache, kein Code-Lesen erforderlich.
Es merkt sich, was Sie ihm sagen. Sagen Sie, ein Review war zu pingelig oder eine Frage ergab keinen Sinn, und Clonst zeichnet es auf – selbst wenn Sie mit Claude statt mit Clonst gesprochen haben. Nichts ändert sich hinter Ihrem Rücken: es zählt, sagt Ihnen, wenn eine Bemerkung immer wieder kommt, und Sie entscheiden, was Sie damit tun.
Kollateralschäden werden auf beiden Seiten gejagt. Bevor der Reviewer eine Änderung fordert, muss er prüfen, was sonst noch durch diese Änderung kaputtgehen würde (Aufrufer, Verträge, entfernte Module); bevor Claude eine Änderung vornimmt, muss er dasselbe tun – und eine Ablehnung wegen Kollateralschäden kommt mit einer sichereren Alternative, nicht mit einem nackten Veto.
Ihre eigenen Review-Regeln für Ihr Projekt. Legen Sie eine
CLONST.mdim Projektstamm ab, und der Reviewer prüft Ihre Konventionen zusätzlich zu seinen eigenen Standards.CLAUDE.mdleitet den Autor;CLONST.mdleitet den Reviewer.Reviews in Ihrer Sprache. Kritiken kommen in der Sprache zurück, in der Sie arbeiten (pro Aufruf oder einmalig für alle mit
default_languagein der Konfiguration), während das Protokoll maschinenlesbares Englisch bleibt.Nichts geht je verloren. Jede rohe Antwort des Reviewers wird vor dem Parsen auf die Festplatte gespeichert.
Plattformübergreifend. Windows, macOS und Linux, alle drei werden von der CI abgedeckt.
Abgesichert. Prompt-Injection-Schutz, schreibgeschützte Sandbox, zugelassene CLI-Argumente, hermetische Testsuite (kein LLM-Aufruf, kein Kontingent).
Wann wird es ausgelöst?
Sie müssen nie danach fragen. Claude entscheidet, wann ein Review Ihr Kontingent wert ist, und die Regel lautet: Wichtigkeit, nicht Größe:
Wird selbstständig reviewt | Bleibt still |
Geschäftslogik, Berechnungen | Reine Darstellung (HTML/CSS, Text) |
Datenflüsse, Modelle, Migrationen | Dokumentation, Kommentare |
Routen, APIs, Integrationen | Umbenennungen ohne Verhaltensänderung |
Zustand, Fehlerbehandlung, Nebenläufigkeit | Lokale Konfigurationsänderungen |
Sicherheit, Authentifizierung | Einwegskripte und Prototypen |
Pläne und Architektur, vor dem Codieren | (im Zweifel fragt es Sie) |
Das Pingpong ist standardmäßig unbegrenzt: es läuft bis zum Konsens und meldet sich bei Ihnen alle 5 Runden (konfigurierbar). Und Sie können jedes Review in einfacher Sprache begrenzen: "review this, 3 rounds max".
So funktioniert es
You ── conversation ── Claude (reviser, keeps the conversation context)
│
│ clonst_review (MCP, one call = one critique)
▼
Clonst ── spawn ── codex exec [resume <thread_id>]
(reviewer, keeps its session)Die Schleife lebt auf Claude's Seite: er sendet ein, Codex kritisiert, Claude überarbeitet in der Konversation (vor Ihren Augen), reicht erneut mit der zurückgegebenen thread_id ein, bis consensus: true. Die Schleife wird vom Aufrufer gesteuert (die thread_id reist mit jedem Aufruf), während der Server pro Sitzung Aufzeichnungen auf der Festplatte führt: vollständige Protokolle, das Urteil der vorherigen Runde für genauen Abruf, die laufende Dauer/Token-Summen und der strukturierte Review-Bericht (bei jeder Runde neu generiert). Codex-Sitzungen bleiben auf der CLI-Seite bestehen.
Schnellstart
Anforderungen:
Claude Code – die Terminal-CLI oder die VS Code / JetBrains-Erweiterungen, die dieselbe MCP-Konfiguration teilen
Node.js 22+
Die Codex CLI, angemeldet mit einem ChatGPT-Plan:
npm install -g @openai/codex
codex loginClonst installieren (empfohlen, über npm):
claude mcp add clonst --scope user -- npx -y @clonst/clonstOder aus dem Quellcode:
git clone https://github.com/capritora/clonst.git && cd clonst
npm install && npm run build
claude mcp add clonst --scope user -- node /absolute/path/to/clonst/dist/index.jsPrüfen Sie die Funktion: Sagen Sie in einer neuen Claude Code-Konversation „ping clonst“. Erwartet: codex_available: true, codex_logged_in: true.
Wie ein Review aussieht
Reviews geschehen von selbst, aber Sie können sie auch steuern:
Schlagen Sie einen Plan für X vor und lassen Sie ihn dann von Clonst bis zum Konsens reviewen.
Lassen Sie diese Migration von Clonst reviewen, maximal 3 Runden.
Bitten Sie Clonst um ein sicherheitsorientiertes Review dieses Authentifizierungsflusses.
Sie sehen jede Überarbeitung in der Konversation, und beim Konsens endet Claude mit einem kurzen Bericht, zum Beispiel:
Clonst-Review: GPT-5.5 (hoher Aufwand), 2 Runden, 5 min 30 s, ~210k frische Eingabe plus 18k Ausgabetoken (kumulative Eingabe 2,8 Mio., davon 2,6 Mio. Cache-Wiederholungen). Der Reviewer forderte eine Anti-Doppelkorrektur-Grenze bei der Migration und ein Timeout für den API-Aufruf, beide umgesetzt. Ich habe einen Vorschlag (außerhalb des MVP-Umfangs) abgelehnt und der Reviewer akzeptierte die Begründung. Vollständiger Rundenbericht: ~/.clonst/reports/2026-07-06-a3f1...md
Möchten Sie die Details Runde für Runde? Fragen Sie einfach („walk me through the rounds“): Claude hat die gesamte Aussprache und berichtet auf Anfrage.
Die Review-Berichtsdatei
Jedes Review schreibt außerdem einen strukturierten Markdown-Bericht unter ~/.clonst/reports/, der bei jeder Runde aktualisiert wird – damit der Prüfpfad die Konversation überlebt. Er beginnt mit der Zusammenfassung in einfacher Sprache (nach dem Konsens wortwörtlich versiegelt), dann ein Abschnitt pro Runde mit den genauen Worten, die jede Partei verwendet hat:
was der Reviewer forderte, vorschlug und als riskant markierte (wortwörtlich)
was der Überarbeiter vor jeder Runde als geändert oder abgelehnt erklärte (wortwörtlich)
Modell, Aufwand, Dauer und Token pro Runde sowie Gesamtsummen des Reviews
ein Prüfpfad, der auf das Sitzungsprotokoll und die rohe Reviewer-Ausgabe verweist
Die Datei ist eine reine Projektion des serverseitigen Zustands: Nichts wird nachträglich umformuliert, und von einem LLM stammender Text wird maskiert, sodass keine gefälschten Berichtsabschnitte erstellt werden können. Ein Bericht, der mitten in einer Sitzung beginnt (wiederaufgenommener Thread), wird explizit als PARTIAL HISTORY gekennzeichnet. Zwei Kennungen, zwei Aufgaben: report_id benennt die Berichtsdatei, thread_id setzt die Reviewer-Sitzung fort.
Werkzeuge
clonst_ping
Server-Gesundheit: Verfügbarkeit der codex CLI, Version, Anmeldestatus, geladene Konfiguration, Protokollverzeichnis. Verbraucht kein Kontingent.
clonst_review
Eine strukturierte Kritik pro Aufruf. Parameter (alle steuern das aufrufende LLM; Sie schreiben diese normalerweise nie selbst):
Parameter | Standard | Rolle |
| - | Der zu überprüfende Plan/Code, vollständig (spätere Runden: die vollständig überarbeitete Version, niemals ein Diff) |
| none | Runde 1: Der Maßstab des Reviewers – Ziel, beabsichtigtes Verhalten, Nicht-Ziele, Einschränkungen, bereits getroffene Entscheidungen. Die Absichtsdrift-Prüfung misst das Ergebnis daran |
| none | ABSOLUTER Projektpfad: Codex läuft dort und liest die echten Dateien (schreibgeschützte Sandbox). Siehe Datenschutz unten |
| none | Spätere Runden: Die Kennung, die vom vorherigen Aufruf zurückgegeben wurde (setzt die Codex-Sitzung fort) |
| 1 (2 mit thread_id) | Rundennummer; harte Sicherheitsgrenze bei 50 |
| unbegrenzt | Harte Rundengrenze für dieses Review; bei Erreichen der Grenze geht die Uneinigkeit an den Benutzer |
| Sprache des Inhalts | Code wie „fr“ oder „pt-BR“: Der Reviewer schreibt Kritiken in dieser Sprache. Serverseitig aufgelöst; der Rohwert erreicht niemals den Prompt |
| all | Fehler, Architektur, Leistung, Sicherheit oder alles |
| none | Spätere Runden: Was geändert / mit Begründung abgelehnt wurde |
Ergebnis: verdict, consensus (nur true bei einem nachgewiesenen APPROVED: sauberes JSON, null erforderliche Änderungen, kein Fallback-Parsing), critique, required_changes, suggestions, risks_identified, thread_id, Dauer und Token-Nutzung pro Runde und gesamter Überprüfung, reviewer_model / reviewer_reasoning_effort (bestmögliche Auflösung: Überschreibung, sonst codex-Konfiguration, sonst null), report_id / report_path (die strukturierte Berichtsdatei; report_error, wenn sie nicht geschrieben werden konnte – die Überprüfung selbst ist nicht betroffen) und eine next_action-Anweisung (Text + typisierte Felder), die die Schleife steuert.
clonst_feedback
Zeichnet eine Bemerkung darüber auf, wie Clonst funktioniert – zu anspruchsvoll, unklare Frage, falscher Umfang, zu langsam, Ausgabestil. Claude ruft es selbst auf, wann immer du so etwas sagst, egal ob du Clonst, Claude oder niemanden direkt ansprichst. Nur Metadaten: kein Reviewer-Aufruf, kein Kontingent, kein Netzwerk. Es zählt Vorkommen pro Thema und teilt Claude mit, wenn eines wiederkehrend wird; es ändert niemals selbstständig ein Verhalten.
clonst_topics
Listet, durchsucht oder benennt diese Themen um. Nur lokaler Dateizugriff – es startet nie etwas. action: "list" / "search" (mit query, limit, offset), um zu sehen, was sich angesammelt hat; action: "describe", um die einzeilige Beschreibung eines Themas zu verbessern.
clonst_report_summary
Fügt die Zusammenfassung in Klartext nach dem Konsens unverändert in die Überprüfungsberichtsdatei ein. Erwartet report_id (von clonst_review zurückgegeben – nicht thread_id) und summary. Nur Metadaten: kein Reviewer-Spawn, kein Kontingent, idempotent.
Konfiguration
Optionale Datei, standardmäßig nicht vorhanden: Erstelle selbst ~/.clonst/config.json, um einen beliebigen Schlüssel zu ändern. Sie wird bei jedem Aufruf neu gelesen; ungültige Werte fallen mit einer Warnung auf den Standardwert zurück.
Schlüssel | Standard | Wirkung |
|
| Nur für Überprüfungen verwendetes Modell (z. B. |
|
| Reasoning-Aufwand nur für Überprüfungen (z. B. |
|
| Sprache der Kritiken, wenn der Aufrufer keine angibt, als Code wie |
|
| Wie oft ein Thema zurückkommen muss, bevor Claude es als wiederkehrend markiert (2–20) |
|
| Eine nur einmal gehörte Bemerkung wird nach dieser Anzahl Tagen gelöscht; alles, was zwei- oder mehrmals gesagt wurde, wird für immer behalten (30–3650) |
|
| Ohne explizites Limit fragt Claude dich alle N Runden (5, 10, 15…) um Bestätigung, bevor es fortfährt. KEIN Limit |
|
| Timeout eines einzelnen Codex-Aufrufs (Reasoning-Modelle brauchen Minuten) |
Beispiel, das Überprüfungen ein eigenes Modell und eine schnellere Aufwandsstufe gibt, während deine Codex-Erweiterung ihre eigenen Einstellungen behält:
{
"codex_model": "gpt-5.6-sol",
"codex_reasoning_effort": "medium"
}Verwende ein Modell, das deine codex-CLI tatsächlich bereitstellt (codex übernimmt es aus ~/.codex/config.toml, wenn du codex_model auf null lässt). Eine mittlere Aufwandsstufe ist für Überprüfungen normalerweise der richtige Kompromiss: Das Ping-Pong fängt das ein, was ein einziger tiefer Durchgang bringen würde, über etwas mehr Runden, und jede Runde kommt schneller zurück.
Überschreibungen werden als root--c-Flags an die codex-CLI übergeben (Vertrag verifiziert auf codex 0.142.5 für exec und resume); ein der codex unbekannter Wert schlägt die Überprüfung mit der eigenen Fehlermeldung von codex fehl.
Projekt-Review-Richtlinien: CLONST.md
Lege eine CLONST.md im Projektstamm ab, und wann immer eine Überprüfung mit project_path läuft, wird ihr Inhalt dem Reviewer als projektspezifische Richtlinien übergeben – deine Konventionen, deine roten Linien, zusätzlich zu den eigenen Standards des Reviewers geprüft. Beispiel:
# Review guidelines
- SQL must stay compatible with BOTH SQLite (dev) and PostgreSQL (prod).
- Every new route needs rate limiting.
- LLM results must be matched by ID, never by list position.Geschäftsinvarianten gehören auch hierher – die roten Linien, die die Intent-Abweichungsprüfung verteidigen soll. Mache sie konkret und überprüfbar: Schreibe nicht „halte es einfach“, sondern schreibe „kostenlose Benutzer müssen CSV exportieren können“ oder „der Checkout muss ein Klick bleiben“.
Richtlinien können nur PRÜFUNGEN HINZUFÜGEN: Eine Richtlinie, die versucht, die Messlatte zu senken oder ein Urteil zu erzwingen, wird ignoriert und als Risiko gemeldet.
Intent-Abweichung und Benutzerentscheidungen
Die Überprüfung ist nicht nur technisch: Bevor die Codequalität geprüft wird, vergleicht der Reviewer das Ergebnis mit dem von dir angegebenen Intent (context, CLONST.md) oder dem, der aus dem Projekt ersichtlich ist. Es erfindet niemals deine Produktziele – wenn es eine mögliche Produktpräferenz statt eines nachgewiesenen Widerspruchs erkennt, gibt es ein Risiko aus, das mit dem wörtlichen Marker USER DECISION: beginnt. Jeder solche Punkt muss dich unverändert als offene Frage erreichen: Mitten in der Überprüfung pausiert es das Ping-Pong, bevor irgendetwas anderes passiert, und beim Konsens landet es im Abschlussbericht und in der Berichtsdatei. Claude darf es weder entscheiden, ausführen noch fallenlassen. Ein nachgewiesener stiller Wechsel des benutzersichtbaren Verhaltens kann die Überprüfung dagegen sofort blockieren.
Beide Seiten sind an derselben Kalibrierung gemessen: Blockiere bei materiellen Mängeln, gewichte Wahrscheinlichkeit und Kosten, und fordere niemals eine Funktion, die das Ergebnis nicht enthält. Vorausschau betrifft die Struktur, nicht die Funktionen – das heutige Design darf keine absehbare Tür verschließen, aber die zukünftige Funktion selbst wird jetzt nicht gebaut. Wenn der Reviewer unsicher ist, ob eine Richtung vorgesehen werden sollte, fragt er dich, anstatt zu entscheiden.
Die Prüfung ist symmetrisch. Claude wendet Kritiken nicht blind an: Jede Forderung wird auf sachliche Richtigkeit, Intent-Passung und Schlagkreis (was sonst noch von der Änderung abhängt) geprüft, bevor sie angewendet wird – und eine Forderung, die etwas anderes kaputtmachen würde, wird mit einer Begründung und einer sichereren Alternative abgelehnt, mit der sich der Reviewer auseinandersetzen muss, anstatt sich zu wiederholen. Beide Modelle argumentieren auf eine Lösung hin; Sackgassen gehen an dich.
Dein Feedback, gemerkt
Sag Claude, eine Überprüfung sei zu pingelig gewesen oder eine Frage unlesbar, und es zeichnet die Bemerkung über clonst_feedback in ~/.clonst/feedback.jsonl auf – du musst Clonst dafür nie direkt ansprechen. Jede Bemerkung wird einem Thema mit einer einzeiligen Beschreibung zugeordnet, und Claude verwendet ein vorhandenes Thema wieder, wenn deine neue Bemerkung dasselbe bedeutet, egal wie unterschiedlich du es formulierst. Sobald ein Thema feedback_recurring_threshold-mal zurückkommt, teilt Claude dir das mit.
Nichts wird jemals automatisch angewendet: Keine aufgezeichnete Bemerkung gelangt jemals in die Eingabeaufforderung des Reviewers. Das Tagebuch zu lesen und zu entscheiden, was verbessert werden soll, ist eine menschliche Entscheidung – frage „Was sagt mein Feedback?“ und Claude gruppiert gleichwertige Themen in seiner Antwort. Eine nur einmal gesehene Bemerkung wird nach feedback_retention_days gelöscht; alles, was zwei- oder mehrmals gesagt wurde, wird unbegrenzt aufbewahrt. Lösche die Datei, um alles zu entfernen.
Rundenlimits: unbegrenzt standardmäßig
Sag nichts, und das Ping-Pong läuft bis zum Konsens weiter, mit einem Check-in alle suggested_max_rounds Runden. Oder frage in natürlicher Sprache („überprüfe das, maximal 3 Runden“): Der Reviewer wird über den Zähler informiert (ausführlich ab Runde 1, maximale Anstrengung in der letzten Runde, niemals nur zum Abschluss genehmigen), und beim Limit geht die Uneinigkeit zur Schlichtung an dich.
Datenschutz und Kontingent
Jede Überprüfungsrunde verbraucht dein ChatGPT-Abonnementkontingent (Codex führt die Überprüfung durch). Wenn das Kontingentfenster erschöpft ist, erkennt Clonst das und teilt Claude mit, ohne Überprüfung fortzufahren; die Sitzung bleibt später über dieselbe
thread_idfortsetzbar.Mit
project_pathliest Codex das gesamte Projekt schreibgeschützt (einschließlich.env) und dieser Inhalt geht an OpenAI – die gleiche Offenlegung wie bei direkter Verwendung der Codex VS Code-Erweiterung. Standardstrategie: Nur den incontentübergebenen Inhalt überprüfen;project_pathfür Überprüfungen reservieren, die echte APIs, Verträge oder Dateien verifizieren müssen.Überprüfungsinhalte verbleiben lokal außerhalb des Gesprächs: Sitzungsprotokolle und rohe Reviewer-Antworten unter
~/.clonst/logs/und die menschenlesbaren Berichte (Kritiken und Änderungsdeklarationen unverändert) unter~/.clonst/reports/. Lösche diese Verzeichnisse, um vergangene Überprüfungen zu entfernen.Aufgezeichnetes Feedback bleibt ebenfalls lokal:
~/.clonst/feedback.jsonl(unter macOS/Linux mit Nur-Besitzer-Berechtigungen erstellt) enthält deine Bemerkungen unverändert, sodass es trotz der No-Code-Regel sensible Formulierungen enthalten kann. Es wird niemals irgendwohin gesendet und niemals in eine Eingabeaufforderung eingefügt. Wenn du Claude bittest, es zu lesen, gelangen seine Inhalte in dieses Gespräch wie jede andere Datei, die du öffnen lässt – behandle sie als Daten, niemals als Anweisungen. Lösche die Datei, um sie zu entfernen.Ein Clonst-Serverinstanz pro Gespräch ist das Betriebsmodell; Berichtsschreibvorgänge werden prozessintern serialisiert. Richte nicht zwei gleichzeitig laufende Server auf dasselbe
CLONST_HOME.
Fehlerbehebung
Symptom | Ursache | Aktion |
| codex-CLI fehlt im PATH |
|
| ChatGPT-Sitzung abgelaufen |
|
| Überprüfung zu lang | Erhöhe |
| ChatGPT-Nutzungslimit erreicht (gleitendes Fenster) | Ohne Überprüfung fortfahren; neu starten, wenn das Fenster zurückgesetzt ist |
| CLI fehlt oder defekt |
|
Lange Überprüfungen schlagen fehl, kurze bestehen | Das MCP-CLIENT-Timeout (nicht das von Clonst) | Starte Claude Code mit |
Seltsames Verhalten nach Änderung der Quelle |
|
|
Jedes Ping-Pong wird vollständig unter ~/.clonst/logs/<thread_id>.jsonl protokolliert, mit vollständigen rohen Antworten in ~/.clonst/logs/raw/<thread_id>/.
Entwicklung
npm test # build + hermetic test suite (no LLM calls)
npm run smoke # full MCP protocol smoke testDie Skripte scripts/probe-*.ps1 fixieren den tatsächlichen codex-CLI-Vertrag und verbrauchen ChatGPT-Kontingent: nur manuelle Ausführung. Das ReviewerProvider-Interface ist für andere Reviewer-CLIs (z. B. Gemini) vorbereitet.
Lizenz
MIT. Bereitgestellt wie besehen, ohne Supportgarantie. Täglich vom Autor verwendet.
Available Tools
3 toolsclonst_pingA
Full Clonst server diagnostic: health, codex CLI availability and version, login status, loaded config, logs directory. Consumes no LLM quota.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool consumes no LLM quota and lists the diagnostic checks, but does not specify if there are side effects or network calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first efficiently lists the diagnostics, second adds the notable quota information. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool checks but not what it returns (e.g., health status format). Given no output schema, more detail on the response would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description adds value by explaining the tool's purpose, which is sufficient given no parameters are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Full Clonst server diagnostic' and lists specific aspects it checks (health, codex CLI availability and version, login status, loaded config, logs directory), distinguishing it from siblings that are summary/review tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Consumes no LLM quota' implying it's safe to use freely, but lacks explicit guidance on when to use this tool instead of siblings like clonst_report_summary or clonst_review.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clonst_report_summaryA
Seal your plain-language summary into the structured review report file, verbatim. Call it once after a consensus, with the report_id returned by clonst_review (NOT the thread_id: report_id identifies the report file, thread_id resumes the reviewer session) and the exact text of the final report you gave the user. Metadata-only: no reviewer spawn, no LLM quota. Idempotent: calling it again overwrites the summary.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | The exact plain-language summary you gave the user, verbatim. | |
| report_id | Yes | The report_id returned by clonst_review (distinct from thread_id). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| report_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses traits: it is idempotent (overwrites on re-call), metadata-only, and does not spawn reviewers or consume LLM quota. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each necessary and front-loaded. First sentence states purpose, second gives usage constraints, third adds behavioral traits. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple schema (2 required params, no enums, no nested objects) and presence of output schema, the description fully covers purpose, when to use, parameter nuances, and behavior. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions, but the description adds critical context: for 'report_id', it distinguishes from 'thread_id'; for 'summary', it specifies 'exact text you gave the user verbatim'. This extra guidance enhances parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it seals a plain-language summary into a structured report file. It uses a specific verb ('seal') and resource ('structured review report file'), and distinguishes itself from sibling tools ('clonst_ping', 'clonst_review') by specifying it is called after consensus to store the final summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call once after a consensus, and clarifies that 'report_id' is from clonst_review (not thread_id). Also mentions metadata-only nature (no reviewer spawn, no LLM quota), providing clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clonst_reviewA
Have a plan, code or proposal critiqued by Codex (a second LLM, through its CLI and the user's ChatGPT subscription). One call = one structured critique (APPROVED/CHANGES_NEEDED verdict, required changes, suggestions, risks). The revision loop lives on your side: critically evaluate each critique - apply what holds, reject with justification what is wrong, drifts from the project's intent, or would break something else - then call this tool again with the revised content and the returned thread_id - the reviewer keeps its session memory across rounds. Loop until consensus=true, following the returned next_action field, or until the user decides to stop. WHEN TO USE IT: the criterion is LOGIC, not size. Call it by default, without being asked, for any development that touches the project's logic or behavior (business logic, computations, data flows, models, routes, APIs, state, error handling, concurrency, security, migrations), and for plans and architecture decisions before coding. Do NOT use it for pure presentation (static HTML/CSS, copy), documentation, renames without behavior change, or throwaway content the user will not run. Every call consumes the user's subscription quota; when the scope is unclear, ask the user.
| Name | Required | Description | Default |
|---|---|---|---|
| round | No | Round number (default: 1 without thread_id, 2 with). Hard safety cap: 50 rounds (a ping-pong reaching that point is a runaway, not a review). | |
| content | Yes | The plan, code or proposal to review, COMPLETE (on later rounds: the full revised version, not a diff). | |
| context | No | Round 1 only: the reviewer's yardstick for the intent-drift check - user goal, intended behavior, non-goals, constraints, business/product intent, and decisions already made with the user. The reviewer measures the deliverable against this and flags divergences; the richer it is, the better the review. Ignored when thread_id is provided (the reviewer already holds the context in session memory). | |
| language | No | Language code for the reviewer's free-text output: language[-Script][-Region] only (e.g. "fr", "pt-BR", "zh-Hans"). Pass the language of your conversation with the user so critiques read naturally to them. Omit to let the reviewer use the language of the reviewed content. | |
| thread_id | No | Later rounds: the identifier returned by the previous call. Resumes the reviewer's session, so it remembers its critiques. Omit on round 1. | |
| max_rounds | No | Round limit set by the user for THIS ping-pong (the reviewer is informed and calibrates its demands). Omit by default: no limit, the loop continues until consensus. Pass the same value on every round. | |
| changes_made | No | Later rounds: summary of the changes made in response to the previous critiques. | |
| project_path | No | Absolute path of the project: the reviewer runs there and can read the real files. Reserve it for reviews that must verify existing APIs/contracts/files: by default the content parameter is enough. When set, the ENTIRE project (including .env and secrets) becomes readable by the reviewer, and token consumption can grow sharply: the reviewer explores files agentically, repeatedly re-sending its growing context (largely served from cache when the CLI reports cache hits). Pass it only when independent verification adds value. | |
| review_focus | No | Round 1: review focus. Default: all. | |
| changes_rejected | No | Later rounds: rejected critiques, each with its justification (the reviewer will evaluate them). |
Output Schema
| Name | Required | Description |
|---|---|---|
| round | Yes | |
| score | Yes | |
| usage | Yes | |
| status | Yes | |
| verdict | Yes | |
| critique | Yes | |
| consensus | Yes | |
| report_id | Yes | |
| thread_id | Yes | |
| next_round | Yes | |
| next_action | Yes | |
| report_path | Yes | |
| session_log | Yes | |
| suggestions | Yes | |
| total_usage | Yes | |
| report_error | Yes | |
| reviewer_model | Yes | |
| should_reinvoke | Yes | |
| duration_seconds | Yes | |
| next_action_kind | Yes | |
| required_changes | Yes | |
| risks_identified | Yes | |
| session_migrated | Yes | |
| reviewer_feedback | Yes | |
| requires_user_input | Yes | |
| parsed_from_fallback | Yes | |
| total_duration_seconds | Yes | |
| reviewer_reasoning_effort | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it explains the review round loop, session memory via thread_id, the 50-round cap, the need for critical evaluation, and the next_action field. It also warns about subscription quota and token consumption when using project_path, making agent behavior highly predictable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and informative but lacks structural breaks like bullet points or sections, which would improve scannability. However, every sentence serves a purpose and there is no extraneous information given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, iterative process, output schema exists), the description is fully complete. It covers the review workflow, usage conditions, parameter roles, loop mechanism, and safety caps. The presence of an output schema removes the need to describe return values, and the description adequately fills all other gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema description coverage is 100% with parameter descriptions, the tool description adds workflow context beyond schemas. For example, it explains when to pass thread_id (later rounds), why context is ignored if thread_id exists, and that max_rounds should be the same each round. This enriches agent understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Have a plan, code or proposal critiqued by Codex.' It specifies it provides a structured critique with verdict, changes, and risks. It differentiates from siblings (e.g., clonst_ping, clonst_report_summary) through its detailed description of the review process and iteration loop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly details when to use the tool: 'WHEN TO USE IT: the criterion is LOGIC, not size. Call it by default... for any development that touches the project's logic or behavior.' It also lists exclusions: 'Do NOT use it for pure presentation, documentation, renames without behavior change, or throwaway content.' This provides clear guidance on when to use versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.4.1- First observed
clonst_ping - First observed
clonst_report_summary - First observed
clonst_review
TDQS
Scored across 3 tools
Each tool targets a distinct stage in the Clonst workflow: diagnostics (ping), iterative code review (review), and final report sealing (report_summary). No functional overlap.
All tools follow a consistent 'clonst_' prefix and snake_case verb_noun pattern (ping, report_summary, review), making names predictable.
Three tools is slightly minimal, but they cover the core diagnostic, review, and summary workflow without unnecessary redundancy. The scope is narrow enough that each tool earns its place.
The core review loop and summary writing are present, but there is no tool for retrieving past reviews or reports, viewing review history, or managing sessions beyond the thread_id. Minor gaps.
Maintenance
Related MCP Connectors
- MegaLensOAuthai.megalens
Code review by AI models from different companies, usually two. Shows where they agree and disagree.
No-data MCP handoff for local Claude Code to Codex harness moves. $49 lifetime.
AI code review for GitHub PRs with an MCP autofix loop for Claude Code and Cursor
Multi-LLM council: 25+ frontier models in parallel, consensus scoring, verdict-first code review.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables adversarial collaboration between Claude and GPT for automated code critique, verification, and multi-round debate to improve output quality.3MIT
- AlicenseAqualityDmaintenanceEnables Claude Code to delegate tasks to OpenAI's Codex CLI (GPT-5.4) with structured execution traces, parallel execution, session persistence, and adversarial code review.15MIT
- AlicenseAqualityDmaintenanceEnables OpenAI Codex to consult Claude Code for co-analysis, adversarial second opinions, and read-only file review over the Model Context Protocol, with Claude remaining advisory and unable to modify files.912 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude Code to call OpenAI Codex for read-only design, deep reasoning, and code review tasks.28 npmMIT