Wenn du bereits ein Claude Code-Plug-in oder einen Konnektor veröffentlichst, hängt der passende Einreichungsweg davon ab, ob es Skills, einen MCP-Server oder beides enthält.
| Was du hast | Was du einreichen solltest |
|---|---|
| Skills ohne MCP-Server | Lade ein Plug-in nur mit Skills hoch. |
| Ein öffentlicher MCP-Endpunkt über HTTPS | Erstelle eine Einreichung für einen Remote-MCP-Server. Füge vorhandene Skills demselben Entwurf hinzu. |
| Ein lokaler MCP-Server | Stelle ihn unter einer öffentlichen HTTPS-URL bereit. Wenn das nicht möglich ist, wende dich an deine Kontaktperson bei OpenAI, um Unterstützung für lokales MCP zu erhalten. |
Claude hat getrennte Einreichungsprozesse für Claude Code-Plug-ins und MCP-Konnektoren. OpenAI verwendet ein gemeinsames Plug-in-Paket, das Skills, MCP-Server oder beides enthalten kann. Einträge im Claude Marketplace und dort erteilte Genehmigungen werden nicht übernommen.
Wenn dein Plug-in Skills enthält, überprüfe ihre Anweisungen anhand der Hinweise zum Befolgen von Anweisungen, bevor du sie über einen der beiden Wege einreichst.
Ein Plug-in nur mit Skills einreichen
Wähle diesen Weg, wenn das Plug-in keinen MCP-Server benötigt.
Prüfen, was OpenAI unterstützt
| Was dein Claude-Plug-in enthält | Was du tun solltest |
|---|---|
skills | Belasse jeden Skill zusammen mit seiner SKILL.md, seinen Skripten, Referenzen und Assets. Ein direkt hochgeladenes Claude-Archiv muss mindestens einen Skill unter skills/<skill-name>/SKILL.md enthalten. |
| Im Manifest deklarierte benutzerdefinierte Skill-Verzeichnisse | Behalte die Verzeichnisse und ihre Deklarationen im Manifest im Archiv bei. |
| Skills, die sich ausdrücklich auf Claude beziehen | Ersetze Claude-spezifische Verweise in den Skill-Anweisungen durch anbieterneutrale Formulierungen wie „das Modell“. Behalte einen Produktnamen nur bei, wenn die Anweisung tatsächlich für dieses Produkt gilt. |
commands, commands/, agents oder agents/ | Überführe wiederverwendbares Verhalten in Skills. Wandle jeden Markdown-Befehl in einen Skill um, übertrage wiederverwendbare Agentenabläufe in Skills und integriere nützliche Persona-Anweisungen in den jeweiligen Skill. |
hooks oder hooks/hooks.json | Passe Befehls-Hooks an die Hook-Laufzeit von Codex an, einschließlich ChatGPT Work und Codex. Hook-Skripte müssen in der Ausführungsumgebung verfügbar und vor der Ausführung als vertrauenswürdig eingestuft sein. Verlasse dich im normalen Chat nicht auf Hooks. Codex führt keine Prompt- oder Agenten-Hook-Handler aus. |
userConfig oder ${user_config.*} | OpenAI führt keine Claude-Installationsabfragen aus und ersetzt keine user_config-Variablen durch ihre Werte. Befolge die Anleitung unter userConfig von Claude ersetzen. Wenn das Plug-in Zugangsdaten oder dauerhaft gespeicherte Benutzereinstellungen benötigt, verwende einen MCP-Server. |
| Skills, die Live-Artefakte von Claude erstellen oder aktualisieren | OpenAI unterstützt derzeit keine Live-Artefakte von Claude. Entferne Anweisungen, die das Erstellen, erneute Öffnen, Neuladen oder Aktualisieren eines Artefakts erfordern. Gib den zugrunde liegenden Inhalt stattdessen als normale Ausgabe in der Unterhaltung zurück. Stelle beispielsweise Tabellen aus Artefakten als normale Tabellen dar. Artefaktspezifisches HTML, dauerhafte Speicherung, Aktualisierungsverhalten und Interaktionen bleiben nicht erhalten. |
bin/, settings, settings.json, CLAUDE.md oder .claude/settings*.json | Behalte benötigte Hilfsprogramme und Anweisungen im Plug-in bei. Rufe mitgelieferte ausführbare Dateien über Pfade relativ zum Paket auf und entferne Einstellungen, die nur für Claude gelten. |
outputStyles, lspServers, experimental.themes, experimental.monitors, channels oder dependencies | Übertrage wesentliches Verhalten in Skills und entferne anschließend die Claude-Deklaration. Wende dich an deine Partnerkontaktperson bei OpenAI, wenn der zentrale Ablauf eingehende Kanalnachrichten erfordert. |
.claude-plugin/plugin.json | Behalte das Manifest bei, wenn du ein Claude-Archiv direkt hochlädst. Das Portal wandelt es in .codex-plugin/plugin.json um. |
.claude-plugin/marketplace.json, .mcp.json, mcpServers, .app.json oder apps | Verlasse dich nicht auf diese Dateien oder Deklarationen. Bei einem Upload nur mit Skills wird die MCP-Serverkonfiguration ausgeschlossen. Außerdem kannst du eine bestehende MCP-Serverintegration nicht durch einen Verweis darauf einreichen. |
Das Archiv vorbereiten und hochladen
- Stelle sicher, dass das Stammverzeichnis des Archivs oder sein einziges Verzeichnis auf oberster Ebene
.claude-plugin/plugin.jsonmit einem nicht leeren Wert fürdescriptionund mindestens einen gültigen Skill unterskills/<skill-name>/SKILL.mdenthält. - Öffne das Portal zum Einreichen von Plug-ins, wähle Plug-in erstellen, dann Nur Skills und lade das Archiv hoch.
- Überprüfe die erzeugte
.codex-plugin/plugin.json. Das Portal ergänzt bei der Konvertierung fehlende Standardwerte für die Benutzeroberfläche und normalisiert Textfelder. - Teste die importierten Skills in einer sauberen Umgebung. Stelle sicher, dass jeder Skill die referenzierten Dateien und ausführbaren Dateien findet und nicht von undeklarierten lokalen Paketen, Dateien oder Zugangsdaten abhängt.
- Fülle die Felder für den Eintrag und die Überprüfung aus, behebe alle beim Scan gemeldeten Probleme und reiche den Entwurf ein.
Wenn das Archiv die Voraussetzungen für einen direkten Upload nicht erfüllt, folge Dein Plug-in paketieren, um das OpenAI-Manifest und die Paketstruktur zu erstellen. Die Anforderungen an Skills findest du unter Skills erstellen .
Ein Plug-in mit einem Remote-MCP-Server einreichen
Wähle diesen Weg, wenn der Server eine stabile, öffentliche HTTPS-URL hat, die OpenAI erreichen kann. Im Claude-Plug-in kann der Server lokal ausgeführt worden sein. Für diese Einreichung zählt, dass du ihn als Remote-Dienst bereitgestellt hast.
Prüfen, was OpenAI unterstützt
| Was deine Claude-Integration enthält | Was du tun solltest |
|---|---|
| Ein Remote-MCP-Server | Verwende die Serverimplementierung weiter. Reiche einen stabilen, öffentlichen HTTPS-Endpunkt ein, der Streamable HTTP verwendet. |
Ein lokaler MCP-Server oder eine Erweiterung für Claude Desktop (.mcpb) | Stelle den MCP-Server unter einer öffentlichen HTTPS-URL bereit. Wenn das nicht möglich ist, wende dich an deine Kontaktperson bei OpenAI, um Unterstützung für lokales MCP zu erhalten. Das Portal akzeptiert keine .mcpb-Dateien. |
| Skills oder im Manifest deklarierte benutzerdefinierte Skill-Verzeichnisse | Füge die Skills derselben Einreichung vom Typ Mit MCP hinzu. Belasse jede SKILL.md zusammen mit den zugehörigen Skripten, Referenzen und Assets. |
| Skills, die sich ausdrücklich auf Claude beziehen | Ersetze Claude-spezifische Verweise in den Skill-Anweisungen durch anbieterneutrale Formulierungen wie „das Modell“. Behalte einen Produktnamen nur bei, wenn die Anweisung tatsächlich für dieses Produkt gilt. |
commands, commands/, agents oder agents/ | Überführe wiederverwendbares Verhalten in Skills. Wandle jeden Markdown-Befehl in einen Skill um, übertrage wiederverwendbare Agentenabläufe in Skills und integriere nützliche Persona-Anweisungen in den jeweiligen Skill. |
hooks oder hooks/hooks.json | Passe Befehls-Hooks an die Hook-Laufzeit von Codex an, einschließlich ChatGPT Work und Codex. Hook-Skripte müssen in der Ausführungsumgebung verfügbar und vor der Ausführung als vertrauenswürdig eingestuft sein. Verlasse dich im normalen Chat nicht auf Hooks. Codex führt keine Prompt- oder Agenten-Hook-Handler aus. |
userConfig oder ${user_config.*} | OpenAI führt keine Claude-Installationsabfragen aus und ersetzt keine user_config-Variablen durch ihre Werte. Befolge die Anleitung unter userConfig von Claude ersetzen, um jeden Wert auf eine explizite Eingabe, OAuth, gehosteten Speicher oder eine lokale Codex-Konfiguration umzustellen. |
| Skills, die Live-Artefakte von Claude erstellen oder aktualisieren | OpenAI unterstützt derzeit keine Live-Artefakte von Claude. Entferne Anweisungen, die das Erstellen, erneute Öffnen, Neuladen oder Aktualisieren eines Artefakts erfordern. Gib die zugrunde liegenden Inhalte stattdessen als normale Antwort im Gespräch aus. Stelle beispielsweise Tabellen aus Artefakten als Standardtabellen dar. Artefaktspezifisches HTML, dauerhafte Speicherung, Aktualisierungsverhalten und Interaktionen bleiben nicht erhalten. |
.app.json, apps oder eine bestehende MCP-Server-Integration | Reiche den Endpunkt des MCP-Servers direkt ein. Du kannst eine bestehende MCP-Server-Integration nicht durch einen Verweis darauf einreichen. |
outputStyles, lspServers, experimental.themes, experimental.monitors, channels oder dependencies | Übertrage das wesentliche Verhalten in Skills oder MCP-Werkzeuge und entferne anschließend die Claude-Deklaration. Wende dich an deinen OpenAI-Partner, wenn der zentrale Ablauf eingehende Kanalnachrichten erfordert. |
Den MCP-Server vorbereiten und einreichen
- Stelle den MCP-Server an seinem HTTPS-Endpunkt für den Produktivbetrieb mit Streamable HTTP bereit. Verwende OAuth 2.1, wenn der Server auf private Nutzerdaten zugreift oder Aktionen für eine Person ausführt. Beachte Nutzende authentifizieren für die unterstützten Produktanforderungen und die MCP-Autorisierungsspezifikation.
- Ergänze präzise Werkzeugschemas und Sicherheitsannotationen. Teste, ob jedes Werkzeug eine Verbindung herstellt, die Authentifizierung durchführt, Ergebnisse in der erwarteten Struktur zurückgibt und bei Schreibvorgängen oder destruktiven Aktionen die vorgesehene Bestätigung verlangt.
- Wandle alle Befehle oder Agenten in Skills um und stelle sicher, dass die Skills nicht von undeklarierten lokalen Paketen, Dateien oder Zugangsdaten abhängen.
- Öffne das Portal zum Einreichen von Plug-ins, wähle Plug-in erstellen und dann Mit MCP aus und reiche den Endpunkt für den Produktivbetrieb ein. Füge gegebenenfalls die umgewandelten Skills demselben Entwurf hinzu.
- Verifiziere die Serverdomain, konfiguriere die Authentifizierung, wenn der Server eine Anmeldung erfordert, fülle die Felder für den Verzeichniseintrag und die Überprüfung aus, behebe alle beim Scan gemeldeten Probleme und reiche den Entwurf ein.
Plane vor dem Einreichen diese beiden Setup-Schritte ein:
- Domainverifizierung: Du musst das vom Portal vorgegebene Token exakt
unter
/.well-known/openai-apps-challengeauf dem MCP-Host oder einem zulässigen übergeordneten Host bereitstellen können. Führe die Verifizierungsaufgabe aus, wenn das Portal dich dazu auffordert. Siehe Die MCP-Einreichung konfigurieren. - OAuth und Domaineinschränkungen für Workspaces: Wenn das Plug-in OAuth verwendet, stelle
einen UserInfo-Endpunkt bereit, der den
email-Claim der angemeldeten Person undemail_verified: truezurückgibt. Gib die Scopesopenidundemailals verfügbar an und aktiviere sie. Siehe Domaineinschränkungen für Workspaces unterstützen.
Lies die Anforderungen an die Überprüfung von Remote-MCP-Servern, bevor du deine Einreichung abschickst.
userConfig von Claude ersetzen
OpenAI-Plug-ins führen weder die Installationsabfragen von Claudes userConfig aus
noch lösen sie Verweise auf ${user_config.*} auf. Entferne diese Verweise und ersetze jeden Wert
entsprechend seiner Verwendung im Plug-in.
| Was der Wert steuert | Alternative bei OpenAI |
|---|---|
| Eine Auswahl, die sich von Aufgabe zu Aufgabe ändern kann | Füge eine explizite Eingabe für den Skill oder das MCP-Werkzeug hinzu. Frage den Wert erst ab, wenn der Ablauf ihn benötigt. |
| Zugangsdaten für einen Remote-Dienst | Verwende OAuth 2.1 über den Remote-MCP-Server. Hinterlege keine Geheimnisse im Skill-Archiv, im Manifest, in den Anweisungen oder in Standardwerten. |
| Eine Einstellung, die dauerhaft gespeichert werden soll | Speichere sie im gehosteten Dienst und ordne sie der authentifizierten Person zu. Ermögliche dieser Person, sie über einen expliziten Ablauf oder eine Werkzeugeingabe zu aktualisieren. |
| Eine Einstellung für ein lokal in Codex ausgeführtes Skript oder einen Hook | Verwende eine dokumentierte Umgebungsvariable oder Konfigurationsdatei. Prüfe die Einstellung vor der Verwendung und gib bei Fehlen eine Fehlermeldung mit einem konkreten Lösungshinweis zurück. Diese lokale Einstellung darf keine Voraussetzung für den zentralen Ablauf in ChatGPT sein. |
| Ein fester Wert, der für alle gleich ist | Hinterlege einen nicht geheimen Standardwert in den Skill-Anweisungen oder in der Konfiguration des gehosteten Dienstes. |
Wenn ein Plug-in, das nur Skills enthält, Zugangsdaten oder eine Einstellung benötigt, die über mehrere Gespräche hinweg erhalten bleiben müssen, füge einen MCP-Server hinzu. Verwende OAuth und gehosteten Speicher für den Remote-Server. Wenn der Wert nur die aktuelle Aufgabe betrifft, belasse es bei einem Plug-in, das nur Skills enthält, und frage den Wert als explizite Skill-Eingabe ab.
Die Anforderungen für die Einreichung erfüllen
Bevor du ein Plug-in einer der beiden Arten einreichst, benötigst du Schreibzugriff auf die App-Verwaltung in der OpenAI-Organisation, der das Plug-in gehören wird. Außerdem musst du deine Identität als Einzelperson oder Unternehmen verifizieren. Jedes Plug-in muss die Überprüfung durch OpenAI durchlaufen.
Wende dich vor dem Einreichen an deinen OpenAI-Partner, wenn der wesentliche Nutzen des Plug-ins eine lokale Ausführung, beliebigen Zugriff auf Dateien auf dem Computer der nutzenden Person, Zugriff auf Hardware oder Anwendungen, Offlinebetrieb oder eingehende Kanalnachrichten voraussetzt. In diesen Fällen kann eine produktspezifische Überprüfung erforderlich sein.
Den vollständigen Ablauf im Portal findest du unter Plug-ins einreichen. Wenn das Portal bei der Paketvalidierung einen Fehlercode meldet, nutze die Referenz zu Einreichungsfehlern.