Provides comprehensive tools for managing Meta Ads via the Marketing API, including managing ad accounts, campaigns, ad sets, and creatives, as well as generating insights reports and searching the Meta Ads Library.
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., "@ArmaVita Meta Ads MCPList my active campaigns and show performance insights 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.
armavita-meta-ads-mcp
armavita-meta-ads-mcp is a local Model Context Protocol server for Meta Ads.
It is built for local MCP clients (Claude Code, Cursor, Codex) and supports:
Meta access token auth (
META_ACCESS_TOKEN)Local OAuth flow (
META_APP_ID+META_APP_SECRET)stdio MCP transport only
Meta Marketing API
v25.0by default (META_GRAPH_API_VERSIONoverride supported)
Current contract version: 1.0.0.
Install
From PyPI (once published):
From source (recommended during development):
Run
Module entrypoint:
Login flow:
Quick MCP Client Config
Minimal MCP server registration (JSON format used by many clients):
OAuth mode (no direct token in config):
Then run once to complete login:
Tool Coverage
Accounts:
list_ad_accounts,read_ad_accountCampaigns:
list_campaigns,read_campaign,create_campaign,update_campaignBudget schedules:
create_campaign_budget_scheduleAd sets:
list_ad_sets,read_ad_set,create_ad_set,update_ad_setAds/creatives/media:
list_ads,read_ad,list_ad_previews,create_ad,update_ad,list_ad_creatives,read_ad_creative,create_ad_creative,update_ad_creative,upload_ad_image_asset,read_ad_image,export_ad_image_file,search_pages,list_account_pagesInsights/reporting:
list_insights,create_reportTargeting:
search_interests,suggest_interests,estimate_audience_size,search_behaviors,search_demographics,search_geo_locationsDuplication:
clone_campaign,clone_ad_set,clone_ad,clone_ad_creativeAds Library:
search_ads_archiveResearch helpers:
search_web_content,read_web_content
Pagination
Cursor-based pagination is supported on core list/read streams:
list_ad_accounts,list_campaigns,list_ad_sets,list_ads,list_insightslist_ad_creatives,search_interests,suggest_interests,search_behaviors,search_demographics,search_geo_locations,search_ads_archiveUse
page_cursorwith thepaging.cursors.aftervalue from the previous response.Responses preserve Meta's native
pagingobject.
Insights Query Notes
list_insightsandcreate_reportsupport either:date_rangeas{ "since": "YYYY-MM-DD", "until": "YYYY-MM-DD" }, ordate_rangeas a preset (for examplelast_30d,maximum).
create_report.comparison_perioduses the same format and validation asdate_range.previous_30dis normalized tolast_30d.For action metrics, use
action_breakdowns(and optionalsummary_action_breakdowns) instead of mixing action keys intobreakdowns.
Security
Access tokens are redacted from URL fields returned by the server (including nested
paging.nextURLs).
Docs
Scope
This repository is an OSS local MCP server.
Transport mode is local
stdioonly.Tool aliases are intentionally not exposed.
License
GNU Affero General Public License v3.0 (AGPLv3). See LICENSE.