Connect Your Meta Ad Accounts to Claude in 60 Seconds

Connecting Advino's MCP server to Claude to query Meta ad account health

You can ask Claude or ChatGPT about your Meta ad accounts the same way you'd ask a media buyer — "which client accounts are at risk right now?", "what's my real ROAS versus what Meta claims?", "which creatives fell below 50 this week?" — and get an answer pulled from live data. The bridge that makes this work is Advino's MCP server, and connecting it takes about a minute. This guide walks through it for Claude Code, Claude Desktop, ChatGPT, and Cursor.

Key takeaways

  • MCP (Model Context Protocol) is the open standard that lets an AI client call an external tool. Advino exposes one so Claude and ChatGPT can read your monitoring data.
  • Generate a token in Settings → MCP. Advino builds a ready-to-paste snippet with the token already baked in — you copy one block, not a bare secret.
  • Claude Code is one command. Claude Desktop is one config block. ChatGPT and Cursor take the URL and header directly.
  • Reads are safe and quota-limited. Writes (like pausing an ad set) always require human approval inside Advino — the assistant never silently changes a live campaign.

What you can actually ask

The MCP exposes your monitoring layer, not raw campaign dumps. Once connected, useful prompts include: "What's my account health across all clients?" (calls get_account_health), "Show unresolved Shield alerts" (list_active_shields), "What's my true ROAS for this account vs Meta-reported?" (get_true_roas), and "Which creatives scored below 50 this week?" (get_creative_scores). It reads the same data behind Account Shield and True ROAS, so the answers match what you see in the app.

Step 1 — Generate a token

Sign in to Advino and open Settings → MCP. Give the token a label (e.g. "Claude Desktop on MacBook") and click Generate. The full token is shown once — Advino only stores a hash, so if you lose it you revoke and regenerate. Right below it, Advino renders a copy-paste snippet for each client with the token already inserted. In most cases you can copy that and skip the rest of this post. The manual steps are below for reference.

Step 2 — Connect your client

Claude Code (fastest)

One command in your terminal, nothing to hand-edit:

claude mcp add --transport sse advino https://mcp.advino.app/sse \
  --header "Authorization: Bearer adv_mcp_live_<your-token>"

Claude Desktop

Add the block below to ~/Library/Application Support/Claude/claude_desktop_config.json (on Windows, %APPDATA%\Claude\claude_desktop_config.json). This routes through mcp-remote, which works on every Claude Desktop version — it just needs Node/npx installed. Some newer builds accept a remote URL natively, but mcp-remote is the path that reliably works today.

{
  "mcpServers": {
    "advino": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.advino.app/sse",
        "--header",
        "Authorization: Bearer adv_mcp_live_<your-token>"
      ]
    }
  }
}

ChatGPT and Cursor

Both take the remote endpoint directly. In ChatGPT, open Settings → Connectors → Add custom connector (developer mode) and enter the URL https://mcp.advino.app/sse with an Authorization: Bearer … header. In Cursor, add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "advino": {
      "url": "https://mcp.advino.app/sse",
      "headers": { "Authorization": "Bearer adv_mcp_live_<your-token>" }
    }
  }
}

Step 3 — Restart and query

Restart the client. You should see advino in its MCP server list. Ask "What's my account health?" — it should call get_account_health and return a score per account. If it doesn't appear, the two usual culprits are a typo in the token (regenerate and paste the whole snippet) or a client that wasn't fully restarted.

Is it safe?

Read tools only see your monitoring data, and they're quota-limited on lower tiers. Write tools — pausing an ad set, creating an alert rule — are approval-gated: the assistant proposes the action, but nothing executes until you confirm it inside the Advino app. So Claude can recommend pausing a fatiguing ad set, but it can't reach into a live campaign on its own. The token authorizes the agency, not a person, so treat it like a password: one per device is tidiest, and you can revoke any token instantly from Settings → MCP.

Advino MCP vs Meta's official MCP

Meta shipped its own MCP server in 2026, and it's genuinely useful — it exposes raw campaign metrics like spend, impressions, and Meta-reported ROAS. Advino's answers a different question: account safety and truth. Ban-risk alerts, true ROAS reconciled against your store, and creative scores don't exist in Meta's data. You can connect both in the same session and ask each what it's good at. For the ROAS side specifically, here's why Meta over-reports ROAS and how Advino reconciles it.

Frequently asked questions

How do I connect my Meta ad accounts to Claude?

Generate an MCP token in Advino under Settings → MCP, then add Advino's MCP server (https://mcp.advino.app/sse) to Claude with that token as a bearer header. In Claude Code it's a single claude mcp add command; in Claude Desktop it's one block in claude_desktop_config.json. Restart Claude and ask about your account health.

Do I need to know how to code?

No. Advino generates the exact snippet for your client with the token already inserted, so setup is copy, paste, restart. The only "technical" part is knowing where your client's config file lives, which the snippet tells you.

Can Claude pause or change my campaigns?

Not on its own. Write actions require explicit human approval inside the Advino app. Claude can propose pausing an ad set and explain why, but the change only happens after you confirm it — read access and write execution are deliberately separated.

Which AI clients work with Advino's MCP?

Any Model Context Protocol client: Claude (desktop and web), Claude Code, ChatGPT, and Cursor. The same endpoint and token format work across all of them, so one token can serve every client you use.