74
/ 100
1 month ago
glama

Meta Ads MCP Server

Self-hosted MCP server providing secure, multi-tenant access to Meta Marketing API for managing Facebook and Instagram Ads via AI agents, with OAuth, encrypted tokens, and compliance features.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 8 credentials: MCP_API_KEY, META_ACCESS_TOKEN, META_APP_SECRET, NEW_KEY, OAUTH_SECRET, OLD_KEY, SESSION_COOKIE_SECRET, TOKEN_ENCRYPTION_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// known CVEs in dependencies1 critical

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@4.0.18GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
configAUTH_ALLOWED_DOMAINS4. Configure the allowlist: at least one of AUTH_ALLOWED_EMAILS, , AUTH_ALLOWED_FB_USER_IDS must be set when Meta OAuth is enabled — otherwise startup fails.
configAUTH_ALLOWED_EMAILSyou@x.com # at least one allowlist source required
configAUTH_ALLOWED_FB_USER_IDS4. Configure the allowlist: at least one of AUTH_ALLOWED_EMAILS, AUTH_ALLOWED_DOMAINS, must be set when Meta OAuth is enabled — otherwise startup fails.
configCORS_ALLOWED_ORIGINS
configDRY_RUN
configFIRESTORE_EMULATOR_HOSTexport =localhost:8085
configFIRESTORE_PROJECT_IDmy-gcp-project
configGOOGLE_CLOUD_PROJECT
configLOG_LEVEL${LOG_LEVEL:-info}
🔐 secretMCP_API_KEYAPI key (service-to-service) =... Server-to-server clients pass X-API-Key and X-Meta-Token headers; bypasses the human OAuth flow.
🔐 secretMETA_ACCESS_TOKENEAA... # the only required value in stdio mode
configMETA_API_VERSION${META_API_VERSION:-v22.0}
configMETA_APP_ID... # your Meta app
🔐 secretMETA_APP_SECRET${META_APP_SECRET:-}
configMETA_OAUTH_REDIRECT_URI${META_OAUTH_REDIRECT_URI:-}
configMETA_TOKENS${META_TOKENS:-}
🔐 secretNEW_KEY
🔐 secretOAUTH_SECRET$(openssl rand -hex 32)
🔐 secretOLD_KEY
configPORT
configPROJECT_ID
configSERVER_URLIn Facebook Login → Settings, set the Valid OAuth Redirect URI to <>/auth/meta/callback.
🔐 secretSESSION_COOKIE_SECRET$(openssl rand -base64 32)
🔐 secretTOKEN_ENCRYPTION_KEY$(openssl rand -hex 32)
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/byadsco-meta-ads-mcp-gt9hr9)](https://m8ven.ai/mcp/byadsco-meta-ads-mcp-gt9hr9)
commit: 7ce39803cc3e4df236c706b4b3b70e7503ef88d4
code hash: fbd89349b8a509f92f905371b6eb6e2f3acf90e7a96b1475363715685aa35596
verified: 6/22/2026, 1:19:23 PM
view raw JSON →