ChatGPT Codex Bridge
ChatGPT Codex Bridge
简体中文 | Security | Contributing
Eine lokale MCP-Bridge, die es ChatGPT ermöglicht, registrierte Codex-Projekte zu prüfen, den Codex-Sitzungsverlauf zu lesen und bestätigte Aufgaben an die lokale Codex-CLI zu übermitteln.
[!IMPORTANT] Dies ist ein unabhängiges Community-Projekt. Es ist kein offizielles OpenAI-Produkt und weder mit OpenAI verbunden noch von OpenAI unterstützt. ChatGPT, Codex und OpenAI sind Marken ihrer jeweiligen Inhaber.
Funktionen
Erkennt Projekte, die bereits in Codex Desktop registriert sind, ohne Zugriff auf das gesamte Home-Verzeichnis zu gewähren.
Führt Analyse und Planung in der schreibgeschützten Codex-Sandbox aus.
Erfordert ein kurzlebiges, einmal verwendbares Bestätigungstoken vor Schreibvorgängen im Arbeitsbereich.
Listet und liest sichtbare Codex-Sitzungen mit Cursor-Paginierung und Schwärzung.
Erstellt begrenzten Projektverlaufskontext, ohne mehrere Gigabyte große Verläufe in den Speicher zu laden.
Erstellt und führt persistente Codex-Desktop-Sitzungen über das lokale Codex-App-Server-Protokoll fort.
Übergibt ChatGPT-Kontext als nicht vertrauenswürdigen Referenztext mit Geheimnis-Erkennung an Codex.
Verwendet Hintergrundjobs, sodass lange Codex-Aufgaben keine MCP-Tunnelanfrage offen halten.
Die Bridge stellt kein beliebiges Shell-Tool bereit und lauscht nicht auf einem öffentlichen Port. Der Fernzugriff erfolgt über den offiziellen OpenAI Secure MCP Tunnel client.
Architektur
flowchart LR
A[ChatGPT] -->|MCP connector| B[OpenAI Secure MCP Tunnel]
B -->|outbound tunnel| C[tunnel-client on your machine]
C -->|stdio MCP| D[ChatGPT Codex Bridge]
D -->|sandboxed commands| E[Codex CLI]
D -->|read-only indexes| F[Codex projects and sessions]
D -. optional local IPC .-> G[Codex Desktop sidebar refresh]Der optionale Seitenleisten-Aktualisierungspfad hängt von einer privaten, nicht unterstützten Codex-Desktop-Erweiterung ab und ist nicht in diesem Repository enthalten. Die Kern-Bridge funktioniert ohne sie; neu erstellte persistente Sitzungen können einen Neustart von Codex Desktop erfordern, bevor sie in der Seitenleiste erscheinen.
Voraussetzungen
macOS oder Linux mit Python 3.11+
Eine funktionierende
codex-CLI-Installation und AnmeldungCodex Desktop für automatische Projekterkennung und Sitzungsverlaufsfunktionen
Homebrew für den dokumentierten Tunnel-Installationspfad
OpenAI-Organisationszugriff auf Secure MCP Tunnels
Dieses Projekt wird derzeit auf macOS getestet. Windows wird nicht unterstützt, da der optionale Desktop-Benachrichtigungspfad Unix-Sockets verwendet.
Schnellstart
git clone https://github.com/AaAndrew233/chatgpt-codex-bridge.git
cd chatgpt-codex-bridge
./scripts/bootstrap.shbootstrap.sh erstellt eine lokale virtuelle Umgebung, installiert die geprüfte Abhängigkeitssperre und generiert nicht versionierte config.json- und .mcp.json-Dateien. Es überschreibt niemals vorhandene Konfigurationen.
Öffnen Sie config.json und wählen Sie eine Autorisierungsquelle:
{
"codex_command": "codex",
"model": null,
"codex_project_catalog": "~/.codex/.codex-global-state.json",
"allowed_roots": []
}Behalten Sie
modelalsnullbei, um Ihre aktuelle Codex-Konfiguration zu übernehmen.Lassen Sie
allowed_rootsleer, um nur in Codex Desktop registrierte Projekte zu verwenden.Fügen Sie enge Projektverzeichnisse zu
allowed_rootsnur dann hinzu, wenn die automatische Erkennung nicht verfügbar ist.Autorisieren Sie niemals
/oder Ihr Home-Verzeichnis. Die Bridge lehnt beides ab.
Führen Sie die lokalen Prüfungen aus:
./scripts/check_public_release.py
.venv/bin/python -m unittest discover -s tests -vVerbindung über Secure MCP Tunnel
Installieren Sie den offiziellen Client:
brew install openai/tools/tunnel-client
tunnel-client --version
tunnel-client help quickstartSpeichern Sie den Laufzeit-Schlüssel in einer Datei außerhalb dieses Repositorys und schränken Sie dessen Berechtigungen ein:
chmod 600 /ABSOLUTE/PATH/TO/runtime-keyErstellen Sie eine verwaltete Hintergrundlaufzeit. Ersetzen Sie alle Platzhalterwerte:
tunnel-client runtimes connect \
--alias codex-bridge \
--profile codex-bridge \
--tunnel-id '<YOUR_TUNNEL_ID>' \
--runtime-api-key 'file:/ABSOLUTE/PATH/TO/runtime-key' \
--mcp-command '/ABSOLUTE/PATH/TO/chatgpt-codex-bridge/scripts/run_server.sh'Überprüfen Sie, ob die verwaltete Laufzeit läuft, fehlerfrei und bereit ist:
tunnel-client runtimes status codex-bridge --jsonErstellen oder aktualisieren Sie dann den Connector in den ChatGPT-Connector-Einstellungen. Die offizielle Tunnel-Onboarding-Anleitung ist die maßgebliche Quelle für Organisationsrollen, Tunnel-IDs, Laufzeitschlüssel und aktuelle Befehle: openai/tunnel-client/docs/onboarding.md.
Verwenden Sie keinen Admin-Schlüssel für die langlaufende Laufzeit. Committen Sie keine Laufzeitschlüssel, Tunnel-IDs, generierten Profile, config.json oder .mcp.json.
Erster Test in ChatGPT
Starten Sie eine neue ChatGPT-Konversation mit aktiviertem Connector und fragen Sie:
Call codex_status. Show only whether the bridge is healthy, the available tool names,
and the registered project names. Do not modify files.Testen Sie dann eine schreibgeschützte Aufgabe:
Use codex_analyze on <PROJECT_PATH> to summarize the project structure and identify
the three highest-risk areas. Poll the job until it finishes and retrieve every output page.
Do not modify files.Für einen Schreibvorgang muss ChatGPT zuerst codex_prepare_apply aufrufen, Ihnen den genauen Plan zeigen, Ihre ausdrückliche Bestätigung einholen und erst dann codex_apply mit dem zurückgegebenen Token aufrufen.
MCP-Tools
Tool | Zweck | Schreibbestätigung |
| Statusübersicht zu Gesundheit, Fähigkeiten, Projekten, Jobs und Kompatibilität | Nein |
| Autorisiertes Codex-Projekte auflisten | Nein |
| Begrenzten, paginierten Projektverlaufskontext erstellen | Nein |
| Schreibgeschützte Codex-Aufgabe übermitteln | Nein |
| Nur-Planungs-Codex-Aufgabe übermitteln | Nein |
| Kurzlebiges Token für genau eine Schreibanfrage ausstellen | Nein |
| Codex-Aufgabe mit Schreibzugriff auf den Arbeitsbereich übermitteln | Ja |
| Hintergrundjob abfragen | Nein |
| Abgeschlossenes Ergebnis mit Ausgabe-Paginierung lesen | Nein |
| In Warteschlange stehenden oder laufenden Job abbrechen | Nein |
| Sichtbare Codex-Sitzungen mit Paginierung auflisten | Nein |
| Sichtbare Benutzer- und Assistentennachrichten mit Schwärzung lesen | Nein |
| Persistente Codex-Desktop-Sitzung erstellen | Nur Schreibmodus |
| Persistente Sitzung fortsetzen | Nur Schreibmodus |
| Sitzung mit explizitem ChatGPT-Kontext erstellen | Nur Schreibmodus |
Sicherheitsmodell
Die Vertrauensgrenze ist bewusst eng gefasst:
Der Projektzugriff ist auf validierte Codex-Projektwurzeln oder explizite enge Wurzeln beschränkt.
Sensible Verzeichnisse wie
.ssh,.aws,.gnupg,.kube,.configundLibrarywerden bei der automatischen Erkennung abgelehnt.Codex-Subprozesse erhalten eine minimale Umgebung und laufen mit expliziten Sandbox-Modi.
Schreib-Token laufen ab, sind einmal verwendbar und an das genaue Projekt und die genaue Anfrage gebunden.
Die Sitzungsausgabe wird auf benutzersichtbare Nachrichten gefiltert und vor dem Verlassen des Rechners geschwärzt.
Anfrage-, Ausgabe-, Scan-, Parallelitäts-, Aufbewahrungs- und Zeitlimitgrenzen sind begrenzt.
ChatGPT-Kontext wird als nicht vertrauenswürdige Eingabe behandelt und kann lokale Richtlinien nicht außer Kraft setzen.
Lesen Sie docs/security-model.md, bevor Sie die Bridge einem Team zugänglich machen. Schwachstellenmeldungen sollten SECURITY.md folgen.
Betriebliche Grenzen
Standardgrenzen sind in config.example.json dokumentiert und werden beim Start durchgesetzt. Wichtige Standardwerte umfassen zwei gleichzeitige Jobs, eine 30-minütige Aufbewahrung abgeschlossener Jobs, eine Anfrageobergrenze von 120.000 Zeichen, paginierte Jobausgabe von 100.000 Zeichen und begrenzte Streaming-Scans für den Projektverlauf.
scan_complete gibt an, ob der konfigurierte Quellscan abgeschlossen wurde. context_complete gibt separat an, ob der gesamte gescannte Text in das zurückgegebene Kontextbudget passt. Ein vollständiger Scan ist nicht dasselbe wie ein unbegrenzter Export.
Entwicklung
./scripts/bootstrap.sh
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q \
bridge_core.py conversation_catalog.py desktop_assignment.py \
desktop_sessions.py project_context.py server.pyBeitragsregeln finden Sie in CONTRIBUTING.md und Modulgrenzen in docs/architecture.md.
Lizenz
Apache License 2.0. Siehe LICENSE.
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 Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Give AI agents secure access to ZERNO project briefs, tasks, and context over remote MCP.
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/AaAndrew233/chatgpt-codex-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server