MCP-Server erstellen und mit ChatGPT verbinden: OAuth, Pläne, Fehler
Du willst ChatGPT an dein eigenes System anbinden, oder deine GPT-Action muss ersetzt werden? Dann brauchst du einen MCP-Server. Bevor du Code schreibst, kläre aber eine Frage: Unterstützt dein ChatGPT-Plan das überhaupt?
Dieser Guide zeigt, welche Pläne MCP können, wie du einen Server in fünf Schritten aufsetzt, ihn in ChatGPT hinzufügst und OAuth richtig einrichtest.
Wofür du einen eigenen MCP-Server brauchst
Ein MCP-Server stellt ChatGPT Tools bereit, etwa „Ticket nachschlagen“ oder „Projekt anlegen“. ChatGPT ruft sie im Gespräch auf.
Der häufigste Anlass gerade: Custom GPTs sollen am 11.12.2026 eingestellt werden (laut OpenAI, Änderungen vorbehalten). Laut OpenAIs Migrations-FAQ werden Custom Actions bei der Migration zum Plugin nicht übernommen. Der Ersatz kann einen eigenen MCP-Server erfordern.
Wie du deine OpenAPI-Operationen in Tools übersetzt, steht in unserem englischen Guide „OpenAPI to MCP Server“. Den gesamten Umzug beschreibt Custom GPT zu Plugin migrieren.
Welche ChatGPT-Pläne MCP unterstützen
Plus: nicht unterstützt · Pro: nur lesend · Business/Enterprise/Edu: voll
| Plan | Eigene MCP-Server |
|---|---|
| ChatGPT Plus | nicht unterstützt |
| ChatGPT Pro | nur lesend (read/fetch) |
| Business, Enterprise, Edu | volle Unterstützung, inkl. Schreibaktionen |
Stand 16.10.2026, Änderungen vorbehalten. Quelle: OpenAI Help Center.
Weitere Punkte aus demselben Artikel:
- Nur im Web. Eigene MCP-Server lassen sich nicht in der Mobil-App verbinden.
- Business: Nur Admins und Owner dürfen Plugins für eigene MCP-Server erstellen und veröffentlichen.
- Enterprise/Edu: Admins können per Rollenrechten (RBAC) weiteren Mitgliedern das Anlegen erlauben. Veröffentlichen dürfen nur Admins und Owner.
MCP-Server erstellen in 5 Schritten
1. SDK wählen. OpenAI nennt die offiziellen SDKs für TypeScript (@modelcontextprotocol/sdk) und Python (mcp):
# TypeScript
npm install @modelcontextprotocol/sdk zod
# Python
pip install mcp2. Ein Tool definieren. Ein Tool pro klar abgegrenzter Aktion, mit Name, Beschreibung, Eingabeschema und passenden Annotations. Ein Lese-Tool aus OpenAIs Build an MCP server, gekürzt:
const server = new McpServer({ name: "acme-projects", version: "1.0.0" });
server.registerTool(
"list_projects",
{
title: "List projects",
description: "Use this when the user wants to find or review projects in their Acme workspace.",
inputSchema: { status: z.enum(["active", "archived"]).optional() },
annotations: { readOnlyHint: true, openWorldHint: false, destructiveHint: false },
},
async ({ status }) => {
const projects = await listProjects({ status });
return {
structuredContent: { projects },
content: [{ type: "text", text: `Found ${projects.length} projects.` }],
};
}
);3. Streamable HTTP bereitstellen. Laut MCP-Spezifikation braucht der Server einen Endpunkt, der POST annimmt, z. B. https://example.com/mcp. Der Server muss den Origin-Header prüfen und bei ungültigem Origin mit 403 antworten. Lokal nur an 127.0.0.1 binden. Die genaue Verdrahtung steht in der README deiner SDK-Version.
4. Mit HTTPS deployen. ChatGPT verbindet sich mit Remote-Servern: Du brauchst eine öffentliche HTTPS-URL, üblicherweise mit /mcp am Ende. Für einen Server im privaten Netz oder auf deinem Rechner nennt OpenAI den Secure MCP Tunnel als Alternative. Für eine öffentliche Plugin-Einreichung reicht der Tunnel nicht.
5. Health-Check mit MCP Inspector. Vor ChatGPT kommt der Inspector:
npx @modelcontextprotocol/inspector„Streamable HTTP“ wählen, URL eintragen (lokal z. B. http://localhost:3000/mcp). Prüfe: Initialisierung klappt, alle Tools erscheinen, jeder Aufruf funktioniert mit gültigen und ungültigen Eingaben.
In ChatGPT hinzufügen
Im aktuellen Plugins-Bereich musst du laut OpenAI den Developer-Modus nicht mehr einschalten. Stattdessen bestätigst du pro Server einen Risikohinweis. Die Schritte laut Connect and test your plugin:
- In ChatGPT Plugins öffnen.
- Auf das Plus klicken, dann Add custom MCP server.
- Name und (optional) Beschreibung eingeben.
- Unter Connection die MCP-URL inklusive
/mcpeintragen, oder Tunnel wählen. - Authentifizierung einrichten, Risikohinweis lesen, I understand and want to continue anhaken.
- Create as a plugin wählen und die gefundenen Tools prüfen.
Zum Testen: Plugin installieren, neues Gespräch starten, im Eingabefeld @ tippen und das Plugin wählen. Bei Schreibaktionen fragt ChatGPT je nach Berechtigung und Kontext nach einer Bestätigung.
OAuth einrichten
Für eigene Nutzerdaten oder Schreibaktionen erwartet OpenAI OAuth 2.1 nach der MCP-Autorisierungsspezifikation. Die Details stehen in der Authentication-Doku.
Protected Resource Metadata (/.well-known/oauth-protected-resource)
Dein MCP-Server stellt unter https://dein-server.example.com/.well-known/oauth-protected-resource ein JSON-Dokument bereit:
{
"resource": "https://your-mcp.example.com",
"authorization_servers": ["https://auth.yourcompany.com"],
"scopes_supported": ["files:read", "files:write"]
}Alternativ verweist du in einem WWW-Authenticate-Header bei 401 Unauthorized auf diese URL.
Dein Autorisierungsserver muss außerdem:
- seine Metadaten unter
/.well-known/oauth-authorization-serveroder/.well-known/openid-configurationveröffentlichen, S256incode_challenge_methods_supportedangeben (PKCE),- den
resource-Parameter, den ChatGPT mitschickt, in das Token übernehmen (meist alsaud).
Redirect-URI für ChatGPT (aus der Doku übernehmen, nicht raten)
OpenAIs Anweisung: Kopiere die exakte Redirect-URI von der Verwaltungsseite des MCP-Servers in die Allowlist deines Autorisierungsservers. Welche URI ChatGPT nutzt, hängt davon ab, ob dein Autorisierungsserver Issuer-Identification (RFC 9207) unterstützt:
| Dein Autorisierungsserver | Redirect-URI |
|---|---|
erfüllt die Issuer-Anforderungen (authorization_response_iss_parameter_supported: true, iss in jeder Antwort) | https://chatgpt.com/connector_platform_oauth_redirect |
| erfüllt sie nicht | https://chatgpt.com/connector/oauth/{callback_id} |
Für die Client-Registrierung unterstützt ChatGPT Client ID Metadata Documents (CIMD, bevorzugt), Dynamic Client Registration (DCR) und vorab angelegte OAuth-Clients.
Refresh-Tokens: Laut Help Center kann ChatGPT ohne offline_access (oder das Äquivalent deines Providers) nach Ablauf der ersten Autorisierung den Zugriff verlieren. Aktiviere Refresh-Tokens beim Provider und lege die App danach neu an.
Alternative: API-Key nur serverseitig
Brauchst du keine Anmeldung pro Nutzer, etwa für ein rein lesendes, öffentliches Tool, liegt der API-Key für dein Backend nur auf dem Server (Secret-Manager deines Hosters). Beachte: ChatGPT kann laut OpenAI keine eigenen API-Keys an deinen MCP-Server senden und unterstützt keine Machine-to-Machine-Grants wie Client Credentials. Um zu prüfen, ob eine Anfrage wirklich von ChatGPT kommt, nennt OpenAI mTLS mit dem OpenAI-Client-Zertifikat oder die veröffentlichten IP-Bereiche.
Häufige Fehler
- 403 bei jeder Anfrage: Deine
Origin-Prüfung lehnt ChatGPT ab. Allowlist kontrollieren. - Falsche URL:
/mcpvergessen,httpstatthttps, oder eine lokale Adresse. ChatGPT verbindet sich nicht direkt mit lokalen Servern; nutze Secure MCP Tunnel. - Token wird abgelehnt: Audience passt nicht. Der
resource-Wert muss im Token landen, und dein Server mussiss,aud, Ablauf und Scopes bei jeder Anfrage prüfen. - OAuth-Server wird nicht erkannt:
S256fehlt in den Metadaten, oder die Redirect-URI steht nicht exakt in der Allowlist. invalid_client: Der registrierte OAuth-Client oder sein Secret wurde gelöscht oder ist abgelaufen.- Neue Tools fehlen: ChatGPT nutzt eine „eingefrorene“ Momentaufnahme der Tools. Nach Änderungen die Verbindung unter Plugins öffnen und Refresh klicken. In Workspaces muss ein Admin die Aktualisierung veröffentlichen.
- Es klappt nicht auf Plus: Das liegt am Plan, nicht an deinem Server (siehe oben).
Lieber mit Vorlage starten?
Das Aramac MCP Server Starter Kit (TypeScript) ist eine Vorlage für deinen eigenen MCP-Server auf dem offiziellen @modelcontextprotocol/sdk. Laut Produktseite enthält es Streamable HTTP und stdio in einer Codebasis, Beispiel-Tools mit zod-Schemas, drei Auth-Modi (keiner, API-Key, OAuth-2.1-Resource-Server) und ein Dockerfile. 22 automatisierte Tests, SDK 1.32.1. Voraussetzung: Node.js 22.12 oder neuer. In ChatGPT nutzbar mit Business, Enterprise und Edu; Pro nur lesend, Plus nicht unterstützt (Stand 16.10.2026, Änderungen vorbehalten). Nicht enthalten: Hosting, individuelle Entwicklung, Einreichung im App-Verzeichnis. 39 € inkl. MwSt., verkauft von der Aramac GmbH.
FAQ
Kann ich mit ChatGPT Plus einen eigenen MCP-Server verbinden?
Nein. Eigene MCP-Server werden auf Plus nicht unterstützt. Pro kann sie nur lesend nutzen, volle Unterstützung gibt es für Business, Enterprise und Edu (Stand 16.10.2026, Änderungen vorbehalten).
Brauche ich den Developer-Modus, um einen MCP-Server hinzuzufügen?
Im aktuellen Plugins-Bereich nicht. Du fügst den Server über Plugins, Plus-Symbol, Add custom MCP server hinzu und bestätigst den Risikohinweis.
Welche URL trage ich in ChatGPT ein?
Die öffentliche HTTPS-Adresse deines MCP-Endpunkts, inklusive Pfad, typischerweise mit /mcp am Ende. Für private Server gibt es alternativ Secure MCP Tunnel.
Welche Redirect-URI braucht ChatGPT für OAuth?
Übernimm die exakte URI von der Verwaltungsseite des MCP-Servers. Unterstützt dein Autorisierungsserver Issuer-Identification, ist es https://chatgpt.com/connector_platform_oauth_redirect, sonst https://chatgpt.com/connector/oauth/{callback_id}.
Kann ich einen lokalen MCP-Server mit ChatGPT verbinden?
Nicht direkt. ChatGPT verbindet sich mit Remote-Servern. Für Server im privaten Netz oder auf deinem Rechner nennt OpenAI den Secure MCP Tunnel.
Quellen
- OpenAI Help: Connecting custom MCP servers in ChatGPT
- OpenAI Help: Custom GPT retirement and migration FAQ
- OpenAI Plugins: Build an MCP server, Connect and test your plugin, Authentication
- MCP-Spezifikation 2026-07-28: Streamable HTTP, Authorization
Alle geprüft am 16. Oktober 2026.