---
title: "Set up Meta's Ads MCP: Claude, ChatGPT and Cursor"
description: "Connect Meta's official Ads MCP server to Claude Code, Claude, ChatGPT or Cursor. Check OAuth, account access, admin rules and a read-only first request."
canonical: 'https://plainrouter.com/library/meta-ads-mcp-setup'
format: Guide
published_at: '2026-10-04'
last_updated: '2026-10-04'
---

Meta's official Ads MCP server, announced in open beta on 29 April 2026, is hosted at ` https://mcp.facebook.com/ads `. Add that address as a remote server in Claude, ChatGPT or another compatible client, authenticate with Meta, then check which ad accounts the connection can reach before allowing changes. Meta's creation tools produce paused campaigns, ad sets and ads; its documentation says the AI client asks for confirmation before activation. [Meta server overview](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview>), [creation and activation tools](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-tools-ad-creation-and-management>).

This guide covers Meta's own server. Published by Plainrouter, which offers a separate Meta Ads MCP service. Instructions and sources checked on 4 October 2026.

## Official Meta Ads MCP: the essentials

| Item | What to use or expect | Source |
| --- | --- | --- |
| Server URL | ` https://mcp.facebook.com/ads ` | [Meta overview](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview>) |
| Hosting | Meta-hosted remote server | [Meta overview](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview>) |
| Clients | Meta lists Claude, Claude Code, ChatGPT and Perplexity setup resources; other compatible clients use its developer integration path | [Meta connector help](<https://www.facebook.com/business/help/1456422242197840>) |
| Sign-in | Facebook Login for Business OAuth, or a supported access token | [Meta authentication](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>) |
| Token permissions | Minimum: ` ads_mcp_management ` plus ` ads_read ` or ` ads_management `. Additional scopes unlock additional tools | [Meta permissions](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started#permissions>) |
| Tool areas | Reporting, ad management, catalogs, signals, troubleshooting, experiments and activity logs | [Meta tool overview](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview>) |
| New objects | Campaigns, ad sets and ads are created paused; activation is a separate tool | [Meta creation tools](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-tools-ad-creation-and-management>) |
| Administrative controls | Account/catalog rules in Meta Business Suite; availability varies | [Meta rule settings](<https://www.facebook.com/business/help/1456422242197840>) |
| Server price | No published price in the Meta documentation checked here; client subscriptions and ad spend are separate | [Meta overview](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview>) |

Meta announced account/catalog server rules on 16 July 2026. The beta and rule availability are described in [Meta's announcement and July update](<https://www.facebook.com/business/news/meta-ads-ai-connectors>).

## Before you start

Have access to the intended Meta ad account, a compatible client and permission to add its connector. Full control of the business portfolio is needed to manage Meta's server rules. Account access and rule administration are different permissions.

Meta offers two setup paths: supported AI connectors without your own developer app, and a custom integration with your own Meta app. For the latter, add the **Create & manage ads with ads MCP server** use case and register the client's OAuth redirect URL. This distinction matters when a client asks for an app ID. [Meta connector setup](<https://www.facebook.com/business/help/1456422242197840>), [developer setup](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>).

## Connect Claude Code

Add the remote endpoint:

```bash
claude mcp add --transport http meta-ads https://mcp.facebook.com/ads
```

Open Claude Code, run ` /mcp `, select ` meta-ads ` and follow its authentication flow. Adding the configuration alone does not establish an authenticated connection. [Claude Code MCP setup](<https://code.claude.com/docs/en/mcp>).

For Meta's own-app integration, use its documented variant:

```bash
claude mcp add --transport http --client-id <META_APP_ID> meta-ads https://mcp.facebook.com/ads
```

Configure the app's allowed redirect URL for your client before signing in. [Meta Claude Code instructions](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>).

## Connect Claude on the web or desktop

1. Open **Customize → Connectors** and add a custom remote connector.
1. Name it ` Meta Ads ` and enter ` https://mcp.facebook.com/ads `.
1. Review the detected authentication settings and choose sign-in.
1. Complete Meta's authorization screen, checking the assets and permissions shown.
1. Enable the connector for the conversation before asking it to read your account.

Team and Enterprise users may need an organization owner to add the connector first. Remote connectors are available in Claude Desktop as well as the web interface; local Desktop configuration files are a separate mechanism. [Claude custom connector instructions](<https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp>).

## Connect ChatGPT

1. On an eligible web account, enable **Settings → Security and login → Developer mode**.
1. Open ChatGPT's Plugins page, use the plus button to create a developer-mode app, and enter ` https://mcp.facebook.com/ads ` as its remote server URL.
1. Choose **OAuth** and complete Meta sign-in.
1. Select the app from the conversation's Developer mode menu.
1. Review write-tool inputs before confirming a change.

OpenAI currently lists Plus, Pro, Business, Enterprise and Education web accounts as eligible. Workspace controls may restrict creation. [ChatGPT developer mode](<https://developers.openai.com/api/docs/guides/developer-mode>).

If you use your own Meta app, enter its app ID as the OAuth Client ID in advanced settings and register the redirect URL required by ChatGPT. [Meta ChatGPT instructions](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>).

## Connect Cursor

Meta directs clients outside its listed connector resources to the developer integration path. For Cursor, prepare your Meta app and add this entry to your project's ` .cursor/mcp.json `, or to ` ~/.cursor/mcp.json ` for global use:

```json
{
  "mcpServers": {
    "meta-ads": {
      "url": "https://mcp.facebook.com/ads",
      "auth": {
        "CLIENT_ID": "${env:META_APP_ID}"
      }
    }
  }
}
```

Set ` META_APP_ID ` in the environment Cursor uses. For desktop OAuth, register ` http://localhost:8787/callback ` with Meta; Cursor's web/Agents callback is ` https://www.cursor.com/agents/mcp/oauth/callback `. Open the server's authentication control in Cursor and complete sign-in. These are documented configuration steps, not a claim that we tested a production account in Cursor. [Cursor remote MCP and OAuth](<https://cursor.com/docs/mcp>), [Meta custom integration](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>).

Cursor also supports an ` Authorization ` header using an environment variable for a Meta access token. Use this alternative only with the permissions and token roles Meta supports; do not put a token in a shared JSON file or prompt.

## Choose accounts and permissions carefully

List the accessible accounts after sign-in and name the intended account ID in subsequent prompts. Do not assume selecting a portfolio automatically limits every tool to one account. Check the actual authorization screen and account list.

For token-based integration, the minimum scope combination above is different from granting all available tools. Meta also lists ` ads_management `, ` catalog_management `, ` business_management `, ` pages_show_list ` and ` instagram_basic ` for additional capabilities. Employee-role system-user tokens are supported; Admin-role system-user tokens are not. [Meta scope and role requirements](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>).

For a longer access-control checklist, see [AI agent safety for Meta ads](</library/ai-agent-meta-ads-safety>).

## Set Meta's server rules before allowing writes

In **Meta Business Suite → Settings → Integrations → Ads MCP server**, select the account or catalog and review the permitted actions. A portfolio administrator can block actions such as campaign creation or budget changes, including budgets above a chosen amount. If the menu is absent, Meta says the feature is not available to you yet. [Meta's rule instructions](<https://www.facebook.com/business/help/1456422242197840>).

Keep the AI client's confirmation settings enabled. Paused creation protects a new object's initial state; it does not make every existing-account edit read-only. [Meta creation and update tools](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-tools-ad-creation-and-management>).

## Test with a read-only first request

Ask:

```text
Use only the Meta Ads connector. First list the ad accounts I can access.
Do not create, edit, activate, pause or delete anything.
Wait for me to choose an account before requesting its reporting.
```

Then specify the account:

```text
For ad account <AD_ACCOUNT_ID>, report spend over the last seven
completed days. Include the dates, account timezone and currency.
Use reporting tools only; do not change anything.
```

This tests discovery and reporting without asking for an ad change. Prompt instructions supplement permissions and disabled write tools; they do not enforce read-only access by themselves.

## Troubleshoot the connection

| Symptom | Check next |
| --- | --- |
| Sign-in redirects fail | For your own app, compare its registered redirect URL with the client's documented callback. Restart authentication after correcting it. |
| An expected account is absent | Confirm the Meta identity used and its asset access; reconnect if you authorized the wrong identity or assets. |
| Tools are missing | Check scopes, client tool toggles and rollout availability. Refresh the client's tool inventory after changing access. |
| A write is refused | Inspect the account/catalog server rules rather than repeatedly submitting the same action. |
| Server is configured but disconnected | Finish OAuth in the client; a saved URL is not proof of authentication. |

These checks follow [Meta authentication](<https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started>), [Meta availability and rules](<https://www.facebook.com/business/help/1456422242197840>) and the client documentation above.

## Frequently asked questions

### Is Meta's Ads MCP server free?

The Meta pages checked for this guide publish no server price. That does not establish a permanent free tier; your AI client subscription and advertising spend still have their own costs.

### Does it work with ChatGPT?

Meta lists ChatGPT as a supported connector path. Use an eligible ChatGPT web account with developer mode and OAuth; follow the own-app instructions if you supply your own Meta OAuth client.

### Is it safe to give it write access?

Review account access, block unwanted actions with Meta's rules and retain client confirmations. New objects begin paused, but permitted updates can still affect existing campaigns.

### Do I need a developer app?

Not for Meta's supported connector path. You do need one for the own-app developer integration described in Meta's get-started documentation, including its custom OAuth setup.

### Is this a self-hosted server?

No. The endpoint here is hosted by Meta; adding it does not install a local npm package. For other hosting and control options, see [Meta Ads MCP servers compared](</library/meta-ads-mcp-options>).

## Want approvals and an independent conversion check?

Plainrouter offers a separate hosted server with Read keys, Ask-mode approval and conversion-signal diagnostics. See [Plainrouter's Meta Ads MCP setup and capabilities](</solutions/meta-ads-mcp>) if those controls fit your workflow.
