Skip to main content
ChatGPT reaches Exo at https://api.get-exo.com/mcp/ as a custom connector, using the same OAuth 2.1 server the claude.ai connector uses. The OAuth exchange mints ChatGPT its own Exo API key automatically.
A static exo_ key cannot be pasted into ChatGPT. ChatGPT supports OAuth or no auth for connectors, and nothing in between. If you are looking for the paste-a-key path, that is Claude Code or Codex.

Before you start

  • An Exo account allowlisted for the private preview.
  • A paid ChatGPT plan: Plus, Pro, Business, Enterprise or Edu. Developer mode is not available on Free.
  • Content already in your graph. search reads your knowledge graph, so an empty organization returns nothing. See Import your ChatGPT history first.

Set it up

1

Turn on Developer mode

In ChatGPT, open Settings, then Apps and Connectors, then Advanced settings, and turn on Developer mode (beta).
2

Create the connector

Back in Apps and Connectors, click Create and fill in:
Keep the trailing slash on /mcp/. A bare /mcp redirects, and the Authorization header does not survive the redirect.
3

Sign in and allow

ChatGPT discovers Exo’s OAuth server and opens the Exo sign-in page at /connect. Sign in with your dashboard account and click Allow.
4

Enable it in a chat

Open the composer’s tools menu and enable the Exo connector. The dashboard’s ChatGPT card flips to Connected once Exo receives the first request from the connector’s key, which appears in your key list labeled ChatGPT connector.

What each surface can do

This is the part that surprises people. ChatGPT does not expose the same toolset everywhere. Deep research and Company knowledge follow OpenAI’s Deep Research contract, which recognises exactly two tools. Exo exposes both, so those surfaces work without Developer mode, but they can only read. Citations link back to the node in your knowledge graph. The write tools, the ones that let ChatGPT put things into your graph rather than take things out, need Developer mode.

Import your ChatGPT history first

The connector is far more useful when Exo already knows you, and the obvious source is ChatGPT itself.
1

Export from ChatGPT

Settings, then Data controls, then Export data. OpenAI emails you a zip.
2

Upload it to Exo

Use the dropzone on the Exo dashboard’s Import page, or send it to the API:
3

Wait for the job

Import is asynchronous. Poll GET /v1/ingest/{jobId}/status until status is neither pending nor running. This route reports the worker’s own vocabulary, where success is done, so a loop that waits for succeeded never finishes. Full walkthrough in File and transcript imports.

When it goes wrong

Next

File and transcript imports

Formats, size behaviour, and how to poll a job to completion.

Retrieving context

What search and fetch are reading underneath, and the richer call behind them.