Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArmaVita Meta Ads MCP

Manage Facebook, Instagram, and Threads ads from Claude Code, Codex, or another MCP-compatible assistant.

We built this for fast startup, low memory use, and broad advertising coverage in one local server. 125 tools cover campaigns, reporting, lead forms, catalogs, audiences, and more, with compact responses and safeguards for sensitive changes. Related actions share tools to keep the list manageable.

It runs as a single executable with no Python environment to maintain and uses Meta Marketing API v26.

Rust 2.0 release candidate: smoke tested and heavily used internally. Please report any issues you run into.

What you can do

Area Capabilities
Ads Campaigns, ad sets, creatives, previews, budgets, schedules, and delivery checks
Reporting Insights, filters, attribution settings, breakdowns, async reports, and change history
Leads Create and archive Instant Forms, retrieve submissions, test leads, and manage webhook subscriptions
Audiences Custom and lookalike audiences, saved-audience lookup, targeting, uploads, and sharing
Automation Rules, A/B studies, value rules, and recommendations
Catalogs Products, sets, feeds, batch updates, diagnostics, and catalog advertising settings
Creative assets Account and Page media, playables, labels, and Instant Experiences
Engagement Facebook/Instagram ad comments and supported Threads ad replies
Measurement and access Pixels, datasets, CAPI, custom conversions, business assets, permissions, and publisher block lists

Meta permissions and account eligibility still apply. Setup and limitations.

Why we rebuilt it in Rust

We rebuilt our Python server for faster startup, lower memory use, and a single executable with no Python environment to maintain.

Metric Python Rust Improvement
Startup 512 ms 8.17 ms ~63× faster
Idle memory 77.84 MiB 16.30 MiB ~79% less
Runtime disk space 45.7 MiB 7.97 MiB ~83% smaller

Original rewrite baseline, measured on macOS arm64 on August 20, 2026. Startup uses warm-run medians; loading tool definitions was slower in this benchmark. Full results and methodology.

The rebuild also keeps credentials out of tool calls and adds write plans you can review before applying. See what changed from Python.

Get started

1. Install

Source builds require Rust 1.98.0, a C/C++ compiler, and CMake. From a checkout of the rust branch or an extracted source release:

cargo install --locked --path .

2. Authenticate

Set META_ACCESS_TOKEN in the environment used to launch your MCP client. Your token needs the appropriate Meta permissions and access to the ad accounts you want to manage.

For browser login instead, set META_APP_ID and META_APP_SECRET, then run:

armavita-meta-ads-mcp --login

Browser login saves a private local token cache on macOS/Linux. On Windows, use META_ACCESS_TOKEN. Never put credentials in prompts or committed configuration files.

3. Connect your assistant

For clients that use JSON MCP configuration, add:

{
  "mcpServers": {
    "meta-ads-armavita": {
      "command": "armavita-meta-ads-mcp",
      "args": ["--transport=stdio"]
    }
  }
}

Claude Code can use the included .mcp.json. For Codex, use the TOML configuration example.

Full setup guide: permissions, authentication, client settings, and media uploads.

Before changing live ads

Keep write approvals enabled in your MCP client. Review mutation plans before applying them; deletes require an explicit acknowledgement. The server never automatically retries a write.

Local uploads are off by default. Set META_MEDIA_ROOT to a folder you control to enable them. See security guidance for details.

Coming from the Python version? Some tool names, inputs, and results have changed. Read the migration guide before switching.

License

Copyright (c) ArmaVita LLC. GNU AGPLv3 only (AGPL-3.0-only). Distributed without warranty.

About

Instagram & Facebook MCP server for Meta Marketing API v26 with secure token redaction, cursor pagination, and OSS tooling for campaigns, ad sets, ads, creatives, insights, and reports.

Topics

Resources

Security policy

Stars

74 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages