Deutsch

Model Context Protocol

Geben Sie Codex Zugriff auf Tools und Kontext von Drittanbietern

Das Model Context Protocol (MCP) verbindet Modelle mit Tools und Kontext. Verwenden Sie es, um ChatGPT oder Codex Zugriff auf Dokumentation von Drittanbietern zu geben oder die Interaktion mit Entwicklungstools wie Ihrem Browser oder Figma zu ermöglichen.

ChatGPT im Web kann von Plugins bereitgestellte Remote-Tools mit MCP-Anbindung verwenden. Lokale Codex- Clients können sich außerdem direkt mit MCP-Servern verbinden und ihre Konfiguration gemeinsam nutzen.

Die ChatGPT-Desktop-App, Codex CLI und die IDE-Erweiterung unterstützen MCP-Server und verwenden für denselben Codex-Host eine gemeinsame MCP-Konfiguration.

Die unten aufgeführten unterstützten Serverfunktionen gelten für MCP-Server, die auf einem Codex- Host konfiguriert sind. Von Plugins bereitgestellte Tools können andere Funktionen besitzen.

Unterstützte MCP-Funktionen

  • STDIO-Server: Server, die als lokaler Prozess ausgeführt (und durch einen Befehl gestartet) werden.
    • Umgebungsvariablen
  • Streamable-HTTP-Server: Server, auf die Sie über eine Adresse zugreifen.
    • Authentifizierung mit Bearer-Token
    • OAuth-Authentifizierung
    • ChatGPT-Sitzungsauthentifizierung für vertrauenswürdige Erstanbieterserver
  • Serveranweisungen: Codex liest das bei der Initialisierung zurückgegebene MCP-Feld instructions und verwendet es zusätzlich zu den Tools des Servers als serverweite Anleitung.

Wenn Sie einen MCP-Server für Codex entwickeln oder verwalten, verwenden Sie instructions für serverübergreifende Tool-Workflows, Einschränkungen und Ratenbegrenzungen. Formulieren Sie die ersten 512 Zeichen so, dass sie für sich allein verständlich sind. Dadurch stehen Codex die wichtigsten Hinweise zur Verfügung, wenn es über die Verwendung des Servers entscheidet.

Codex mit einem MCP-Server verbinden

Codex speichert die MCP-Konfiguration zusammen mit anderen Codex-Konfigurationseinstellungen in config.toml. Standardmäßig ist dies ~/.codex/config.toml, Sie können MCP-Server jedoch auch mit .codex/config.toml auf ein Projekt beschränken (nur bei vertrauenswürdigen Projekten).

Die ChatGPT-Desktop-App, Codex CLI und die IDE-Erweiterung verwenden diese Konfiguration gemeinsam. Nachdem Sie Ihre MCP-Server konfiguriert haben, können Sie zwischen diesen Clients wechseln, ohne die Einrichtung erneut durchzuführen.

In der ChatGPT-Desktop-App konfigurieren

  1. Öffnen Sie Settings und wählen Sie anschließend MCP servers aus.
  2. Wählen Sie Add server aus.
  3. Geben Sie einen Namen ein, wählen Sie STDIO oder Streamable HTTP aus und geben Sie den Befehl oder die URL des Servers an.
  4. Speichern Sie den Server und wählen Sie anschließend Restart aus.

Die Serverliste zeigt, welche Server aktiviert sind und für welche OAuth erforderlich ist. Wählen Sie Authenticate aus, wenn für einen OAuth-Server eine Anmeldung erforderlich ist. Geben Sie im Eingabefeld /mcp ein, um die verbundenen Server anzuzeigen.

Mit config.toml konfigurieren

Für eine detailliertere Steuerung bearbeiten Sie ~/.codex/config.toml oder eine projektbezogene .codex/config.toml. In der Konfigurationsreferenz finden Sie eine durchsuchbare Liste aller unterstützten MCP-Optionen.

Konfigurieren Sie jeden MCP-Server mit einer [mcp_servers.<server-name>]-Tabelle in der Konfigurationsdatei.

STDIO-Server

  • command (erforderlich): Der Befehl, der den Server startet.
  • args (optional): Argumente, die an den Server übergeben werden.
  • env (optional): Umgebungsvariablen, die für den Server festgelegt werden.
  • env_vars (optional): Umgebungsvariablen, die zugelassen und weitergeleitet werden.
  • cwd (optional): Arbeitsverzeichnis, aus dem der Server gestartet wird.
  • experimental_environment (optional): Legen Sie remote fest, um den stdio- Server über eine Remote-Ausführungsumgebung zu starten, sofern eine verfügbar ist.

env_vars kann einfache Variablennamen oder Objekte mit einer Quelle enthalten:

env_vars = ["LOCAL_TOKEN", { name = "REMOTE_TOKEN", source = "remote" }]

Zeichenfolgeneinträge und source = "local" werden aus der lokalen Umgebung von Codex gelesen. source = "remote" wird aus der Remote-Ausführungsumgebung gelesen und erfordert Remote-MCP-stdio.

