# Connect ChatGPT

ChatGPT connects to remote MCP servers as **custom connectors**. To add a custom
connector that exposes general-purpose MCP tools, you need to enable **Developer
Mode** on your ChatGPT account. Once enabled, paste the gateway URL into
ChatGPT's connector settings and complete the OAuth flow.

:::note

ChatGPT's general-purpose custom-connector support runs through Developer Mode,
which is available on Pro, Team, Enterprise, and Edu plans. Before Developer
Mode shipped, connector support in ChatGPT was limited to read-only Deep
Research connectors. Use Developer Mode to expose the full range of tools the
Zuplo MCP Gateway provides.

:::

## Prerequisites

- A Zuplo MCP Gateway project with at least one Virtual MCP server. See the
  [quickstart](../quickstart.mdx) if you haven't created one yet.
- A ChatGPT Pro, Team, Enterprise, or Edu subscription.
- Developer Mode enabled on your ChatGPT account. The toggle lives in
  **Settings** → **Connectors** → **Advanced** (the exact location varies by
  plan; see OpenAI's
  [Apps SDK documentation](https://developers.openai.com/apps-sdk/) for current
  instructions).

## Get the Virtual MCP URL

1. Open the
   [MCP Gateway project Catalog](https://portal.zuplo.com/+/account/project).
2. Find the card for the Virtual MCP server you want to connect.
3. Click **Configuring the MCP** and copy the URL shown in the dialog. The URL
   has the form `https://{deploymentUrl}/v1/mcp/{slug}`.

## Add the connector

<Stepper>

1. **Open Connectors settings in ChatGPT.**

   In the ChatGPT web app, open **Settings** → **Connectors**.

2. **Add a custom connector.**

   Click the option to add a custom connector. Depending on your plan, this may
   be **Add custom connector**, **Create**, or **Advanced** → **Add MCP
   server**.

3. **Enter the gateway URL.**

   Paste the Virtual MCP URL from Portal. Give the connector a name and
   description — these are what ChatGPT shows in the conversation interface.

4. **Authenticate against the gateway.**

   Save the connector. ChatGPT opens the gateway's OAuth flow. Sign in with the
   identity provider you configured for the gateway.

5. **Complete upstream connections.**

   The gateway shows a consent page listing every upstream MCP server the
   Virtual MCP routes to. Click **Connect** next to each upstream, complete its
   OAuth flow, then click **Authorize** to finish.

6. **Enable the connector for chats.**

   Back in ChatGPT, enable the connector for the conversations or assistants
   where you want it active. Tools from the gateway then appear when ChatGPT
   needs them.

</Stepper>

## What ChatGPT supports

ChatGPT registers itself with the gateway through
[Dynamic Client Registration (DCR)](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization)
and the newer
[Client ID Metadata Documents (CIMD)](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization)
flow. It supports:

- **Tools** — invoke gateway-exposed tools from the conversation.
- **MCP Apps** — render interactive HTML widgets inline. This is the same
  surface that powers the OpenAI Apps SDK, which is built directly on top of MCP
  Apps.

ChatGPT doesn't currently consume prompts, resources, roots, sampling, or
elicitation from a remote MCP server.

## Build an Apps SDK app on top of the gateway

If you're authoring an MCP server intended to render rich UI inside ChatGPT,
read OpenAI's [Apps SDK documentation](https://developers.openai.com/apps-sdk/)
— the Apps SDK builds on the MCP Apps extension, so an Apps SDK app **is** an
MCP server with UI conventions on top. The Zuplo MCP Gateway forwards
Apps-related metadata (`_meta.ui.*`) from upstream MCP servers unchanged. Tool
authors who want to ship UI to ChatGPT should follow the Apps SDK guide; the
gateway transparently relays the additional metadata to the client.

For more background on Apps SDK and Zuplo-hosted MCP servers, see
[OpenAI Apps SDK with Zuplo](../../mcp-server/openai-apps-sdk.mdx).

## Troubleshooting

- **"Custom connector" option isn't visible.** Confirm your plan supports
  Developer Mode (Pro, Team, Enterprise, or Edu) and that Developer Mode is
  enabled in your settings.
- **Sign-in succeeds but no tools appear.** Tools only appear when ChatGPT
  decides to invoke them. Try a prompt that mentions the action you want to
  take. If the connector itself is disabled in a conversation, ChatGPT doesn't
  see any of its tools.
- **OAuth fails with a redirect error.** ChatGPT registers its redirect URI
  dynamically. The gateway accepts dynamic registration by default. If you've
  locked down DCR on your identity provider, switch to a provider that supports
  DCR, or pre-register an OAuth app for ChatGPT.

## Related

- [Connect MCP clients overview](./overview.mdx)
- OpenAI's [Apps SDK documentation](https://developers.openai.com/apps-sdk/)
- [OpenAI Apps SDK with Zuplo](../../mcp-server/openai-apps-sdk.mdx)
- [Authentication overview](../auth/overview.mdx)
