ArmaVita Meta Ads MCP
A local Model Context Protocol server that enables interaction with the Meta Marketing API to manage ad accounts, campaigns, and creatives. It provides tools for targeting research, insight reporting, and campaign management through local MCP clients like Claude Code and Cursor.
README
armavita-meta-ads-mcp
<p align="center"> <img src="docs/assets/armavita-meta-ads-mcp-hero-1080.jpg" alt="ArmaVita Meta Ads MCP hero image" width="100%" /> </p>
<p align="center"><strong>Brought to you by <a href="https://armavita.com">ArmaVita.com</a></strong></p> <p align="center">Need a custom implementation? <a href="https://armavita.com">Contact us</a>.</p>
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
- Python
3.11+ mcp[cli]==1.26.0- Meta Marketing API
v25.0by default (META_GRAPH_API_VERSIONoverride supported)
Current contract version: 1.1.0.
Install
From PyPI (once published):
pip install armavita-meta-ads-mcp
From source (recommended during development):
uv sync
Run
armavita-meta-ads-mcp
Module entrypoint:
python -m armavita_meta_ads_mcp
Login flow:
armavita-meta-ads-mcp --login
Quick MCP Client Config
Minimal MCP server registration (JSON format used by many clients):
{
"mcpServers": {
"meta-ads-armavita": {
"command": "armavita-meta-ads-mcp",
"env": {
"META_ACCESS_TOKEN": "EA...",
"META_GRAPH_API_VERSION": "v25.0"
}
}
}
}
OAuth mode (no direct token in config):
{
"mcpServers": {
"meta-ads-armavita": {
"command": "armavita-meta-ads-mcp",
"env": {
"META_APP_ID": "YOUR_APP_ID",
"META_APP_SECRET": "YOUR_APP_SECRET"
}
}
}
}
Then run once to complete login:
armavita-meta-ads-mcp --login
Tool Coverage
- Accounts:
list_ad_accounts,read_ad_account - Campaigns:
list_campaigns,read_campaign,create_campaign,update_campaign - Budget schedules:
create_campaign_budget_schedule - Ad sets:
list_ad_sets,read_ad_set,create_ad_set,update_ad_set - Ads/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_pages - Insights/reporting:
list_insights,create_report - Targeting:
search_interests,suggest_interests,estimate_audience_size,search_behaviors,search_demographics,search_geo_locations - Duplication:
clone_campaign,clone_ad_set,clone_ad,clone_ad_creative - Ads Library:
search_ads_archive - Research 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_archive- Use
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.