Setting Up the Discovery MCP
Overview
The Discovery MCP lets you ask an AI assistant such as ChatGPT, Claude or Cursor questions about your Discovery data in plain language. You connect it from User Settings → MCP.
Once connected, your assistant can:
- Look up and summarize your clients, locations, services, vendor invoices, incidents, work orders and more
- Answer questions such as "Which locations had the most overage charges last quarter?"
- Classify vendor line-item text into Discovery charge types and suggest a service setup from invoice text
Access is read-only. Your assistant can never create, change or delete anything in Discovery. It sees only data from the organization you're currently working in.
Before you start
You need three things:
- MCP Access turned on for your organization. It is off by default. If you don't see an MCP tab under User Settings, it isn't on yet. An admin can request it by contacting Discovery Support.
- An active Discovery account in that organization. No special role is required. The MCP can only read data your role can view.
- A supported AI client. How you connect depends on the client:
| Client | How it connects | What you'll do |
|---|---|---|
| ChatGPT | Sign in with Discovery | Add a custom MCP app, approve a consent screen |
| Claude (claude.ai and Claude Desktop) | Sign in with Discovery | Add a custom connector, approve a consent screen |
| Claude Code | Sign in with Discovery | Run one terminal command, approve a consent screen |
| Codex | Sign in with Discovery | Run one terminal command, approve a consent screen |
| VS Code | Sign in with Discovery | Click Add to VS Code, approve a consent screen |
| Cursor | MCP token | Create a token, click Add to Cursor |
| Scripts, OpenAI Agents SDK, other MCP clients | MCP token | Create a token, paste it into your config |
Clients that sign in with Discovery never need a token. You approve the connection once, and the client renews it automatically.
Set up your client
Every setup starts in Discovery. Go to User Settings → MCP and find Connect your AI client. The MCP Endpoint shown there is the address your client connects to:
https://mcp.discoveryapp.io
Then follow the steps for your client below.
ChatGPT
- On the MCP page, copy the endpoint and click Open ChatGPT.
- In ChatGPT, open Settings → Apps → Advanced settings and turn on developer mode. On a Business or Enterprise workspace, an admin may need to turn it on.
- Click Plugins in the sidebar.
- Choose Add, then Create MCP App.
- In the New Plugin window, name it (for example, Discovery). Paste the endpoint into Connection, with Server URL selected. Leave Authentication set to OAuth.
- Tick I understand and want to continue, then choose Create.
- Approve the Discovery consent screen when it opens.
If anything looks off, open Advanced OAuth settings before step 6. The registration method should be CIMD and the scope should be mcp:read.
Claude (claude.ai and Claude Desktop)
- On the MCP page, copy the endpoint and click Open Claude.
- Under Customize → Connectors, click + and choose Add custom connector.
- Name it (for example, Discovery) and paste the endpoint as its URL.
- Approve the consent screen when it opens.
Connectors added on claude.ai also appear in Claude Desktop.
On a Claude Team or Enterprise plan, only an Owner can add a custom connector. If you don't see Add custom connector, ask an Owner to add Discovery under Organization settings → Connectors with the endpoint above. Then open Customize → Connectors, pick the connector by the name they gave it, connect, and approve the consent screen. Everyone signs in with their own Discovery account.
Claude Code
Run this in a terminal:
claude mcp add --transport http discovery https://mcp.discoveryapp.io
The first time Claude Code uses Discovery, it opens a consent screen in your browser. Approve it.
Codex
Run this in a terminal, then approve the consent screen it opens in your browser:
codex mcp add discovery --url https://mcp.discoveryapp.io
VS Code
- On the MCP page, click Add to VS Code.
- Approve the consent screen when it opens.
To add it by hand instead, run MCP: Add Server from the Command Palette, or add this to .vscode/mcp.json in your project:
{
"servers": {
"discovery": {
"type": "http",
"url": "https://mcp.discoveryapp.io"
}
}
}
If the file already has a servers entry, add only the discovery entry inside it.
Cursor
Cursor can't sign in to Discovery yet, so it uses an MCP token.
- On the MCP page, click Create a Cursor token, then Save.
- Click Add to Cursor.
- In Cursor's Install MCP server? window, choose Install. Discovery then appears under Customize → MCPs.
If the link can't open Cursor (for example, Cursor runs on a remote machine), copy the snippet shown on the MCP page into ~/.cursor/mcp.json , or .cursor/mcp.json in your project. It already contains your token.
Copy it before you leave the page. The link and snippet contain your token and disappear when you leave or reload the page. The token is never shown again.
Scripts, OpenAI Agents SDK and other clients
Clients that run without a browser can't approve a consent screen, so they use an MCP token.
- On the MCP page, find Scripts and the OpenAI Agents SDK or Other MCP clients and click Create a token.
- Copy the filled-in snippet or header right away.
For the OpenAI Agents SDK or Responses API, add this to your tools array:
{
"type": "mcp",
"server_label": "discovery",
"server_url": "https://mcp.discoveryapp.io",
"headers": { "Authorization": "Bearer <your-token>" },
"require_approval": "never"
}
Any other client that supports HTTP (streamable) MCP and lets you set a request header can connect with the endpoint plus this header:
Authorization: Bearer <your-token>
Regular Discovery API tokens don't work here. Only tokens created on the MCP page do.
Check that it works
After you approve the consent screen, the client appears under Connected applications on the MCP page, for example as ChatGPT. Cursor and other token clients appear under MCP Tokens instead.
To confirm the connection, ask your assistant something simple:
- "Using Discovery, how many active locations do we have?"
The assistant should list Discovery's tools (such as describe_schema and run_sql ) or start using them. Once that works, try questions like:
- "Which 10 locations had the highest overage charges in the last 90 days?"
- "Summarize vendor invoice spend by vendor for last month."
- "List the active services at our Denver locations and how many pickups each gets per week."
- "Classify these invoice lines into Discovery charge types: …"
Your client may also offer two built-in Discovery prompts: Analyze overage spend by customer and Rank locations & customers by excess / contamination / overage penalties.
A few limits to keep in mind:
- Each answer returns at most 1,000 rows. Ask for totals or a narrower range for bigger questions.
- A single query times out after 30 seconds.
- Data comes from a reporting copy that can lag a few moments behind the live app.
Manage and disconnect access
You can cut off any client at any time from User Settings → MCP, and it takes effect immediately.
- Sign-in clients (ChatGPT, Claude, Claude Code, Codex, VS Code): under Connected applications, click the disconnect icon next to the client and confirm. It must be authorized again before it can read your data.
- Token clients (Cursor, scripts, other clients): under MCP Tokens, click the revoke icon next to the token and confirm.
How long access lasts:
| Credential | Lasts | Ends when |
|---|---|---|
| Sign-in connection | Renews automatically while in use | You disconnect it, or it goes unused for 28 days |
| MCP token | Does not expire | You revoke it |
Security notes:
- Treat an MCP token like a password. Anyone who has it can read your organization's Discovery data as you. Don't paste it into shared files or chats.
- Only approve consent screens you started yourself. Check that the app name and address on the screen match the client you're setting up.
- Access follows you. The assistant always reads the organization you're currently working in. If you switch organizations in Discovery, it reads the new one.
- Leaving Discovery ends access. If you're removed from your last organization, all your connections and tokens are revoked automatically.
- Discovery logs every request your assistant makes, including the queries it runs, for security review.
Troubleshooting
| What you see | What it means | What to do |
|---|---|---|
| No MCP tab under User Settings | MCP Access isn't on for your organization | Ask an admin or owner to contact Discovery Support to request it |
| "MCP access is not enabled for your organization" on the consent screen | Same as above | Request the feature, then start the connection again from your client |
| "We couldn't complete this request" on the consent screen | The client sent an incomplete or outdated request | Remove the connector or server in your client and add it again |
| "This credential is not valid for MCP" | The client is using a regular API token, not an MCP token | Create a token on the MCP page, or reconnect with sign-in |
| "Unauthenticated" | The token was revoked, or your account is inactive | Create a new token or reconnect; contact your admin if your account was deactivated |
| "Your current tenant changed. Retry this request." | You switched organizations mid-request | Ask the question again |
| Too many requests (429) | You've passed 60 requests per minute across all your connections | Wait a minute and retry |
| "The 30s statement timeout was exceeded" | The question was too broad | Retry once, then narrow the date range or ask for totals |
| Add custom connector missing in Claude | You're on a Claude Team or Enterprise plan | Ask a Claude Owner to add Discovery (see the Claude steps above) |
| Cursor link does nothing | No cursor:// handler on this machine |
Use the JSON snippet from the MCP page instead |
| Lost a token | Tokens are shown only once | Revoke the old one and create a new one |
Can my assistant change data in Discovery? No. Every connection is read-only.
Can it see other organizations' data? No. It sees only the organization you're currently working in.
Still stuck? Contact Discovery Support with your client name and the exact message you see.
If you have additional questions or need more in depth information, please feel free to send us a message using the help beacon in the lower right-hand corner.