MCP Client Guide

ChatGPT MCP connector for diagrams: the URL, the OAuth flow, the revoke button

By the engineer who builds Datadef, from client work on data platforms · Reviewed August 21, 2026

ChatGPT connects to remote MCP servers as custom connectors, and it is the one major client where nothing is pasted into a config file. You give it a URL, sign in to the service in a browser window, and the connector holds a token it can refresh. That changes both the setup and the way you take access back.

6 min readFor ChatGPT users adding a remote MCP server as a custom connector

See it as a diagram

Everything below, as a diagram you can edit. Describe yours and see it in seconds.

165/20003 credits left
Try:

No account needed · Editable canvas, not a picture

Turning on developer mode and adding the URL

Custom connectors sit behind developer mode in ChatGPT settings on the web, under the apps and connectors area. OpenAI has moved that toggle more than once, so look for advanced settings rather than a fixed path. Once it is on, choose to add a custom connector and paste the server URL: https://datadef.io/mcp. Local command-based servers are not accepted here, only hosted ones.

Datadef is served over Streamable HTTP, which is what ChatGPT expects. There is no key field to fill in and no header to configure: the endpoint advertises an authorization server, ChatGPT discovers it, and you get a Datadef sign-in page in a browser window.

Settings -> Apps and connectors -> Advanced -> Developer mode
Add custom connector -> https://datadef.io/mcp
Sign in to Datadef when the browser window opens.

What the OAuth flow does, in one paragraph of detail

The endpoint publishes protected-resource metadata that names its authorization server, and the authorization server publishes its own metadata: an authorization endpoint, a token endpoint, a registration endpoint, and a revocation endpoint. Authorization code with PKCE using S256 is the only flow, refresh tokens are issued, and the single scope is mcp. Dynamic client registration is supported, which is what lets a connector you never told Datadef about obtain a client identifier on its own.

The practical consequences are the ones worth remembering. No long-lived secret sits in a settings field, so a connector cannot be copied to another account by copying a string. Access is per person, so diagrams a connector creates belong to the account that signed in. And the grant is revocable from the Datadef side: connected apps appear on the MCP and integrations page, and disconnecting one invalidates its tokens immediately.

API keys remain the alternative for clients that prefer a header, and both credential types resolve to the same user and the same 36 tools. Key or token, a lapsed plan closes tool access on the next call rather than at issue time, because the plan is rechecked per request.

What ChatGPT can then do, and what it cannot

It can create a diagram from a description, read the diagrams already in your workspace, apply a described change to one, and export a PNG or JPEG with a signed download link. For projects linked to a repository it can also report sync freshness and trigger a resync, though those two tools answer only to the account that owns the repository connection.

It cannot read your codebase. A chat client has no repository open, so the description you give is the whole input. Naming the real services, the zone layout you want, and the technologies involved is what separates a diagram of your system from a diagram of a generic system. For diagrams drawn from code, connect the repository to Datadef and let the sync do the reading.

Worth knowing if you have ever pasted the endpoint into a browser: a plain GET to it returns a readable page describing the server and its tools rather than an authentication error, so assistants and crawlers that fetch the URL get something useful. Protocol traffic is unaffected, since real clients negotiate an event stream or post to the endpoint.

Listing the tools before you connect

The handshake and the listings on this endpoint are anonymous, so you can read the full tool surface before granting anything. Only tool calls require a credential. More at the MCP server documentation.

Getting the picture out of the chat

export_diagram takes a diagram id, a format of png or jpeg, a viewport width from 600 to 4000 defaulting to 1600, and a height from 400 to 4000 defaulting to 1000. It returns three things at once: the image inline so the assistant can show it, a signed download URL valid for 15 minutes that serves the file with an attachment header and needs no API key, and, when the project has been shared publicly, a permanent image address with a ready-made markdown line.

That third return is the one worth asking for by name. The download link expires, and a document carrying an expired link is worse than one carrying no picture. The permanent address is served with Cache-Control public, max-age=300, stale-while-revalidate=86400 and an ETag built from the canvas id and its updated timestamp, so a README or a wiki page pointing at it shows an edited diagram within about five minutes and never blocks a reader on a cold render.

Everything the connector makes is a project in your workspace rather than an artifact in the transcript. Open it on the canvas, fix what the description could not convey, then share it and paste the live embed line where people actually read documentation.

FAQ

How do I add a custom MCP connector in ChatGPT?

Turn on developer mode in ChatGPT settings under the advanced connector options, choose to add a custom connector, and paste the remote server URL. For Datadef that URL is https://datadef.io/mcp. Only hosted servers are accepted; local command-based servers cannot be added this way.

Does ChatGPT need an API key for this server?

No. The endpoint is also an OAuth 2.1 authorization server, so ChatGPT discovers it and opens a normal sign-in page. Nothing is pasted into a settings field. API keys stay available for clients that prefer an Authorization header, and both credential types reach the same tools.

Which OAuth flow does the server support?

Authorization code with PKCE using S256, with refresh tokens and a single scope named mcp. Dynamic client registration is supported, so a connector can register itself, and there is a revocation endpoint for tokens. The endpoint publishes protected-resource metadata naming its authorization server, which is what lets a client discover all of this without anything being pasted into a settings field.

How do I disconnect a connector afterwards?

Connected apps are listed on the MCP and integrations page in Datadef settings, and disconnecting one revokes its tokens immediately. That is the same page where API keys are created and revoked, so both credential types are managed in one place.

Can ChatGPT draw a diagram of my repository through this connector?

Not directly, because a chat client has no repository open and no tool in the server accepts source files. It draws what you describe. For a diagram that comes from code, connect the repository to Datadef itself, and the connector can then check its sync status and trigger a refresh.