Skip to main content

Opteo MCP

Connect Opteo to Claude, ChatGPT, and other AI assistants using the Opteo MCP server

Written by Shaquira Jeyasingh

The Opteo MCP server lets AI assistants like Claude and ChatGPT connect straight to your Opteo account, so they can read your connected ad account data and take actions in Opteo for you, all from an ordinary chat. Your assistant asks you to confirm before it runs anything that changes your account, so nothing is pushed without your say-so.

MCP (Model Context Protocol) is an open standard for plugging AI assistants into outside tools and data. You don't need to be technical to set it up: you add one web address to your AI assistant, sign in to Opteo once, and you're connected.

This is different from the Opteo API and the Zapier integration, which are for building your own automations. The MCP is for working with Opteo conversationally inside an AI assistant.

Before you start

You need an active Opteo account (the same login you use at opteo.com). There's nothing to install. The Opteo MCP is a remote server, which means it runs on Opteo's side and your AI assistant connects to it over the web.

Sign in to Opteo in your browser first. When you connect, your assistant opens Opteo in your browser so you can approve access. If you're not already signed in to Opteo in that browser, you'll land on the Opteo login page and won't be sent back to your assistant. Sign in to your Opteo account in the same browser before you start, and the approval step completes cleanly.

The server address

This is the only detail you need:

The first time an assistant connects, a browser window opens for you to sign in to Opteo and approve access. This uses OAuth, the same sign-in approval you have seen on other apps, so you never copy or paste a password or key. Once you have approved it, the assistant reconnects on its own from then on.

Claude (claude.ai and the desktop apps)

You need to be an owner of your Claude organisation to add a custom connector. If you don't see the option to add one, ask whoever owns your organisation's Claude workspace to add the Opteo connector, or to make you an owner.

  1. Open Claude, go to Settings, then Connectors.

  2. Click the + sign at the top

  3. Then click Add custom connector.

  4. Enter a name (Opteo) and the URL https://api.opteo.com/mcp.

  5. Click Save.

  6. Claude opens the Opteo sign-in page. Sign in and approve access.

  7. In a new chat, open the tools menu and turn on Opteo for that conversation.

Claude Code (command line)

Run this once in your terminal:

claude mcp add --transport http opteo https://api.opteo.com/mcp

The next time you start Claude Code it asks you to approve Opteo in your browser.

Check it worked with:

claude mcp list

Cursor

  1. Open Cursor, go to Settings, then MCP (or edit the file ~/.cursor/mcp.json yourself).

  2. Add this entry:

{
"mcpServers": {
"opteo": {
"url": "https://api.opteo.com/mcp"
}
}
}
  1. Save the file. Cursor picks up the new server and opens a browser tab for you to sign in to Opteo.

ChatGPT and other AI assistants

Any assistant that supports remote MCP servers can connect. Add a new connector or server using:

  • Transport: Streamable HTTP (sometimes shown as HTTP or Remote MCP). This just means the assistant talks to the server over the web.

  • Authentication: OAuth. The assistant handles the browser sign-in for you, so there is no API key, client ID, or secret to enter.

ChatGPT plan requirements. OpenAI only lets you add custom MCP servers in Developer mode, and Developer mode depends on your ChatGPT plan. As of September 2026, OpenAI's help centre says full MCP (read and write) is available on ChatGPT Business, Enterprise and Edu. ChatGPT Pro can add MCP servers with read and fetch tools only. ChatGPT Plus and Free can't add custom MCP servers, so you won't see a Developer mode option in your settings. OpenAI changes this from time to time, so check their article for the latest.

If your plan supports it, switch on Developer mode in ChatGPT's settings (it lives under Apps, which OpenAI previously called Connectors), then add a new connector or app using the details above. ChatGPT opens the Opteo sign-in page for you to approve access.

There isn't a separate Opteo app in the ChatGPT app directory. The custom MCP server above is the only way to connect ChatGPT to Opteo.

We've tested the Opteo MCP with Claude, Claude Code and Cursor. We haven't verified it on ChatGPT Pro's read-only Developer mode. If you connect from another assistant and something doesn't work, email [email protected] with the assistant and plan you're using.

Disconnecting

To stop an assistant from reaching your Opteo account, remove the Opteo connector inside that assistant:

  • Claude: Settings, Connectors, remove Opteo.

  • Claude Code: run claude mcp remove opteo

  • Cursor: delete the opteo entry from ~/.cursor/mcp.json

If you also need access revoked on Opteo's side (for example, the assistant was on a device you no longer have), email [email protected] and we'll revoke it for you.

Troubleshooting

  • If signing in to Opteo just lands on the Opteo login page and stops there (you're not sent back to your assistant), you weren't signed in to Opteo in that browser. Sign in to your Opteo account first, then start the connection again.

  • If you can't find the option to add a custom connector in Claude, check you're an owner of your Claude organisation. Only owners can add connectors.

  • If you can't find Developer mode or a way to add a custom connector in ChatGPT, it's your ChatGPT plan rather than anything on Opteo's side. Custom MCP servers aren't available on ChatGPT Free or Plus (see the ChatGPT section above).

  • If the sign-in window doesn't open, allow pop-ups for app.opteo.com and try again.

  • If the assistant says connection failed before you have signed in, check the address is exactly https://api.opteo.com/mcp, with no trailing slash and nothing added on the end.

  • If a support engineer asks for technical details, the OAuth discovery document is at https://api.opteo.com/.well-known/oauth-protected-resource.

Did this answer your question?