chatgpt-plugin
ChatGPT plugin
How to put a product into OpenAI's plugin directory, which ChatGPT and Codex share, and get through review the first time. Nothing here depends on a stack: the server is any remote MCP server, in any language, behind any OAuth provider or none. The rules come from OpenAI's own pages, read on 2026-10-26, and from two products' submissions: a live Q&A product that submitted a plugin with no sign-in (rejected once, then resubmitted), and a monitoring product preparing one behind OAuth. They appear here only as examples.
OpenAI's pages, each available as Markdown by appending .md: developers.openai.com/plugins/deploy/submission, /deploy/submission-errors, /deploy/app-review, /plugin-guidelines, /build/plugins, /build/auth, /reference and /deploy/connect-chatgpt.
What binds, in order
- OpenAI's current pages. They change without notice, and on 2026-10-26 they contradicted each other in six places (§ Where OpenAI's pages disagree). Read them again before every upload and every submission, and record the date. Where this skill and a page disagree, the page wins and this skill gets a dated correction.
- This skill, for what the pages leave out: what the portal and the reviewers actually did.
- The server's own engineering rules. This skill covers only what ChatGPT adds to an MCP server. The route, tool descriptions, output schemas and their tests are the
mcp-serverskill's, if you use this collection; this skill does not need it.