Connect your AI Agents to Meta Ads in minutes

Merge lets you securely connect your agents to Meta Ads and thousands of tools instantly

Available tools

list_ad_accounts

List the ad accounts the token can access, with id (act_<number>), name, currency, and balance. Start here to get an account id for the campaign/ad-set/ad/creative tools.

list_ad_creatives

List ad creatives under an ad account, each with its id for attaching to a new ad. Pass accountid from listad_accounts. Page with limit + after.

create_ad_creative

Create an ad creative under an ad account. Requires accountid (from listadaccounts) and name; optionally title, body, objectstoryspec. Returns the new creative id to pass to createad.

delete_ad_creative

Delete an ad creative by id. Use listadcreatives to find creative ids.

list_ad_sets

List ad sets under an ad account, each with its campaignid for client-side scoping. Pass accountid from listadaccounts. Filter by effective_status; page with limit + after.

create_ad_set

Create an ad set under a campaign. Requires accountid (from listadaccounts), name, campaignid (from listcampaigns), billingevent, optimization_goal, targeting, and status. Returns the new ad set id.

delete_ad_set

Delete an ad set by id. Use listadsets to find ad set ids. This removes the ad set and stops delivery of its ads.

list_ads

List ads under an ad account, each with its adsetid and campaignid for client-side scoping. Pass accountid from listadaccounts. Filter by effectivestatus; page with limit + after.

create_ad

Create an ad in an ad set. Requires accountid (from listadaccounts), name, adsetid (from listadsets), creative (e.g. {'creativeid': <id from listad_creatives>}), and status. Returns the new ad id.

delete_ad

Delete an ad by id. Use list_ads to find ad ids. This removes the ad and stops its delivery.

list_campaigns

List campaigns under an ad account, with status, objective, and budgets. Pass accountid from listadaccounts. Filter by effectivestatus; page with limit + after.

get_campaign

Get a single campaign by id, with status, objective, and budgets. Use list_campaigns to find campaign ids.

create_campaign

Create a campaign under an ad account. Requires accountid (from listadaccounts), name, objective, specialad_categories (pass [] if none), and status (ACTIVE/PAUSED). Returns the new campaign id.

update_campaign

Update a campaign by id (Meta uses POST, not PATCH). Change name, status, budgets, bidstrategy, or specialadcategories. Use listcampaigns to find campaign ids.

delete_campaign

Delete a campaign by id. Use list_campaigns to find campaign ids. This removes the campaign and its delivery.

validate_credential

Validate Meta Ads credentials by reading the token's identity (/me). Returns success status and a human-readable message.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Meta Ads  MCP server

FAQs on using Merge's Meta Ads  MCP server

Explore other MCP servers built and managed by Merge

activecampaign
ActiveCampaign
adobe_experience_manager
Adobe Experience Manager
adobe_pdf_services
Adobe PDF Services
adobe_workfront
Adobe Workfront
ahrefs
Ahrefs
airtable
Airtable
alphavantage
Alpha Vantage
amadeus
Amadeus
amazon_s3
Amazon S3
amazon_seller_central
Amazon Seller Central
amplitude
Amplitude
anaplan
Anaplan
apollo
Apollo
arize
Arize
articulate
Articulate Reach 360
asana
Asana
ashby
Ashby
attio
Attio
avalara
Avalara
aviationstack
Aviationstack
axiom
Axiom
bamboohr
BambooHR
basecamp
Basecamp
biorxiv
bioRxiv

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now