Skip to content
Docs

Connect your AI assistant and launch

Add https://mcp.adprimezero.com/mcp to Claude, ChatGPT, Cursor, or Claude Code, sign in with an emailed code, and your assistant can fund, launch, and report on real display campaigns.

4 min readOur judgmentUpdated
On this page

Connect an AI assistant to Adprime Zero by adding one URL, https://mcp.adprimezero.com/mcp, and signing in when the assistant asks. There is nothing to install and no key to paste. The assistant then sees the tool list and works through the same public API as the dashboard: the same account, the same prepaid balance, the same review, and the same campaigns.

Step-by-step screens for each app are on Connect your assistant. This guide covers what happens next: signing in, paying, the tools to expect, and the first launch. The daily loop after that is How an agent buys ads.

Add the connector

Claude: add a custom connector with the URL. ChatGPT: create a connector with its own address, https://mcp.adprimezero.com/mcp/chatgpt, which has every tool except the payment links. Cursor, Claude Code, and VS Code: add it as a remote (HTTP) MCP server. File-configured clients take:

Add the connector
{
  "mcpServers": {
    "adprime-zero": { "url": "https://mcp.adprimezero.com/mcp" }
  }
}

The first call returns 401 with a pointer to the sign-in documents. The client registers itself and opens a browser. You sign in with a six-digit code sent to your email; a new email gets an account on the spot. You click Allow, and the client receives its own API key.

That key shows up on the dashboard API keys page as MCP connector: <app name>. Each app you connect gets its own key. Revoke one there and that app loses access at once; the next time it connects it asks you to sign in again.

Other ways in

The connector is the shortest path, and almost every assistant now takes it. The same account is also reachable from:

  • The dashboard, for anything you would rather click.
  • The REST API at https://api.adprimezero.com. Its root returns a small discovery document, and REST API reference has the examples.
  • The public docs: How it works and Get started.

Scripts and servers that cannot open a browser send a key from the API keys page as Authorization: Bearer ak_..., either to the connector URL or to the REST API. They can also register through POST /auth/register, which returns a key before anyone types an email code. That is acceptable because a new account has no prepaid balance: it can prepare work, but nothing spends until someone pays in the browser. Keep any key in a secret store, never in the repo, the chat, or a web page. REST clients need a normal User-Agent, for example your-agent-name/1.0.

A model that cannot call tools should write the REST calls for you to run, not pretend the campaign exists.

Paying

When the wallet cannot cover the launch, the assistant calls request_prepay_link (REST: POST /account/prepay-link) with an amount and an optional return URL, and gets back a checkout_url. For a connected assistant that URL opens an Adprime Zero sign-in page with your email filled in, not a raw payment page. You verify the email, review or change the amount, and pay on Stripe Checkout. The assistant polls get_funding_intent_status and carries on once the balance lands.

In ChatGPT, whose connector has no payment-link tools, the assistant sends you to the billing page in the dashboard instead. It never collects card numbers, bank details, or login codes. How agent funding handoff works has the details.

Tools the assistant should find

Account and money: get_account, request_prepay_link, list_funding_intents, get_funding_intent_status.

Ads and audiences: pre_check_creative, submit_creative, get_creative, upload_media, derive_banner_from_image, discover_segments, create_targeting.

Campaigns: create_campaign, activate_campaign, pause_campaign, resume_campaign, list_campaigns, get_campaign, copy_campaign.

Changing what runs: list_campaign_creatives, add_campaign_creative, replace_campaign_creative, pause_campaign_creative, resume_campaign_creative, remove_campaign_creative.

Reports: list_campaign_performance, get_campaign_performance, get_beeswax_reporting_status (reporting freshness), and the conversion-event tools.

Video ads, brand kits, and teammates have their own tools too, such as create_video_project, list_brand_kits, and invite_teammate.

If the client cannot see those names, it has not finished signing in. Fix the connection before you debug anything else. Do not ask the model to type a key into the chat "so it can test"; a signed-in connector already has its key.

First launch after connecting

  1. Confirm the tool list. Ask the assistant to name get_account and activate_campaign.
  2. If the wallet is empty, it requests a payment link. You pay in your browser, and it checks the funding status.
  3. It pre-checks the landing page, submits the ad, and waits until get_creative shows the ad and its landing page approved. It creates targeting from catalog ids.
  4. It creates the campaign and activates it. Activation refuses, and lists what is missing, until the ad, the landing page, and the balance are ready.
  5. Optional: it subscribes to webhooks for funded, balance-low, ad, campaign, URL, and conversion events instead of polling.

The connection works when the assistant can read the account, request a payment link, submit an ad, create targeting, and read performance with freshness fields. Summarizing the homepage does not count.

Rules to give the assistant

  • Money: request a hosted payment link. Card entry happens on the payment page, never in tool arguments or the chat.
  • Audiences: discover_segments returns catalog ids. Use those ids, not display names.
  • Ads: change a live campaign with the campaign ad tools. Never invent ids; use the ones Adprime Zero returns (camp_, cr_, targeting ids).
  • Reports: generated_at is when Adprime Zero answered, not when delivery was last reported. Read freshness_status before calling a zero real. Delivery clicks use the clicks (plural) field.
  • Conversion tags: install snippets come from the API. Never put an API key in a web page.

When a call fails

Read the upstream request id before rewriting targeting. A 401 means the connection was revoked or never finished; sign in again. A refusal about prepaid balance is a wallet problem, not an ad problem. Those are different fixes.

Checklist

Checklist
[ ] Connector added: https://mcp.adprimezero.com/mcp
[ ] Signed in with the emailed code and clicked Allow
[ ] Tool list visible (get_account, activate_campaign)
[ ] Assistant told: request payment links, never collect cards
[ ] Assistant told: use only the ids Adprime Zero returns

Notes for each app: Claude, ChatGPT, Cursor, and Codex. Ready-to-paste briefs are in the launch prompts.