Facebook Ads MCP. Manage campaigns and analyze performance metrics via chat.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Facebook Ads MCP Server lets you manage all your Meta advertising campaigns directly through your AI agent. List campaigns, check performance metrics, update ad statuses, and inspect ad sets without leaving your chat window.
It gives your agent the full control needed to run and analyze your entire ad spend.
What your AI agents can do
Get ad account info
Retrieves basic metadata for the connected Facebook Ad Account.
Get ad details
Fetches specific information about a single ad unit.
Get ad set details
Retrieves detailed settings and targeting information for a specific ad set.
Retrieves a list of all active and archived campaigns within your ad account.
Gets performance metrics (impressions, spend, clicks) for a specific campaign or the entire account.
Changes the status of a specific ad, ad set, or campaign (e.g., PAUSED to ACTIVE).
Retrieves detailed information on ad sets, including targeting criteria and spending limits.
Pulls basic metadata about the ad account, like its balance and currency.
Fetches the specific content and metadata for a single ad unit.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Facebook Ads MCP Server: 12 Tools for Ad Management
These tools give your agent full control over listing, getting details, and updating every resource—campaigns, ad sets, and ads—in your Facebook Ad Account.
019d7595get ad account info
Retrieves basic metadata for the connected Facebook Ad Account.
019d7595get ad details
Fetches specific information about a single ad unit.
019d7595get ad set details
Retrieves detailed settings and targeting information for a specific ad set.
019d7595get campaign details
Gets detailed information for a specific campaign.
019d7595get insights
Calculates performance metrics like impressions, clicks, and spend for the ad account.
019d7595get me
Checks the current identity and access level of the connected token.
019d7595list ad sets
Lists all ad sets associated with the ad account.
019d7595list ads
Lists all individual ads within the ad account.
019d7595list campaigns
Retrieves a list of all campaigns in the ad account.
019d7595update ad set status
Changes the active/paused status of a specific ad set.
019d7595update ad status
Changes the active/paused status of a specific ad.
019d7595update campaign status
Changes the active/paused status of a specific campaign.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Facebook Ads, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
You'll manage all your Meta advertising campaigns right through your AI agent. You don't gotta hop between dashboards and chat windows. Just talk to your agent and get what you need.
List Campaigns
- You can pull a list of every campaign—active or archived—in your ad account using
list_campaigns. - To check performance, you'll get metrics like impressions, clicks, and spend for a specific campaign or for the whole account with
get_insights. - You've got the power to change the status of a campaign using
update_campaign_status(PAUSED to ACTIVE, or vice versa).
View Targeting and Budgets
- You can see all the ad sets attached to your account by calling
list_ad_sets. - To check a specific ad set's targeting criteria and spending limits, use
get_ad_set_details. - You can update an ad set's active/paused status with
update_ad_set_status.
Inspect Ads and Units
- You'll get a list of every ad unit in the account using
list_ads. - You can pull detailed information for a single ad using
get_ad_details. - You've got the ability to change an ad's status with
update_ad_status.
Account Oversight
- You'll get basic metadata about the ad account, like its current balance and currency, by running
get_ad_account_info. - You can check your agent's current identity and access level with
get_me.
This server gives your agent full control to run and analyze your entire ad spend. You'll get detailed info on the ad account, campaign performance, ad set targeting, and individual ad content, all from one place.
How Facebook Ads MCP Works
- 1 Subscribe to the server and provide your Facebook Ads Access Token and Ad Account ID.
- 2 Tell your AI client what you want (e.g., 'Pause campaign 123').
- 3 The server executes the relevant tool, pulls the data, and passes the result back to your agent.
The bottom line is that your agent handles the complex API calls, so you just talk to it.
Who Is Facebook Ads MCP For?
Anyone who runs paid ads on Meta platforms. This is for the Digital Marketing Manager who needs to pause underperforming ads instantly, the Business Owner who just wants to know the total ad spend for the month, and the Growth Team member who wants to integrate ad performance checks into their daily workflow without logging into a web dashboard.
Monitors campaign performance daily, pauses ads that fail to meet CPA targets, and checks ad set targeting details.
Checks overall advertising spend and reach metrics via simple questions, getting a quick health check on the ad budget.
Runs performance reports and updates ad statuses in bulk, integrating ad management into an automated marketing workflow.
What Changes When You Connect
- Stop switching tabs. You can run
get_insightsdirectly in your chat to get total spend, impressions, and CPC for the last week. No dashboard needed. - Control spending on the fly. If a campaign underperforms, ask your agent to run
update_campaign_statusand pause it instantly. It's a single command. - Deep dive into targeting. Use
get_ad_set_detailsto pull up the exact targeting, budget, and creative details for any ad set, without navigating the Ads Manager UI. - Get a complete picture of your account.
get_ad_account_infopulls core metadata—like the current balance and currency—so you know the account health instantly. - Handle multiple resources at once. You can list campaigns (
list_campaigns) and then immediately useget_campaign_detailson the result, all through natural language conversation. - Verify your access. Use
get_meto confirm the token's identity and scope before running any write operations, ensuring you have the right permissions.
Real-World Use Cases
Need to stop a failing ad set immediately.
The Digital Marketing Manager notices Campaign Alpha is burning budget but has low click-through rate. Instead of logging into the Ads Manager, they ask their agent: 'Pause the ad set for Alpha.' The agent calls update_ad_set_status, stopping the bleeding in seconds.
Need to know the total ROI this month.
The Business Owner asks: 'What were the impressions and total spend over the last 30 days?' The agent calls get_insights, returns the total metrics, and gives a single, clean answer, eliminating the need to export data and run calculations in a spreadsheet.
Need to audit an old campaign's settings.
The Growth Specialist needs to check the targeting and budget of a campaign from six months ago. They ask the agent to get the details for the specific campaign ID. The agent runs get_campaign_details, giving the full context without the user having to remember the exact ad set or ad ID.
Need to check account limits before launching a new campaign.
Before launching a new product line, the team member asks: 'What is the current ad account balance and currency?' The agent runs get_ad_account_info, confirming the account is ready for the spend.
The Tradeoffs
Making multiple manual API calls
Manually calling the API to get the campaign list, then making another call to get the ad set details for the first campaign, and a third call to get performance metrics. This is slow, verbose, and requires complex client-side orchestration.
→
Let your agent handle the sequence. Ask it one question: 'Show me the ad set details and performance insights for the top 3 campaigns.' The agent handles the calls to list_campaigns, get_ad_set_details, and get_insights internally, giving you one consolidated answer.
Confusing listing with details
Trying to update a status by only providing the campaign name. The API needs a precise ID, and if the agent fails, the user gets an error, wasting time.
→
Always provide the necessary ID. If you need to change the status, use update_campaign_status and ensure you pass the correct Campaign ID, not just the name.
Ignoring token permissions
Attempting to run update_ad_status without confirming the token has write access. The call fails silently or returns a permission error, leaving the user unsure if the problem is the tool or the setup.
→
First, run get_me to verify the token's identity and access level. This confirms your agent can perform write actions before you try to update any ad status.
When It Fits, When It Doesn't
Use this server if your job requires coordinating actions across multiple ad resource types (Ad, Ad Set, Campaign) and you need to combine reading (listing, getting) with writing (updating). The best use case is getting performance metrics (get_insights) and then immediately using those findings to trigger an action (update_ad_set_status).
Don't use this if you only need to check simple account metadata (a standard CRM or accounting tool might handle that) or if you only need to read data from a single, isolated source. If your data structure is simple and doesn't require relationship traversal, another tool might be simpler. Always check the tool definitions to see if they cover the specific resource you need to manipulate.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Facebook Ads. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 12 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Checking ad performance shouldn't require switching between tabs and spreadsheets.
Today, checking ad performance means jumping through hoops: you open the Ads Manager, navigate to the campaigns tab, filter by date, export the data, and then copy/paste the spend numbers into a separate spreadsheet to calculate ROI. It takes ten clicks and a half-hour of manual data wrangling.
With the Facebook Ads MCP Server, you ask your agent: 'What were the impressions and clicks for the last week?' The agent runs `get_insights` and sends you the final numbers in your chat. Done. You get the data instantly, right where you are.
Update Ad Status with Facebook Ads MCP Server
Previously, pausing an ad meant logging in, finding the exact ad, navigating to its settings, and hitting the 'Pause' button. If you were managing 50 ads, that's 50 separate clicks and 50 logins, assuming you had access.
Now, you just tell your agent: 'Pause Campaign 123.' The agent calls `update_campaign_status` and handles the rest. It's direct, and it's immediate.
Common Questions About Facebook Ads MCP
How do I use the `get_insights` tool to find out how much money I spent? +
You need to ask your agent to run get_insights and specify the time frame. The tool pulls the total spend, impressions, and clicks for the period you specify, giving you the necessary financial data.
Can I use the `update_ad_set_status` tool to change a campaign's status? +
No. update_ad_set_status only changes the status of an ad set. If you want to change the whole campaign, you must use update_campaign_status.
What information does `get_ad_account_info` provide? +
It gives basic metadata about your ad account, including things like the current currency and overall account status. It's a quick check on the account's general health.
Do I need to list campaigns before I can use `get_campaign_details`? +
No. While listing campaigns (list_campaigns) helps you find the ID, get_campaign_details only requires the specific Campaign ID to pull all the necessary details.
How do I check my token permissions with `get_me`? +
You simply ask your agent to run get_me. This shows the token's identity and the level of access it has, which is critical before running any write operations.
How do I list all ads using the `list_ads` tool? +
The list_ads tool fetches all ads associated with your account. It returns details including the ad's ID, status, and creation date, letting you audit your current ad inventory.
What is the difference between `get_ad_set_details` and `get_campaign_details`? +
The get_ad_set_details tool provides granular information on targeting, budgets, and optimization settings for a specific ad set. get_campaign_details gives an overview of the campaign's overall goal, budget, and structure.
When should I use the `update_ad_status` tool? +
Use update_ad_status when you need to change an ad's active state (e.g., pausing it after testing). You supply the ad ID and the desired status (ACTIVE/PAUSED) directly.
How do I find my Facebook Ad Account ID? +
You can find your Ad Account ID in the Meta Ads Manager. It's the numeric ID shown in the URL or account selector. Ensure you provide it without the 'act_' prefix.
Can I pause an underperforming campaign using this agent? +
Yes! Use the update_campaign_status tool and set the status to PAUSED. You can also resume it later by setting it back to ACTIVE.
Which performance metrics are available in the insights? +
The get_insights tool provides comprehensive data including impressions, clicks, total spend, reach, CPC (cost per click), CTR (click-through rate), and CPP (cost per purchase).
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
CDC Public Health / 美国疾控中心
U.S. CDC official health resources — search media, audit topics, and get health recommendations via AI.
ECB Exchange Rates — Official EUR Reference Rates
Official ECB reference exchange rates: EUR against 40+ currencies updated daily at 16:00 CET. Get single pair rates, multi-currency comparisons, and the latest snapshot of all published rates — daily, monthly, or annual frequency.
HubSpot CMS Hub
Manage blog posts, site pages, landing pages, authors, tags, and domains through natural conversation.
You might also like
Hexometer
Automate website monitoring via Hexometer — monitor uptime, performance, and health directly from any AI agent.
NameSilo (Domain Registrar Developer API)
Manage your domain portfolio, DNS records, and registrations directly through NameSilo's developer API.
Middesk
Business identity verification — verify entities, Secretary of State records, and tax registrations via Middesk.