Meta Ads MCP Server
Provides tools for managing and analyzing Meta Ads campaigns, ad sets, ads, and performance insights across ad accounts.
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 MCP ServerList my Meta ad accounts"
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 MCP Server
A remote MCP server that wraps the Meta Marketing API so Claude can pull data from all of your Meta ad accounts: accounts, campaigns, ad sets, ads, and performance insights (spend, impressions, clicks, CTR/CPC/CPM, reach, conversions, with optional breakdowns and date ranges).
Tools exposed
list_ad_accounts— every ad account reachable with your tokenget_campaigns(account_id, status?, limit?)get_adsets(account_id, campaign_id?, limit?)get_ads(account_id, adset_id?, campaign_id?, limit?)get_insights(account_id, level?, date_preset? | since+until, breakdowns?, fields?, limit?)
Related MCP server: Meta Marketing API MCP Server
1. Get a Meta access token with access to all your ad accounts
Go to developers.facebook.com and create an app (type: Business).
Add the Marketing API product to the app.
In Meta Business Settings → Users → System Users, create a system user (role: Admin, or Employee with the right permission).
Under Assign Assets, assign every ad account you want Claude to see to that system user.
Generate a token for the system user with the
ads_readpermission (addads_managementtoo if you later want write access, e.g. pausing campaigns). Choose a token with no expiry, or a long-lived one, and set a calendar reminder to rotate it if it does expire.
This gives you one token that covers every ad account, rather than one login per account.
2. Deploy to Vercel
cd meta-ads-mcp
npm install
vercel deploy --prodThen in the Vercel project settings, add two environment variables (Project Settings → Environment Variables), and redeploy so they take effect:
Variable | Value |
| the system user token from step 1 |
| a random string you generate, e.g. |
3. Add it to Claude as a custom connector
In Claude, go to Customize → Connectors → Add custom connector, and enter this URL (no OAuth fields needed):
https://<your-project>.vercel.app/api/mcp?token=<MCP_SECRET_TOKEN>Using the exact MCP_SECRET_TOKEN value from step 2. This URL is effectively
a bearer credential, so treat it as a secret — don't post it or check it into
git.
Note: the token is passed as a ?token= query parameter rather than a
bracketed dynamic path segment. This is deliberate — folder names with
square brackets (e.g. [token]) can get mangled by drag-and-drop uploads or
some zip tools, so a query string is more robust if you're not deploying via
git push or the Vercel CLI.
Enable the connector for a conversation via the "+" button → Connectors, then ask Claude something like: "List my Meta ad accounts" or "Show me spend and ROAS by campaign for account X over the last 30 days."
Notes / next steps
Security model: this uses a shared-secret URL rather than full OAuth, which is the simplest option for a single-user setup. If you ever want to let teammates connect with their own Meta permissions instead of a shared system-user token, that would need a real OAuth layer in front of Meta's Marketing API — a bigger build, happy to do that if it becomes useful.
Rate limits: the Marketing API has its own rate limits per app/ad account; if you're pulling insights across many accounts at once you may want to add caching or request the accounts one at a time.
Extending: to add write actions (e.g. pause a campaign, adjust a budget), add a new
server.registerTool(...)block inlib/server.tscalling the relevant Graph API POST endpoint — same pattern as the read tools here.
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
- 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/asm-2023/claude-meta-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server