Blog · 2026-06-11

Connect your MCP server to ChatGPT

Add a hosted MCP server to ChatGPT as a connector. Paste the URL, complete the OAuth login, and use your tools inside conversations.

ChatGPT can use your DenkOps connector the same way Claude can: add it as a connector in ChatGPT's settings, paste https://<slug>.denkops.host/mcp, complete the OAuth login, and the tools become available in conversations. The server side is identical to every other client; only the place you paste the URL changes.

You need a server deployed with "connector": true in denkops.json, which gives it hosted OAuth at that URL. If you have not done that yet, deploy the starter first and read how the one-flag OAuth works.

Where do I add a connector in ChatGPT?

ChatGPT accepts remote MCP servers through its connectors feature, with custom servers gated behind a developer-mode style setting. Menus and naming shift between releases, so in general terms:

  1. In ChatGPT's settings, find the connectors area and enable the option that allows custom or developer connectors.
  2. Add a new connector and paste https://<slug>.denkops.host/mcp as the server URL.
  3. ChatGPT detects that the server uses OAuth and sends you to the hosted login and consent screen.
  4. Sign in, approve, and the connector shows as connected.

One honest caveat: which ChatGPT plans can add custom MCP connectors, and where the toggle lives, has changed over time and differs between individual and workspace plans. If you do not see the option, check the current OpenAI documentation for your plan rather than assuming the feature is missing.

What does the OAuth step look like?

Exactly like it does for any other MCP client, because your connector serves one standard flow:

  1. ChatGPT reads the OAuth discovery metadata from your connector's domain.
  2. It registers itself through dynamic client registration. You do not create an OAuth app in any developer console, and there is no client secret to manage.
  3. The user signs in and approves on the hosted consent screen.
  4. ChatGPT gets a token and calls your tools over /mcp.

Your application code contains none of this. Whether a given person gets through the login is set by the project's access policy in the dashboard's Access tab: public, or an allowed-email list. People not on the list are refused at the consent step, before any tool call reaches your handlers. So you can put the URL in your product docs and still decide, per email address, who can actually use it.

Using the tools in a conversation

Once connected, ChatGPT lists the connector among its available sources and tools. In a conversation, ask for the outcome and let the model pick the tool; it reads the descriptions and input schemas your server publishes. If a tool is never chosen, the fix is on your side: sharpen the description, redeploy, and the connector updates without anyone re-adding it. The URL, the grant, and the access list all stay put.

One server, every assistant

This is the point of shipping a connector instead of a per-vendor integration: the DenkOps side is one URL with hosted OAuth, dynamic client registration, and an owner-controlled access list, and it is the same for every client. The same server also plugs into Claude, Claude Code, and OpenAI Codex.

FAQ

Does ChatGPT support custom MCP connectors?

Yes. ChatGPT accepts remote MCP servers as connectors, with custom servers enabled through a developer-oriented setting. Availability depends on your plan and changes over time, so check the current OpenAI documentation if the option is not visible.

Do I need to register an OAuth app with OpenAI for my connector?

No. The connector supports dynamic client registration, so ChatGPT registers itself when you add the URL. The login and consent screen is hosted by DenkOps; there is no developer console step and no client secret.

Can I limit which ChatGPT users can connect to my server?

Yes. The project's access policy applies to every client, ChatGPT included: set it to public or to an allowed-email list in the dashboard's Access tab. Anyone not allowed is refused at the OAuth login, before a tool call happens.

Ship it yourself: bunx denkops deploy or say "deploy on DenkOps" from your coding agent.

Start on DenkOps →

← Use your MCP connector in Claude Code · Use your MCP connector with OpenAI Codex →