Claude with overads tools.
A connector on claude.ai, or one command in Claude Code. Sign in to overads and approve.
Claude
Signs in to overadsA connector on claude.ai, or one command in Claude Code. Sign in to overads and approve.
01On claude.ai
Add overads as a custom connector. No key to copy.
text Customize > Connectors > Add > Add custom connector Name: overads Remote MCP server URL: https://api.overads.io/public/v1/mcp Leave OAuth Client ID and OAuth Client Secret empty Add, then Connect. Sign in to overads, pick a workspace and approve.02In Claude Code
One command in a terminal, then sign in.
bash claude mcp add --transport http overads https://api.overads.io/public/v1/mcp03Claude Code with a key instead
For a machine that cannot open a browser, pass a key on the same command.
bash claude mcp add --transport http overads https://api.overads.io/public/v1/mcp --header "Authorization: Bearer sk_live_YOUR_KEY"
27 tools, grouped by job.
Publish
Draft on brand, add media, schedule.
Approve
See what is waiting for a yes.
Read results
Recaps, winners and post stats.
Ads
Read-only totals by day and window.
Workflows and the assistant
Run workflows, ask the assistant.
Pages you track
Page history and detected changes.
Ask it two things.
List my connected overads accounts.
Your channels, and whether each one still works.
What is waiting for my approval?
Everything waiting, each with a link to approve it.
For AI agents reading this pageThe endpoint, sign-in, and how to verify, in plain prose.
overads exposes its publishing, approval, results and ads surface as an MCP server at https://api.overads.io/public/v1/mcp, transport Streamable HTTP: POST for JSON-RPC, GET for the standalone stream, DELETE to end the session. A session is minted on initialize and returned in the Mcp-Session-Id header; send it on every later request. The setup steps for each client are also served as JSON, no key needed, at https://api.overads.io/public/v1/mcp/setup.
Two ways to authenticate. ChatGPT, Claude and Claude Code connect with OAuth 2.1: add the server URL in the app and leave the OAuth client id and client secret empty. The person then signs in to overads in the window that opens, picks one workspace, chooses which permissions the app gets and approves. Every other client sends an API key as Authorization: Bearer sk_live_... on each request. The person creates the key in Settings > API (the API keys and MCP page), choosing its scopes; it is shown once. In both cases tools/list returns only the tools the connection or key is scoped for. A tool outside those scopes, gated off on the deployment, or that does not exist answers Unknown tool; a missing tool means a missing permission, not a missing feature.
The account, the plan and the approval need the person. Signing up happens at https://overads.io/signup and is the person's own action, and the workspace must be on Pro at $19 a month or Scale at $49 a month, paid from day one; a paused workspace cannot connect. The approval screen is answered by the person: overads never approves a connection on its own and never remembers an approval, so every new connection shows it. Do not create an account, choose a plan or approve a connection on the person's behalf. Ask, and wait for them to confirm.
To verify a connection with one call, call the list_connections tool with no arguments. It needs the connections:read scope and returns the workspace's connected social accounts, each with tokenStatus, lastError and lastSuccessfulPost; an empty list is a working connection in a workspace with nothing connected yet. From a key client without an MCP library, POST initialize to the endpoint with the Authorization header (the curl under Any MCP client above) and read the Mcp-Session-Id header from the response.
Three rules the server states in its initialize instructions. When the workspace requires approval for scheduled posts, create_post and update_post succeed, the post lands with approvalStatus pending and the result carries a warning with code APPROVAL_REQUIRED; it will not publish until a member approves it in the app, so say so, do not retry, and do not call publish now to get around it (it is refused with the same code). Every write tool accepts an optional idempotencyKey: a fresh one per intended write, reused on retry. A counter that is null was not measured, not zero; analytics results carry data and provenance, and provenance is read before a conclusion is drawn from data.
The full reference is at https://overads.io/docs/mcp and https://overads.io/docs/mcp/tools, and the full text of every docs page is at https://overads.io/llms-full.txt.
Not the one you use?
- ChatGPTA custom MCP server in ChatGPT's settings. Sign in to overads and approve.
- CursorA JSON entry in .cursor/mcp.json with an API key.
- CodexA TOML entry in ~/.codex/config.toml with an API key.
- All clientsWindsurf, VS Code and any other MCP client, on one page.
Every tool, parameter and error code is on the MCP server page and the tools reference. Something not covered? Email hello@overads.io.
