ROAZ

Meta Ads MCP Server - Connect Facebook Ads to Claude, ChatGPT, Grok and Cursor

The read-only Meta Ads MCP server built for agencies. Connect every client account to Claude, ChatGPT, Grok or Cursor and get ROAZ's analysis, not just raw rows.

Connect your AI   Already a customer? Open Settings

ROAZ is the Meta Ads MCP server for people who want an AI to analyse ad accounts without ever touching them. Add https://roaz.app/api/mcp to Claude, ChatGPT, Grok, Cursor, Claude Code or your own bot, sign in, and ask "which campaigns should I scale this week?" across every account you manage.

Why ROAZ

1. Read-only by design: an AI can't spend a cent. Every tool reads ROAZ's synced copy of your data. There is no tool that creates, edits, pauses or funds anything, and the server never writes to Meta. You can hand it to any assistant, agent or junior teammate without worrying about a hallucinated budget change.

2. Built for agencies: ask about any client by name. One connection covers every ad account in your ROAZ workspace, including accounts clients share with you through a ROAZ invite. Ask "how did Lumen do last week compared to Trailhead?" and the assistant resolves both clients by name, in each account's own currency.

3. ROAZ's analysis, not just raw rows. Beyond spend, ROAS and CPA, your assistant gets ROAZ's own findings: scale and cut verdicts graded against each account's own 28-day blend, creative fatigue with hook and hold rates, a health score, and the estimated monthly impact of each recommendation. The model explains decisions instead of re-deriving them from a CSV.

ROAZ vs other ways to connect Meta Ads to AI

ROAZ MCP Write-capable Meta connectors DIY Marketing API script
Can change budgets, pause or create ads No, by design Yes, that is their purpose Whatever you code
Many client accounts, asked by name Yes Accounts your Meta login can access Build it yourself
Computed verdicts, fatigue, impact estimates Yes Raw metrics, some platform insights Build it yourself
Uses your Meta API rate limit per question No, answers from synced data Yes Yes
Setup Paste a URL, sign in Sign in with Meta Developer app, tokens, hosting

Use a write-capable connector when you want an AI to build campaigns. Use ROAZ when you want it to analyse accounts safely, especially other people's.

What is a Meta Ads MCP server?

MCP (Model Context Protocol) is the open standard AI assistants use to call external tools. A Meta Ads MCP server exposes your ad account as a set of tools, such as "get campaigns" or "compare periods", that the model can call on its own while it reasons. The assistant gets exact numbers for spend, revenue, ROAS, CPA, CTR and creative metrics, so its answers are grounded in your data rather than guessed.

ROAZ hosts the server for you. There is nothing to install, no Meta developer app to create, and no access token to manage.

Connect in two minutes

  1. Create a ROAZ account and connect your Meta ad account (read-only Meta login).
  2. Add https://roaz.app/api/mcp to your AI client.
  3. Click Connect, sign in to ROAZ and approve access. That's it - no key to copy.

One-click install: Add to Cursor ยท Install in VS Code

Connection style What to enter Use it for
Sign in (OAuth) https://roaz.app/api/mcp Claude, ChatGPT, Claude Code, Cursor, VS Code and any client that supports MCP sign-in
API key header https://roaz.app/api/mcp with Authorization: Bearer roaz_sk_YOUR_KEY Bots, scripts, Gemini CLI, Codex CLI, xAI API, n8n
Key in URL https://roaz.app/api/mcp/k/roaz_sk_YOUR_KEY Clients that accept only a URL and cannot sign in

API keys are created in Settings -> AI assistants (MCP) (they start with roaz_sk_ and are shown once). The key-in-URL form contains your key, so treat that URL like a password.

Setup for each AI client

Claude (claude.ai and Claude Desktop)

Settings -> Connectors -> Add custom connector. Name it ROAZ, paste the URL below, click Connect and sign in to ROAZ:

https://roaz.app/api/mcp

Claude Code

claude mcp add --transport http roaz https://roaz.app/api/mcp

Then run /mcp inside Claude Code and choose Authenticate to sign in. Prefer a key? Add --header "Authorization: Bearer roaz_sk_YOUR_KEY".

ChatGPT

Settings -> Apps & Connectors -> Advanced settings -> enable Developer mode, then Create a connector. Paste https://roaz.app/api/mcp as the MCP server URL, choose OAuth, and sign in to ROAZ when prompted.

Grok (xAI API and Grok bots)

Add ROAZ as a remote MCP tool in your xAI API request:

{ "type": "mcp", "server_url": "https://roaz.app/api/mcp", "server_label": "roaz", "authorization": "roaz_sk_YOUR_KEY" }

If your Grok bot framework only accepts a URL, use the /k/ URL form instead.

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "roaz": {
      "url": "https://roaz.app/api/mcp",
      "headers": { "Authorization": "Bearer roaz_sk_YOUR_KEY" }
    }
  }
}

