MA

Meta Ads (Facebook & Instagram)

io.github.mcp-dir/meta_ads-mcp

Read and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide

Yes, your AI can use this right now.Answered a live MCP handshake in 433 ms with no sign-in needed and exposes 44 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://api.mcp.ai/p_meta_ads

44 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
meta_ads_list_accountsread-only

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_statusread-only

Validate Facebook token, check expiry date, list connected ad accounts and scopes.

meta_ads_campaignsread-only

List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates. Set include_paused=true to also show paused campaigns.

meta_ads_todayread-only

Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads.

meta_ads_roasread-only

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, ROAS, plus _summary.

meta_ads_adsread-only

List ads with creatives (image, video, copy) and performance insights. Includes spend, revenue, ROAS, actions.

meta_ads_realtimeread-only

Hourly realtime dashboard for today. Shows per-ad breakdown with hourly stats, campaign/adset/creative details, plus _summary.

meta_ads_adset_detailread-only

Get detailed ad set info: targeting, budget, schedule, billing, optimization goal, delivery status. Fills the gap between campaigns and ads.

meta_ads_pages_listread-only

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] Bulk support: accepts page_ids, post_ids for batched execution.

meta_ads_pages_insightsread-only

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: insights] Bulk support: accepts page_ids, post_ids for batched execution.

meta_ads_pages_postsread-only

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] Bulk support: accepts page_ids, post_ids for batched execution.

meta_ads_pages_post_insightsread-only

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_insights] Bulk support: accepts page_ids, post_ids for batched execution.

meta_ads_business_listread-only

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_accountsread-only

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_pagesread-only

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_usersread-only

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_pixelsread-only

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_imagesread-only

List uploaded media in the ad account. Actions: list_images, list_videos. [Flattened action: list_images]

meta_ads_media_list_videosread-only

List uploaded media in the ad account. Actions: list_images, list_videos. [Flattened action: list_videos]

meta_ads_audienceread-only

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, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION. Budgets are in cents (

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, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION. Budgets are in cents (

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, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION. Budgets are in cents (

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, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION. Budgets are in cents (

meta_ads_campaign_deletecan modify

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. BUDGET (most common create failure): the ad set REQUIRES daily_budget or lifetime_budget, UNLES

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. BUDGET (most common create failure): the ad set REQUIRES daily_budget or lifetime_budget, UNLES

meta_ads_adset_deletecan modify

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_image) OR video_id (from upload_video) + page_id + message. call_to_action_type

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_image) OR video_id (from upload_video) + page_id + message. call_to_action_type

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_image) OR video_id (from upload_video) + page_id + message. call_to_action_type

meta_ads_creative_deletecan modify

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 file out of AI context). upload_image accepts the file in four ways (use e

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 file out of AI context). upload_image accepts the file in four ways (use e

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 file out of AI context). upload_image accepts the file in four ways (use e

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 destructive delete use meta_ads_audience_delete. [Flattened action: create] Bulk support: ac

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 destructive delete use meta_ads_audience_delete. [Flattened action: add_users] Bulk support:

meta_ads_audience_deletecan modify

Permanently delete a Custom Audience. Irreversible. Bulk support: accepts audience_ids for batched execution.

show_versionread-only

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.

connectread-only

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_inforead-only

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 (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that

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 <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Alternatives in Developer Tools

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”