# Meta Ads (by mcp.ai) Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Meta Ads (by mcp.ai)

Manage Facebook and Instagram ad campaigns, audiences, pages and view performance metrics

- Record: https://musedirectory.ai/connector/meta-ads-by-mcp-ai
- Category: Marketing & Ads
- Developer: mcp.ai
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 172ms, checked 2026-09-28T07:31:11Z
- Endpoint: https://api.mcp.ai/p_meta_ads
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-09-25T10:51:41Z)
- Source: Found in the official MCP Registry (io.github.mcp-dir/meta_ads-mcp) https://registry.modelcontextprotocol.io/v0/servers?search=io.github.mcp-dir%2Fmeta_ads-mcp

Connect to Meta Business Manager to read and manage ad campaigns, ad sets, creatives and audiences. View daily and hourly performance dashboards with spend, revenue, ROAS and engagement metrics. Upload images and videos, create and pause campaigns.

Example request: "Show me today's ad performance across all my Facebook campaigns and tell me which ads had the best return on ad spend."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Meta Ads (by mcp.ai) to help me. It is a free service with an MCP server at https://api.mcp.ai/p_meta_ads. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- 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-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 [Flatt
- 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 [Flatt
- 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 [Flatt
- 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 [Flatt
- 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 batch
- 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 b
- 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 batc
- 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 batc
- 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 bat
- 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_ENGAGE
- 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_ENGAGE
- 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_ENGAGE
- 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_ENGAGE
- 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] } B
- 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] } B
- 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_h
- 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_h
- 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_h
- 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 
- 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 
- 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 
- 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 automa
- 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 automa
- 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.

Screening checks:
- MCP handshake: pass (Answered in 732ms)
- Domain against threat feeds (Cloudflare security DNS): pass (api.mcp.ai not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (44 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
