Meta Ads (Facebook & Instagram)
Read and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide
| Endpoint | https://api.mcp.ai/p_meta_ads (streamable-http) |
|---|---|
| Registry version | 0.1.0 |
| Now | 44 tools · grade D (57) · pin ts_0d2c0c82d36969583507f2930a2b51c3 · protocol 2025-06-18 |
| First / last listed | 2026-11-09 00:33 UTC / 2026-11-09 00:33 UTC |
| Grade over time | 2026-11-09: D (57), 44 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: meta_ads_list_accounts meta_ads_status meta_ads_campaigns meta_ads_today meta_ads_roas meta_ads_ads meta_ads_realtime meta_ads_adset_detail meta_ads_pages_list meta_ads_pages_insights meta_ads_pages_posts meta_ads_pages_post_insights meta_ads_business_list meta_ads_business_accounts meta_ads_business_pages meta_ads_business_users meta_ads_business_pixels meta_ads_media_list_images meta_ads_media_list_videos meta_ads_audience meta_ads_campaign_write_create meta_ads_campaign_write_update meta_ads_campaign_write_pause meta_ads_campaign_write_activate meta_ads_campaign_delete meta_ads_adset_write_create meta_ads_adset_write_update meta_ads_adset_delete meta_ads_creative_write_create_creative meta_ads_creative_write_create_ad meta_ads_creative_write_update_ad meta_ads_creative_delete meta_ads_media_write_upload_image meta_ads_media_write_upload_video meta_ads_media_write_get_upload_command meta_ads_audience_write_create meta_ads_audience_write_add_users meta_ads_audience_delete show_version report_bug connect toolkit_info marketplace authenticate
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. params: auth_account |
meta_ads_status | Validate Facebook token, check expiry date, list connected ad accounts and scopes. params: auth_account |
meta_ads_campaigns | List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates.
Set include_paused=true to also show paused campaigns. params: account, include_paused, auth_account |
meta_ads_today | Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads. params: account, include_zero, auth_account |
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, ROAS, plus _summary. params: account, since, until, level, auth_account |
meta_ads_ads | List ads with creatives (image, video, copy) and performance insights. Includes spend, revenue, ROAS, actions. params: account, include_paused, since, until, auth_account |
meta_ads_realtime | Hourly realtime dashboard for today. Shows per-ad breakdown with hourly stats, campaign/adset/creative details, plus _summary. params: account, auth_account |
meta_ads_adset_detail | Get detailed ad set info: targeting, budget, schedule, billing, optimization goal, delivery status. Fills the gap between campaigns and ads. params: account, include_paused, auth_account |
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]
Bulk support: accepts page_ids, post_ids for batched execution. params: page_id, post_id, period, auth_account, page_ids, post_ids |
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: insights]
Bulk support: accepts page_ids, post_ids for batched execution. params: page_id, post_id, period, auth_account, page_ids, post_ids |
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]
Bulk support: accepts page_ids, post_ids for batched execution. params: page_id, post_id, period, auth_account, page_ids, post_ids |
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_insights]
Bulk support: accepts page_ids, post_ids for batched execution. params: page_id, post_id, period, auth_account, page_ids, post_ids |
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. params: business_id, auth_account, business_ids |
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. params: business_id, auth_account, business_ids |
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. params: business_id, auth_account, business_ids |
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. params: business_id, auth_account, business_ids |
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. params: business_id, auth_account, business_ids |
meta_ads_media_list_images | List uploaded media in the ad account.
Actions: list_images, list_videos.
[Flattened action: list_images] params: account, auth_account |
meta_ads_media_list_videos | List uploaded media in the ad account.
Actions: list_images, list_videos.
[Flattened action: list_videos] params: account, auth_account |
meta_ads_audience | List Custom Audiences in the ad account. params: account, auth_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 (e.g. 500 params: account, campaign_id, name, objective, daily_budget, lifetime_budget, bid_strategy, status, special_ad_categories, auth_account, campaign_ids |
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 (e.g. 500 params: account, campaign_id, name, objective, daily_budget, lifetime_budget, bid_strategy, status, special_ad_categories, auth_account, campaign_ids |
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 (e.g. 500 params: account, campaign_id, name, objective, daily_budget, lifetime_budget, bid_strategy, status, special_ad_categories, auth_account, campaign_ids |
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 (e.g. 500 params: account, campaign_id, name, objective, daily_budget, lifetime_budget, bid_strategy, status, special_ad_categories, auth_account, campaign_ids |
meta_ads_campaign_delete | Permanently delete a Meta Ads campaign. Irreversible.
Bulk support: accepts campaign_ids for batched execution. params: campaign_id*, auth_account, campaign_ids |
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, UNLESS th params: account, adset_id, campaign_id, name, daily_budget, lifetime_budget, billing_event, optimization_goal, targeting, destination_type, promoted_object, bid_amount, bid_strategy, start_time, end_time, status, auth_account, adset_ids, campaign_ids |
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, UNLESS th params: account, adset_id, campaign_id, name, daily_budget, lifetime_budget, billing_event, optimization_goal, targeting, destination_type, promoted_object, bid_amount, bid_strategy, start_time, end_time, status, auth_account, adset_ids, campaign_ids |
meta_ads_adset_delete | Permanently delete a Meta Ads ad set. Irreversible.
Bulk support: accepts adset_ids for batched execution. params: adset_id*, auth_account, adset_ids |
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: LEAR params: account, name, page_id, message, link, image_hash, video_id, call_to_action_type, adset_id, creative_id, ad_id, status, auth_account, page_ids, video_ids, adset_ids, creative_ids, ad_ids |
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: LEAR params: account, name, page_id, message, link, image_hash, video_id, call_to_action_type, adset_id, creative_id, ad_id, status, auth_account, page_ids, video_ids, adset_ids, creative_ids, ad_ids |
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: LEAR params: account, name, page_id, message, link, image_hash, video_id, call_to_action_type, adset_id, creative_id, ad_id, status, auth_account, page_ids, video_ids, adset_ids, creative_ids, ad_ids |
meta_ads_creative_delete | Permanently delete a Meta Ads ad. Irreversible.
Bulk support: accepts ad_ids for batched execution. params: ad_id*, auth_account, ad_ids |
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 exactly params: account, image_url, file_url, upload_id, file_base64, upload_code, file_name, video_url, title, file_path, auth_account, upload_ids |
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 exactly params: account, image_url, file_url, upload_id, file_base64, upload_code, file_name, video_url, title, file_path, auth_account, upload_ids |
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 exactly params: account, image_url, file_url, upload_id, file_base64, upload_code, file_name, video_url, title, file_path, auth_account, upload_ids |
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: accept params: account, audience_id, name, description, users, auth_account, audience_ids |
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: acc params: account, audience_id, name, description, users, auth_account, audience_ids |
meta_ads_audience_delete | Permanently delete a Custom Audience. Irreversible.
Bulk support: accepts audience_ids for batched execution. params: audience_id*, auth_account, audience_ids |
show_version | Show the current MCP platform and adapter versions. params: none |
report_bug | Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction. params: message*, context, conversation |
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. params: none |
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. params: none |
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 tool. params: action, query, mcp_id, limit, tier_slug, immediate, cancel_reason, cancel_comment, message, report_context, conversation, request_name, request_details, tool_id, arguments, prompt_slug, prompt_vars, prompt_category, prompt_tool, prompt_title, prompt_description, prompt_body, prompt_targets |
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. params: token |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.