About Armavita Meta Ads MCP
Armavita Meta Ads MCP is an MCP server in the Social category: instagram & Facebook MCP server for Meta Marketing API v25 with secure token redaction, cursor pagination, and OSS tooling for campaigns, ad sets, ads, creatives, insights, and reports.
Install
git clone https://github.com/EfrainTorres/armavita-meta-ads-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Armavita Meta Ads MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Meta, Instagram, Facebook 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
- 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.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.