VS Code (GitHub Copilot agent mode)

.vscode/mcp.json:

{
  "servers": {
    "roaz": {
      "type": "http",
      "url": "https://roaz.app/api/mcp",
      "headers": { "Authorization": "Bearer roaz_sk_YOUR_KEY" }
    }
  }
}

Gemini CLI

~/.gemini/settings.json:

{
  "mcpServers": {
    "roaz": {
      "httpUrl": "https://roaz.app/api/mcp",
      "headers": { "Authorization": "Bearer roaz_sk_YOUR_KEY" }
    }
  }
}

OpenAI Codex CLI

~/.codex/config.toml, with the key exported as ROAZ_MCP_KEY:

[mcp_servers.roaz]
url = "https://roaz.app/api/mcp"
bearer_token_env_var = "ROAZ_MCP_KEY"

OpenClaw, n8n and custom bots

Any MCP client that speaks Streamable HTTP works. Give it the /k/ URL, or the plain endpoint plus the Bearer header if it supports custom headers.

Test with curl

curl -s https://roaz.app/api/mcp \
  -H "Authorization: Bearer roaz_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools your AI assistant gets

Tool What it answers
listAdAccounts Which ad accounts can I see? Maps a client name to an account id.
getAccountOverview Spend, revenue, ROAS, CPA, CPC, CTR, CPM, conversions, reach, each vs the previous period.
getCampaigns Campaign list with period metrics, sortable by any metric.
getAdSets Ad sets with budget and parent campaign, optionally within one campaign.
getAds Ad level performance.
getInsights Flexible metrics broken down by day (trend), campaign, ad set or ad.
getRoazInsights ROAZ's computed findings (scale, cut, fatigue, anomalies) ranked by estimated monthly impact.
comparePeriods Any two date ranges side by side.
getCreativesPerformance Top and bottom creatives with copy, headline, CTA and video hook and hold rates.
getAccountReport A full report payload: KPIs, leaderboards, funnel and health score.
getFunnel Impressions, link clicks, landing page views, add to cart, checkout, purchase, with drop-off (or the lead funnel).

Leads accounts return leads and cost per lead instead of revenue and ROAS.

Prompts to try

  • "Which of my campaigns should I scale and which should I cut this week? Explain with numbers."
  • "Compare the last 7 days with the previous 7 days and tell me what changed and why."
  • "Which creatives are fatiguing? Rank by spend at risk."
  • "Write a one-page October performance report for my client."
  • "What hour of the day and which placement give me the cheapest purchases?"

Security and privacy

  • Read-only by construction. The server answers from ROAZ's synced copy of your data and never calls the Meta API to write. An assistant cannot change a budget, pause an ad or create a campaign.
  • Scoped keys. A personal key only sees the ad accounts in its owner's ROAZ workspace.
  • Revocable. Revoke a key in Settings and it stops working on the next request.
  • Hashed at rest. ROAZ stores only a SHA-256 hash of each key.
  • No Meta rate limits. Tool calls read ROAZ's database, so a chatty assistant never burns your Meta API quota.

Who it is for

  • Media buyers who want a daily briefing from their AI assistant.
  • Agencies managing many client accounts: ask about any client by name.
  • Founders and D2C brands who want answers without learning Ads Manager.
  • Developers building ad-reporting agents, Slack or Telegram bots, or n8n workflows.

Pricing

MCP access is included on every plan: Brand $54/month (1 ad account), Agency $159/month (10 ad accounts), or Early Backer Lifetime from $249 one-time. Start with a free trial.

FAQ

How do I connect my Meta Ads account to Claude?

Create a ROAZ account, connect Meta, create a key under Settings -> AI assistants (MCP), then in Claude open Settings -> Connectors -> Add custom connector and paste https://roaz.app/api/mcp/k/ followed by your key.

Can I use the ROAZ MCP server with ChatGPT?

Yes. Enable Developer mode in ChatGPT's connector settings, create a connector with your ROAZ /k/ URL and choose No authentication. ChatGPT can then call all eleven ROAZ tools.

Does it work with Grok?

Yes. Add ROAZ as a remote MCP tool in the xAI API with server_url https://roaz.app/api/mcp and your key as the authorization value, or give a Grok bot the /k/ URL.

Can the AI change my ads or budgets?

No. Every tool is read-only and the server never writes to Meta. The worst a misbehaving assistant can do is read your own metrics.

Do I need a Meta developer app or access token?

No. ROAZ handles the Meta connection and data sync. You only need your ROAZ MCP key.

Can agencies use one key for many client accounts?

Yes. A key sees every ad account in your ROAZ workspace, and tools accept a client name, so you can ask "how did Acme do last week?" directly.