Meta Ads MCP server

Meta Ads, from your AI agent.

Work with Facebook and Instagram advertising accounts from your AI agent. Pull Meta Insights, compare campaigns and ad sets, and turn a proposed adjustment into a reviewable action.

View on GitHub

Prefer to run it on your machine? Local setup for Meta Ads

What you can do with Meta Ads MCP

Read Insights in context

Ask for performance by campaign, ad set, or ad with the date range and breakdowns supported by Meta. Keep reporting windows explicit instead of comparing mismatched exports.

Work at the right budget level

Inspect whether budget belongs to a campaign or an ad set. Preview daily or lifetime budget changes against the existing value before deciding to apply them.

Manage Facebook and Instagram delivery

Review campaign and ad-set status, draft a paused campaign, or preview a pause. Access and available actions follow the permissions on your Meta ad account.

Prefer local setup for Meta Ads?

The npm CLI and MCP server run on your machine. You need Node.js 22.13 or newer, your own provider credentials, and permission to access the ad account.

  1. Install Adport
    npm install -g adport
  2. Connect Meta Ads
    adport connect meta
    Run the wizard and provide the token through its secure prompt. Adport uses your own Meta app and assigned assets; public customer onboarding is a separate approval process.
  3. Check your connection
    adport doctor
    adport accounts --provider meta
    Check that the intended account appears before asking your agent to report on it. Never paste tokens, client secrets, or private keys into chat.
  4. Register a local stdio client
    claude mcp add --transport stdio adport -- adport mcp
    For Cursor, merge {"mcpServers":{"adport":{"command":"adport","args":["mcp"]}}} into your MCP configuration. ChatGPT uses the HTTP endpoint above instead of launching a local process.

Use Meta Ads from your agent.

Use the same Adport MCP endpoint and OAuth sign-in in each client. First connect your ad accounts in your Adport workspace. No platform secrets belong in chat.

Use Meta Ads in ChatGPT

Enable developer mode, then open Settings → Apps → Create. Choose OAuth and use the endpoint below.

https://app.adport.dev/mcp

Scan the tools, finish Adport authorization, and enable the new app in your chat.

Developer mode and custom apps must be enabled for your ChatGPT account or workspace. In newer layouts, enable Developer mode under Settings → Security and login, then use the + button in Plugins to create your app. ChatGPT connects over HTTP; the local stdio command is for clients that can launch a process.

ChatGPT developer-mode documentation

Use Meta Ads in Codex

Run this command once and complete the browser authorization. Codex stores the MCP configuration and starts OAuth automatically.

codex mcp add adport --url https://app.adport.dev/mcp

Only if authorization did not start or you need to sign in again, run “codex mcp login adport”. Otherwise, check “codex mcp list” and ask Codex to list your ad accounts.

Use Meta Ads in Claude Code

Add Adport at user scope so it is available across your local projects.

claude mcp add --transport http --scope user adport https://app.adport.dev/mcp

Run /mcp inside Claude Code if the browser authorization does not open automatically.

Use Meta Ads in Claude

Open Customize → Connectors → Add custom connector. Name it Adport and use the endpoint below.

https://app.adport.dev/mcp

Select Connect, approve the workspace, then enable Adport from the + menu in a conversation.

Use Meta Ads in Cursor

Add this server to ~/.cursor/mcp.json, then restart Cursor.

{
  "mcpServers": {
    "adport": {
      "url": "https://app.adport.dev/mcp"
    }
  }
}

Approve the browser sign-in when prompted. Cursor will keep the OAuth session refreshed.

Use Meta Ads in any MCP client

Add a remote MCP server in your client, name it Adport, and use the endpoint below. Choose OAuth or streamable HTTP if your client asks.

https://app.adport.dev/mcp

Approve the browser sign-in when prompted. For a client without MCP OAuth, create an API key under Agent access instead.

Use the MCP URL from Agent access if you run your own Adport deployment. Client settings, workspace permissions, and advertising-platform approvals still apply. The Cloud waitlist below is separate from these connection instructions.

A suggestion is not a live change.

Try the write gate

The first mutation call returns a preview and a short-lived pending-operation token. Applying requires that token and the same arguments. Budget caps and protected accounts are checked by the policy engine; new campaigns are paused by policy.

Local operations are recorded in an append-only audit log. An approved preview is not a guarantee of provider acceptance, and a connected agent does not grant additional account permissions.

Meta Ads MCP questions

Does the Facebook Ads MCP also cover Instagram ads?

Yes, for Instagram advertising managed through a connected Meta ad account and exposed by the Marketing API. It is not an Instagram publishing or personal-account automation tool.

Can I use Meta Ads locally without Adport Cloud?

Yes. Install Adport from npm, connect your own Meta Ads credentials, and register the local MCP server with a stdio-compatible agent such as Claude Code or Cursor. Your provider may have its own approval, access, or billing requirements.

Why can I connect an account but not read a report or apply a change?

Account discovery, reporting, and mutations can require different permissions. Check the requested account, provider app scopes, advertiser eligibility, and environment. Start with adport doctor and the connection guide above. Do not bypass a denied operation by sharing secrets with the agent.

Bring your whole team behind the gate.

Adport Cloud is in early access: hosted MCP with sign-in, team workspaces and the same preview on every change. Join the Cloud waitlist and we’ll write once, when your spot opens.

By joining, you agree to receive an early-access email. No newsletter. Privacy