# Meta Ads setup

> Connect Meta Ads to Claude, ChatGPT, Codex or any MCP client, what to ask it once it is connected, and the 39 tools behind the answers.

[Guides](https://www.getmcpads.com/guides)

## For you

Facebook and Instagram delivery, creatives, audiences, lift studies, catalogue joins.

## Connect it

1. Open the dashboard and choose this platform.
2. Approve the consent screen. The gateway stores an encrypted refresh token, never a password.
3. Tick the accounts to expose. Nothing is readable until you do.
4. Paste the endpoint into your assistant, or use the shared one for every platform at once.

Meta Ads on its own endpoint

```text
https://mcp.getmcpads.com/meta-ads/mcp
```

## What to ask

```text
Spend, CPA and ROAS by campaign for the last 14 days.
Which creatives are losing CTR since launch?
Why is this ad set not delivering?
What audiences exist on this account, and how big are they?
Break performance down by placement, age and platform.
Pause every ad set above 60 EUR CPA.
```

## What answers each one

| Question | Tools |
| --- | --- |
| Spend, CPA and ROAS by campaign for the last 14 days. | [`meta_get_insights`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_insights) |
| Which creatives are losing CTR since launch? | [`meta_get_insights`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_insights), [`meta_get_creatives`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_creatives) |
| Why is this ad set not delivering? | [`meta_get_delivery_diagnostics`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_delivery_diagnostics) |
| What audiences exist on this account, and how big are they? | [`meta_get_audiences`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_audiences) |
| Break performance down by placement, age and platform. | [`meta_get_insights`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_insights) |
| Pause every ad set above 60 EUR CPA. | [`meta_get_insights`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_get_insights), [`meta_update_adset_status`](https://www.getmcpads.com/docs/sources/meta-ads/tools/meta_update_adset_status) |

## What it can change

Pause or resume a campaign, ad set or single ad. Rename any of the three. Change an ad set or campaign budget, and an ad set schedule. Create a campaign, always paused.

> **Warning** 10 write tools, absent from the tool list on the Free plan. Each one previews by default and needs a second call with confirm before anything changes.

- [Meta Ads reference](https://www.getmcpads.com/docs/sources/meta-ads): All 39 tools, with their parameters.
- [Metrics](https://www.getmcpads.com/docs/sources/meta-ads/metrics): 190 metrics you can request.
- [Dimensions](https://www.getmcpads.com/docs/sources/meta-ads/dimensions): 143 ways to break a report down.
- [Skills](https://www.getmcpads.com/skills): 42 operating procedures use this source.

## For your agent

|  |  |
| --- | --- |
| Platform id | `meta_ads` |
| Tool prefix | `meta_` |
| Account parameter | `adAccountId` |
| Dedicated endpoint | https://mcp.getmcpads.com/meta-ads/mcp |
| Tools | 39, 10 of which write |
| Announced by default | `meta_get_campaigns`, `meta_get_delivery_diagnostics`, `meta_get_insights`, `meta_health_check`, `meta_list_ad_accounts` |
| Metrics | 190, see /docs/sources/meta-ads/metrics |
| Dimensions | 143, see /docs/sources/meta-ads/dimensions |

## Scope requested from the platform

| Scope | Grants | Allows writes |
| --- | --- | --- |
| `ads_read` | Read Meta campaigns, insights, creatives and audiences. | No |
| `ads_management` | Pause, resume and change budgets on Meta campaigns, ad sets and ads. Only reachable on a paid plan. | Yes |

## Reaching a tool that is not announced

```text
search_tools({ task: "..." })      find it
describe_tool({ name: "..." })     read its schema
run_tool({ name, args })           execute, with the same checks
```

## What will refuse you

- An account not ticked by the owner. Call `list_accounts` and use a `adAccountId` from it.
- A write on a plan without writes. The tool is absent from the list and refused if called anyway.
- A write without `confirm: true` returns a preview and applies nothing. That is not an error.
- A call to this platform on another platform's dedicated endpoint. The refusal names the URL that serves it.

## Questions this source answers

| Question | Tools, in order |
| --- | --- |
| Spend, CPA and ROAS by campaign for the last 14 days. | `meta_get_insights` |
| Which creatives are losing CTR since launch? | `meta_get_insights` then `meta_get_creatives` |
| Why is this ad set not delivering? | `meta_get_delivery_diagnostics` |
| What audiences exist on this account, and how big are they? | `meta_get_audiences` |
| Break performance down by placement, age and platform. | `meta_get_insights` |
| Pause every ad set above 60 EUR CPA. | `meta_get_insights` then `meta_update_adset_status` |

---

This page as HTML: https://www.getmcpads.com/guides/sources/meta-ads
Every page under /guides and /docs is available as Markdown: append `.md`, or send `Accept: text/markdown`.
