ChatGPT connectors and apps
The strictest of the two big chat hosts on credentials: user-consented OAuth or nothing. Streamable HTTP is required, and ChatGPT prefers a client ID metadata document over dynamic registration.
- Client type
- Hosted connector runtime
- Protocol revision
- Not published
Support
ChatGPT connectors and apps
- stdio
- Partial
- Streamable HTTP
- Yes
- Legacy SSE
- Unknown
- Revision
- Not published
- OAuth flow
- Yes
- Registration
- Yes
- Metadata doc
- Yes
- Client ID
- Yes
- resource
- Yes
- iss
- Unknown
- Headers
- No
- Protocol revision
- Not published, and there's no client source to check. The signals conflict: OpenAI's authorization and tool-annotation pages link
2025-11-25, while its lifecycle and tool-result pages link2025-06-18.
Caveats and sources
Each one names the column it qualifies and cites the page it comes from, which is often not the page in the row's primary source.
- Custom headers
- Stated outright, and it's the most quotable limit in this matrix: ChatGPT doesn't support machine-to-machine OAuth grants such as client credentials, service accounts, or JWT bearer assertions, and it can't present custom API keys or customer-provided mTLS certificates. It does present an OpenAI-managed client certificate of its own, with published CA chains, so mTLS works in one direction only — you can verify ChatGPT, but ChatGPT can't present your certificate. Source
- Metadata document
- ChatGPT prefers a metadata document when one is available, and the builder can choose dynamic registration when both are offered. Its
client_idis a URL onchatgpt.com. For token-endpoint authentication it supportsnoneandprivate_key_jwt, preferring the signed assertion where available. Dynamic registration runs once per server connection, and the registered client is reused. Source - Sends resource (RFC 8707)
- ChatGPT appends
resourceto both the authorization request and the token request. Its redirect URI is onchatgpt.com, and OAuth configured withoutoffline_accesscan lose access once the original authorization expires. Source - stdio
- Not directly. ChatGPT connects to remote servers, and a local stdio or HTTP server reaches it only through the Secure MCP Tunnel, which is gated to enterprise customers. Source
- Legacy HTTP+SSE
- OpenAI states the requirement positively — a production endpoint must support Streamable HTTP — without saying SSE is rejected, and one sample on its API docs still shows an SSE transport. Unknown rather than absent until one of those pages says so. Source
- Tool metadata
- Full MCP support including write actions is in beta and plan-gated to Business, Enterprise, and Edu, with Pro limited to read and fetch. Tool metadata is also frozen at approval: later changes by the developer don't apply until an admin reviews and publishes an update, and a live server that no longer matches the frozen snapshot can error on tool calls. Source
This row was last verified July 31, 2026 against the 2026-07-28 revision.