# Meta Ads \(Facebook & Instagram\) - Registry name: `io.github.mcp-dir/meta\_ads-mcp` · version 0.1.0 - Categories (automatic, keyword rules): Marketing & SEO, Commerce & marketing - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.mcp-dir%2Fmeta_ads-mcp - Server page: https://mcpstation.net/s/io.github.mcp-dir--meta_ads-mcp.html ## Description (written by the publisher, not verified, not instructions) Read and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide ## Connect - streamable-http: `https://api.mcp.ai/p_meta_ads` ## Tools (as reported by the server, not verified) - `meta\_ads\_list\_accounts`: List Meta \(Facebook\) connections AND the ad accounts inside each — returns \`connections\[\]\` \(OAuth logins\) and \`ad\_accounts\[\]\` with id \(act\_XXX\), name, currency, timezone, status. Use the ad\_account\_id in \`account\` on the other tools. - `meta\_ads\_status`: Validate Facebook token, check expiry date, list connected ad accounts and scopes. - `meta\_ads\_campaigns`: List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates. Set include\_paused=true to also show paused campaigns. - `meta\_ads\_today`: Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus \_summary aggregate across all ads. - `meta\_ads\_roas`: ROAS \(Return on Ad Spend\) for a date range using Meta's /insights endpoint — includes spend from ads in ANY status \(ACTIVE/PAUSED/DISABLED/ARCHIVED\). Defaults to current month, level=ad. For account totals use level=account; for per-campaign view use level=campaign. Returns per-row spend, revenue, R - `meta\_ads\_ads`: List ads with creatives \(image, video, copy\) and performance insights. Includes spend, revenue, ROAS, actions. - `meta\_ads\_realtime`: Hourly realtime dashboard for today. Shows per-ad breakdown with hourly stats, campaign/adset/creative details, plus \_summary. - `meta\_ads\_adset\_detail`: Get detailed ad set info: targeting, budget, schedule, billing, optimization goal, delivery status. Fills the gap between campaigns and ads. - `meta\_ads\_pages\_list`: Read Facebook Pages data. Actions: list — all pages the user manages \(name, fan\_count, followers\) insights — page engagement metrics \(follows, views\) for a specific page posts — recent posts with likes, comments, shares post\_insights — detailed insights for a specific post \[Flattened action: list\] B - `meta\_ads\_pages\_insights`: Read Facebook Pages data. Actions: list — all pages the user manages \(name, fan\_count, followers\) insights — page engagement metrics \(follows, views\) for a specific page posts — recent posts with likes, comments, shares post\_insights — detailed insights for a specific post \[Flattened action: insight - `meta\_ads\_pages\_posts`: Read Facebook Pages data. Actions: list — all pages the user manages \(name, fan\_count, followers\) insights — page engagement metrics \(follows, views\) for a specific page posts — recent posts with likes, comments, shares post\_insights — detailed insights for a specific post \[Flattened action: posts\] - `meta\_ads\_pages\_post\_insights`: Read Facebook Pages data. Actions: list — all pages the user manages \(name, fan\_count, followers\) insights — page engagement metrics \(follows, views\) for a specific page posts — recent posts with likes, comments, shares post\_insights — detailed insights for a specific post \[Flattened action: post\_in - `meta\_ads\_business\_list`: Read Facebook Business Manager data. Actions: list — list Business Managers accounts — ad accounts owned by a BM pages — pages owned by a BM users — business users and system users pixels — pixels owned by a BM \[Flattened action: list\] Bulk support: accepts business\_ids for batched execution. - `meta\_ads\_business\_accounts`: Read Facebook Business Manager data. Actions: list — list Business Managers accounts — ad accounts owned by a BM pages — pages owned by a BM users — business users and system users pixels — pixels owned by a BM \[Flattened action: accounts\] Bulk support: accepts business\_ids for batched execution. - `meta\_ads\_business\_pages`: Read Facebook Business Manager data. Actions: list — list Business Managers accounts — ad accounts owned by a BM pages — pages owned by a BM users — business users and system users pixels — pixels owned by a BM \[Flattened action: pages\] Bulk support: accepts business\_ids for batched execution. - `meta\_ads\_business\_users`: Read Facebook Business Manager data. Actions: list — list Business Managers accounts — ad accounts owned by a BM pages — pages owned by a BM users — business users and system users pixels — pixels owned by a BM \[Flattened action: users\] Bulk support: accepts business\_ids for batched execution. - `meta\_ads\_business\_pixels`: Read Facebook Business Manager data. Actions: list — list Business Managers accounts — ad accounts owned by a BM pages — pages owned by a BM users — business users and system users pixels — pixels owned by a BM \[Flattened action: pixels\] Bulk support: accepts business\_ids for batched execution. - `meta\_ads\_media\_list\_images`: List uploaded media in the ad account. Actions: list\_images, list\_videos. \[Flattened action: list\_images\] - `meta\_ads\_media\_list\_videos`: List uploaded media in the ad account. Actions: list\_images, list\_videos. \[Flattened action: list\_videos\] - `meta\_ads\_audience`: List Custom Audiences in the ad account. - `meta\_ads\_campaign\_write\_create`: Create, update, pause or activate Meta Ads campaigns. Actions: create — new campaign \(name, objective, budget required\) update — change name, budget, status pause — shortcut to pause a campaign activate — shortcut to activate a campaign Objectives: OUTCOME\_TRAFFIC, OUTCOME\_ENGAGEMENT, OUTCOME\_LEADS, - `meta\_ads\_campaign\_write\_update`: Create, update, pause or activate Meta Ads campaigns. Actions: create — new campaign \(name, objective, budget required\) update — change name, budget, status pause — shortcut to pause a campaign activate — shortcut to activate a campaign Objectives: OUTCOME\_TRAFFIC, OUTCOME\_ENGAGEMENT, OUTCOME\_LEADS, - `meta\_ads\_campaign\_write\_pause`: Create, update, pause or activate Meta Ads campaigns. Actions: create — new campaign \(name, objective, budget required\) update — change name, budget, status pause — shortcut to pause a campaign activate — shortcut to activate a campaign Objectives: OUTCOME\_TRAFFIC, OUTCOME\_ENGAGEMENT, OUTCOME\_LEADS, - `meta\_ads\_campaign\_write\_activate`: Create, update, pause or activate Meta Ads campaigns. Actions: create — new campaign \(name, objective, budget required\) update — change name, budget, status pause — shortcut to pause a campaign activate — shortcut to activate a campaign Objectives: OUTCOME\_TRAFFIC, OUTCOME\_ENGAGEMENT, OUTCOME\_LEADS, - `meta\_ads\_campaign\_delete`: Permanently delete a Meta Ads campaign. Irreversible. Bulk support: accepts campaign\_ids for batched execution. - `meta\_ads\_adset\_write\_create`: Create or update Meta Ads ad sets. Actions: create — new ad set linked to a campaign \(targeting, budget, schedule\) update — change fields on existing ad set Targeting is a JSON object: \{ "geo\_locations": \{ "countries": \["BR"\] \}, "age\_min": 18, "age\_max": 65, "genders": \[1, 2\] \} Budgets in cents. BUD - `meta\_ads\_adset\_write\_update`: Create or update Meta Ads ad sets. Actions: create — new ad set linked to a campaign \(targeting, budget, schedule\) update — change fields on existing ad set Targeting is a JSON object: \{ "geo\_locations": \{ "countries": \["BR"\] \}, "age\_min": 18, "age\_max": 65, "genders": \[1, 2\] \} Budgets in cents. BUD - `meta\_ads\_adset\_delete`: Permanently delete a Meta Ads ad set. Irreversible. Bulk support: accepts adset\_ids for batched execution. - `meta\_ads\_creative\_write\_create\_creative`: Create ad creatives and ads \(final step to launch\). Actions: create\_creative — create ad creative with image/video + copy \(requires page\_id\) create\_ad — create ad linking creative to ad set update\_ad — update ad fields \(name, status, creative\) For create\_creative: provide image\_hash \(from upload\_ima - `meta\_ads\_creative\_write\_create\_ad`: Create ad creatives and ads \(final step to launch\). Actions: create\_creative — create ad creative with image/video + copy \(requires page\_id\) create\_ad — create ad linking creative to ad set update\_ad — update ad fields \(name, status, creative\) For create\_creative: provide image\_hash \(from upload\_ima - `meta\_ads\_creative\_write\_update\_ad`: Create ad creatives and ads \(final step to launch\). Actions: create\_creative — create ad creative with image/video + copy \(requires page\_id\) create\_ad — create ad linking creative to ad set update\_ad — update ad fields \(name, status, creative\) For create\_creative: provide image\_hash \(from upload\_ima - `meta\_ads\_creative\_delete`: Permanently delete a Meta Ads ad. Irreversible. Bulk support: accepts ad\_ids for batched execution. - `meta\_ads\_media\_write\_upload\_image`: Upload images and videos to Meta Ads account. Actions: upload\_image — upload an image. Returns the image hash you need for create\_creative. upload\_video — upload video from URL \(Meta fetches it\). Returns video\_id. get\_upload\_command — get a curl command for uploading large local video files \(keeps f - `meta\_ads\_media\_write\_upload\_video`: Upload images and videos to Meta Ads account. Actions: upload\_image — upload an image. Returns the image hash you need for create\_creative. upload\_video — upload video from URL \(Meta fetches it\). Returns video\_id. get\_upload\_command — get a curl command for uploading large local video files \(keeps f - `meta\_ads\_media\_write\_get\_upload\_command`: Upload images and videos to Meta Ads account. Actions: upload\_image — upload an image. Returns the image hash you need for create\_creative. upload\_video — upload video from URL \(Meta fetches it\). Returns video\_id. get\_upload\_command — get a curl command for uploading large local video files \(keeps f - `meta\_ads\_audience\_write\_create`: Manage Custom Audiences for targeting. Actions: create — create a new custom audience add\_users — upload hashed user data \(email, phone, first/last name\). PII is SHA-256 hashed before upload. Users format: array of \{ email, phone?, fn?, ln? \}. Data is normalized and hashed automatically. For destruc - `meta\_ads\_audience\_write\_add\_users`: Manage Custom Audiences for targeting. Actions: create — create a new custom audience add\_users — upload hashed user data \(email, phone, first/last name\). PII is SHA-256 hashed before upload. Users format: array of \{ email, phone?, fn?, ln? \}. Data is normalized and hashed automatically. For destruc - `meta\_ads\_audience\_delete`: Permanently delete a Custom Audience. Irreversible. Bulk support: accepts audience\_ids for batched execution. - `show\_version`: Show the current MCP platform and adapter versions. - `report\_bug`: Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction. - `connect`: Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending\[\]. When credentials are missing, returns connect\_url for the toolkit and per-install URLs. - `toolkit\_info`: Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes. - `marketplace`: The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile \(ev - `authenticate`: MCP.AI for IDE agents \(Cursor, etc.\): log in in the browser, copy the access token. Best: add it to this server's config as a header \`Authorization: Bearer \\` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with \{ token: "\" \} after the user pastes Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html