meta-ads-connector
Provides tools for managing Meta Ads accounts, including campaigns, ad sets, ads, creatives, image and video upload, budgets, audiences, and reporting with Meta-internal signals like opportunity score and industry benchmarks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@meta-ads-connectorShow me my ad account performance for the last 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Meta Ads Connector
Connect Claude to Meta Ads in one shot, and give it full management of your ad accounts.
Status: built, pending a live run-through. The skill and the package behind it are complete and tested. One full run against a real ad account is still required before release — see Before release.
The problem
Getting Claude connected to Meta Ads is unreliable, and it isn't your fault:
Meta's official connectors shipped on 29 April 2026 — after Claude's training data. Claude doesn't know they exist, so it improvises.
Most guides on the web are wrong. They tell you to run
npm install -g @meta/ads-cli. That package does not exist. The real one ismeta-adson PyPI.Once connected, Claude often tries to connect again, because nothing tells it the job is already done.
Related MCP server: meta-ads-mcp
What this kit does
One skill, meta-ads-connect. It:
Installs and pins Meta's official Ads CLI, sorting out the Python version for you.
Mints a system user token that never expires, driving the browser itself — no copying and pasting secrets by hand.
Sets up your Business Manager and ad account access if you don't already have them.
Registers Meta's official Ads MCP server alongside, for audiences and Meta's internal benchmark data.
Checks first. If you're already connected, it says so and stops.
After that, you just talk to Claude about your ads.
What you get access to
Everything: campaigns, ad sets, ads, creatives, image and video upload from your own files, budgets, audiences, and reporting — including Meta-internal signals like opportunity score and industry benchmarks that aren't available through the API at all.
No read-only mode, no artificial limits. Claude will confirm with you before anything that changes spend or sets an ad live.
Requirements
A Meta ad account (the kit helps you sort out Business Manager if you haven't got that yet)
Claude Code, in the terminal or inside Claude Desktop
Python — the kit handles the version for you
Installing
Clone this repo, copy the skill into Claude, and install the package behind it:
git clone https://github.com/lukeselr/meta-ads-connector.git
cd meta-ads-connector
mkdir -p ~/.claude/skills
cp -r skills/meta-ads-connect ~/.claude/skills/
pip install . # add '.[mint]' for browser-driven token mintingThen just tell Claude: "connect my Meta ads".
Doing it by hand
You never need to run these yourself — Claude does — but each one is safe to re-run:
Command | What it does |
| Live connection check. Always the first thing to run. |
| Checks each part separately and says what to fix. |
| Installs Meta's official Ads CLI at a pinned version. |
| Opens a browser, creates a token, saves it straight to disk. |
| Stores a token you already have, read from standard input. |
| Registers Meta's official Ads MCP server. |
| Fixes a missing Business Manager or an unassigned ad account. |
| Runs Meta's Ads CLI with your token in place, e.g. |
Where your token lives
~/.meta-ads/.env, readable only by your user account, inside a folder only your user
account can open. It is loaded per command — by exec, which is the only thing that puts
it into an environment — and never written into your shell profile or your operating
system's keychain.
Meta's Ads CLI is installed into ~/.meta-ads/venv rather than onto your PATH, so it
cannot collide with any other Python you use, and nothing outside ~/.meta-ads is
touched.
To undo everything:
rm -rf ~/.meta-ads # removes the token and the installed CLI
claude mcp remove meta-ads # removes the MCP serverTo revoke the token at Meta's end — which you should do if you ever think it has leaked — go to Business Settings → System users, select the system user, and remove its token.
Claude is instructed never to print the token, and doctor redacts it from all output,
including error messages relayed back from Meta.
Development
uv venv && uv pip install -e '.[dev]'
.venv/bin/python -m pytest # 198 tests
.venv/bin/python -m mypy # strictTests fake exactly two boundaries — outbound HTTP to Meta, and subprocess execution — and assert on what each subcommand actually does: its exit code, its output, and the state of the filesystem afterwards. No test asserts which internal function was called, so a refactor that keeps behaviour identical cannot break the suite.
Before release
One full live run-through against a real ad account is still required. It is also the moment the outstanding research spike resolves:
Does MCP consent actually succeed, and what does the consent screen list?
Capture a live
tools/listfrom the MCP server.Does the Claude Code
redirect_uribug still bite in practice?End to end on the CLI: enumerate accounts → create a paused campaign → upload an image creative → verify in Ads Manager → clean up.
Confirm the browser selectors in
src/meta_ads_connect/minting.pyagainst live Business Settings.
Keeping it accurate
Meta ships changes to these connectors without version bumps and without a changelog. This
kit pins what it can and is due a re-check in September 2026. See
docs/research/findings-and-decisions.md
section 9 for what to check and why.
Licence
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mr-heka/meta-ads-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server