Streamable-HTTP-Server

  • url (erforderlich): Die Serveradresse.
  • auth (optional): Authentifizierung, die nach konfigurierten Bearer-Tokens und Autorisierungsheadern versucht werden soll. Verwenden Sie oauth (Standard) für gespeicherte MCP-OAuth- Anmeldedaten. Verwenden Sie chatgpt, um die aktuelle ChatGPT-Sitzung für die vertrauenswürdige ChatGPT-Erstanbieterquelle zu verwenden, wobei gespeichertes OAuth als Fallback dient.
  • bearer_token_env_var (optional): Name der Umgebungsvariable für ein Bearer-Token, das in Authorization gesendet wird.
  • http_headers (optional): Zuordnung von Headernamen zu statischen Werten.
  • env_http_headers (optional): Zuordnung von Headernamen zu Umgebungsvariablennamen (die Werte werden aus der Umgebung abgerufen).

Wenn keine Anmeldedatenquelle aufgelöst werden kann, kann Codex ohne Authentifizierung eine Verbindung zum Server herstellen. Führen Sie codex mcp login <server-name> separat aus, um eine MCP- OAuth-Anmeldung zu starten.

Weitere Konfigurationsoptionen

  • startup_timeout_sec (optional): Zeitlimit (Sekunden) für den Serverstart. Standard: 10.
  • tool_timeout_sec (optional): Zeitlimit (Sekunden) für die Ausführung eines Tools durch den Server. Standard: 60.
  • enabled (optional): Legen Sie false fest, um einen Server zu deaktivieren, ohne ihn zu löschen.
  • required (optional): Legen Sie true fest, damit der Start fehlschlägt, wenn dieser aktivierte Server nicht initialisiert werden kann.
  • enabled_tools (optional): Zulassungsliste für Tools.
  • disabled_tools (optional): Sperrliste für Tools (wird nach enabled_tools angewendet).
  • default_tools_approval_mode (optional): Standardmäßiges Genehmigungsverhalten für Tools dieses Servers. Unterstützte Werte sind auto, prompt, writes und approve. Im Modus writes wird bei Tools nachgefragt, die nicht als schreibgeschützt gekennzeichnet sind.
  • tools.<tool>.approval_mode (optional): Toolspezifische Überschreibung des Genehmigungsverhaltens.

Wenn Ihr OAuth-Anbieter einen festen Callback-Port erfordert, legen Sie die übergeordnete Option mcp_oauth_callback_port in config.toml fest. Ist sie nicht festgelegt, bindet Codex einen temporären Port.

Wenn Ihr MCP-OAuth-Ablauf eine bestimmte Callback-URL verwenden muss (beispielsweise eine Remote-Devbox-Ingress-URL oder einen benutzerdefinierten Callback-Pfad), legen Sie mcp_oauth_callback_url fest. Codex verwendet diesen Wert als Basis-Callback-URL und hängt anschließend eine serverspezifische Callback-ID an, um den OAuth-Wert redirect_uri zu erzeugen, den es bei der Anmeldung sendet. Registrieren Sie den vollständig abgeleiteten Wert redirect_uri einschließlich der angehängten Callback-ID und aller konfigurierten Pfade, Abfrageparameter oder Ports bei Ihrem OAuth-Anbieter. Registrieren Sie nicht lediglich den Basishost oder Basispfad ohne dieses Suffix. Lokale Callback-URLs (beispielsweise localhost) werden an die lokale Schnittstelle gebunden; nicht lokale Callback-URLs werden an 0.0.0.0 gebunden, damit der Callback den Host erreichen kann.

Wenn der MCP-Server scopes_supported bekannt gibt, bevorzugt Codex bei der OAuth-Anmeldung diese vom Server bekannt gegebenen Bereiche. Andernfalls greift Codex auf die in config.toml konfigurierten Bereiche zurück.

config.toml-Beispiele

[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env_vars = ["LOCAL_TOKEN"]

[mcp_servers.context7.env]
MY_ENV_VAR = "MY_ENV_VALUE"
# Optional MCP OAuth callback overrides (used by `codex mcp login`)
mcp_oauth_callback_port = 5555
mcp_oauth_callback_url = "https://devbox.example.internal/callback"
[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }
[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
enabled_tools = ["open", "screenshot"]
disabled_tools = ["screenshot"] # applied after enabled_tools
default_tools_approval_mode = "prompt"
startup_timeout_sec = 20
tool_timeout_sec = 45
enabled = true

[mcp_servers.chrome_devtools.tools.open]
approval_mode = "approve"

Von Plugins bereitgestellte MCP-Server

Installierte Plugins können MCP-Server in ihrem Plugin-Manifest bündeln. Diese Server werden vom Plugin aus gestartet, sodass die Benutzerkonfiguration ihren Transportbefehl nicht festlegt. In der Benutzerkonfiguration lassen sich der Aktivierungsstatus und die Tool-Richtlinie unter plugins.<plugin>.mcp_servers.<server> weiterhin steuern.

[plugins."sample@test".mcp_servers.sample]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = ["read", "search"]

[plugins."sample@test".mcp_servers.sample.tools.search]
approval_mode = "approve"

Beispiele für nützliche MCP-Server

Die Liste der MCP-Server wächst kontinuierlich. Hier sind einige häufig verwendete Server:

  • OpenAI Docs MCP: OpenAI-Entwicklerdokumentation durchsuchen und lesen.
  • Context7: Eine Verbindung zu aktueller Entwicklerdokumentation herstellen.
  • Figma Local und Remote: Auf Ihre Figma-Designs zugreifen.
  • Playwright: Einen Browser mit Playwright steuern und untersuchen.
  • Chrome Developer Tools: Chrome steuern und untersuchen.
  • Sentry: Auf Sentry-Protokolle zugreifen.
  • GitHub: GitHub über die von git unterstützten Funktionen hinaus verwalten (beispielsweise Pull Requests und Issues).