Meta Ads (Facebook & Instagram) MCP server
online · 100% uptimeRead and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide
0 stars
Reviews
Write oneNobody has reviewed Meta Ads (Facebook & Instagram) yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Meta Ads (Facebook & Instagram) tools (44, 19 write)
write = sends, deletes, buys or postsauthenticateFreeMCP.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.
connectFreeReturns 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.
marketplaceFreeThe 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. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
meta_ads_adsFreeList ads with creatives (image, video, copy) and performance insights. Includes spend, revenue, ROAS, actions.
meta_ads_adset_deletewrite actionFreePermanently delete a Meta Ads ad set. Irreversible. Bulk support: accepts adset_ids for batched execution.
meta_ads_adset_detailFreeGet detailed ad set info: targeting, budget, schedule, billing, optimization goal, delivery status. Fills the gap between campaigns and ads.
meta_ads_adset_write_createwrite actionFreeCreate 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 the parent campaign already carries the budget (campaign budget optimization) — in which case the ad set must NOT send one. lifetime_budget also requires end_time. optimization_goal must match the campaign objective: OUTCOME_TRAFFIC → LINK_CLICKS / LANDING_PAGE_VIEWS / IMPRESSIONS; OUTCOME_AWARENESS → REACH / IMPRESSIONS; OUTCOME_ENGAGEMENT → POST_ENGAGEMENT / THRUPLAY / PAGE_LIKES / CONVERSATIONS; OUTCOME_LEADS → LEAD_GENERATION / QUALITY_LEAD / OFFSITE_CONVERSIONS; OUTCOME_SALES → OFFSITE_CONVERSIONS / VALUE; OUTCOME_APP_PROMOTION → APP_INSTALLS. OFFSITE_CONVERSIONS/VALUE need promoted_object with the pixel: {"pixel_id":"123","custom_event_type":"PURCHASE"}. LEAD_GENERATION needs {"page_id":"123"}. destination_type is only for non-website destinations (MESSENGER, WHATSAPP, PHONE_CALL); omit it for regular website traffic. For destructive delete use meta_ads_adset_delete. [Flattened action: create] Bulk support: accepts adset_ids, campaign_ids for batched execution.
meta_ads_adset_write_updatewrite actionFreeCreate 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 the parent campaign already carries the budget (campaign budget optimization) — in which case the ad set must NOT send one. lifetime_budget also requires end_time. optimization_goal must match the campaign objective: OUTCOME_TRAFFIC → LINK_CLICKS / LANDING_PAGE_VIEWS / IMPRESSIONS; OUTCOME_AWARENESS → REACH / IMPRESSIONS; OUTCOME_ENGAGEMENT → POST_ENGAGEMENT / THRUPLAY / PAGE_LIKES / CONVERSATIONS; OUTCOME_LEADS → LEAD_GENERATION / QUALITY_LEAD / OFFSITE_CONVERSIONS; OUTCOME_SALES → OFFSITE_CONVERSIONS / VALUE; OUTCOME_APP_PROMOTION → APP_INSTALLS. OFFSITE_CONVERSIONS/VALUE need promoted_object with the pixel: {"pixel_id":"123","custom_event_type":"PURCHASE"}. LEAD_GENERATION needs {"page_id":"123"}. destination_type is only for non-website destinations (MESSENGER, WHATSAPP, PHONE_CALL); omit it for regular website traffic. For destructive delete use meta_ads_adset_delete. [Flattened action: update] Bulk support: accepts adset_ids, campaign_ids for batched execution.
meta_ads_audienceFreeList Custom Audiences in the ad account.
meta_ads_audience_deletewrite actionFreePermanently delete a Custom Audience. Irreversible. Bulk support: accepts audience_ids for batched execution.
meta_ads_audience_write_add_userswrite actionFreeManage 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: accepts audience_ids for batched execution.
meta_ads_audience_write_createwrite actionFreeManage 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: accepts audience_ids for batched execution.
meta_ads_business_accountsFreeRead 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_listFreeRead 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_pagesFreeRead 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_pixelsFreeRead 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_business_usersFreeRead 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_campaign_deletewrite actionFreePermanently delete a Meta Ads campaign. Irreversible. Bulk support: accepts campaign_ids for batched execution.
meta_ads_campaign_write_activatewrite actionFreeCreate, 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. 5000 = $50.00). A budget HERE means campaign budget optimization: the ad sets under it must then NOT carry their own budget. Leave the campaign budget empty to budget per ad set instead. For destructive delete use meta_ads_campaign_delete. [Flattened action: activate] Bulk support: accepts campaign_ids for batched execution.
meta_ads_campaign_write_createwrite actionFreeCreate, 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. 5000 = $50.00). A budget HERE means campaign budget optimization: the ad sets under it must then NOT carry their own budget. Leave the campaign budget empty to budget per ad set instead. For destructive delete use meta_ads_campaign_delete. [Flattened action: create] Bulk support: accepts campaign_ids for batched execution.
meta_ads_campaign_write_pausewrite actionFreeCreate, 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. 5000 = $50.00). A budget HERE means campaign budget optimization: the ad sets under it must then NOT carry their own budget. Leave the campaign budget empty to budget per ad set instead. For destructive delete use meta_ads_campaign_delete. [Flattened action: pause] Bulk support: accepts campaign_ids for batched execution.
meta_ads_campaign_write_updatewrite actionFreeCreate, 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. 5000 = $50.00). A budget HERE means campaign budget optimization: the ad sets under it must then NOT carry their own budget. Leave the campaign budget empty to budget per ad set instead. For destructive delete use meta_ads_campaign_delete. [Flattened action: update] Bulk support: accepts campaign_ids for batched execution.
meta_ads_campaignsFreeList Meta Ads campaigns. Returns: id, name, status, objective, budget, dates. Set include_paused=true to also show paused campaigns.
meta_ads_creative_deletewrite actionFreePermanently delete a Meta Ads ad. Irreversible. Bulk support: accepts ad_ids for batched execution.
meta_ads_creative_write_create_adwrite actionFreeCreate 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: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, GET_QUOTE, CONTACT_US, SUBSCRIBE, BOOK_NOW, etc. For destructive delete use meta_ads_creative_delete. [Flattened action: create_ad] Bulk support: accepts page_ids, video_ids, adset_ids, creative_ids, ad_ids for batched execution.
meta_ads_creative_write_create_creativewrite actionFreeCreate 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: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, GET_QUOTE, CONTACT_US, SUBSCRIBE, BOOK_NOW, etc. For destructive delete use meta_ads_creative_delete. [Flattened action: create_creative] Bulk support: accepts page_ids, video_ids, adset_ids, creative_ids, ad_ids for batched execution.
meta_ads_creative_write_update_adwrite actionFreeCreate 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: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, GET_QUOTE, CONTACT_US, SUBSCRIBE, BOOK_NOW, etc. For destructive delete use meta_ads_creative_delete. [Flattened action: update_ad] Bulk support: accepts page_ids, video_ids, adset_ids, creative_ids, ad_ids for batched execution.
meta_ads_list_accountsFreeList 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_media_list_imagesFreeList uploaded media in the ad account. Actions: list_images, list_videos. [Flattened action: list_images]
meta_ads_media_list_videosFreeList uploaded media in the ad account. Actions: list_images, list_videos. [Flattened action: list_videos]
meta_ads_media_write_get_upload_commandwrite actionFreeUpload 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 one): image_url/file_url (public URL), upload_id (uploaded via the command this tool hands you), file_base64, or upload_code. Call upload_image with NO file to get a ready-made upload command for a file on the user's machine. Facebook CDN links (*.fbcdn.net) are signed, expiring and pinned to the browser that opened them — they do NOT work as image_url from the server; upload the file instead. For listing already-uploaded media use meta_ads_media. [Flattened action: get_upload_command] Bulk support: accepts upload_ids for batched execution.
meta_ads_media_write_upload_imagewrite actionFreeUpload 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 one): image_url/file_url (public URL), upload_id (uploaded via the command this tool hands you), file_base64, or upload_code. Call upload_image with NO file to get a ready-made upload command for a file on the user's machine. Facebook CDN links (*.fbcdn.net) are signed, expiring and pinned to the browser that opened them — they do NOT work as image_url from the server; upload the file instead. For listing already-uploaded media use meta_ads_media. [Flattened action: upload_image] Bulk support: accepts upload_ids for batched execution.
meta_ads_media_write_upload_videowrite actionFreeUpload 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 one): image_url/file_url (public URL), upload_id (uploaded via the command this tool hands you), file_base64, or upload_code. Call upload_image with NO file to get a ready-made upload command for a file on the user's machine. Facebook CDN links (*.fbcdn.net) are signed, expiring and pinned to the browser that opened them — they do NOT work as image_url from the server; upload the file instead. For listing already-uploaded media use meta_ads_media. [Flattened action: upload_video] Bulk support: accepts upload_ids for batched execution.
meta_ads_pages_insightsFreeRead 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_listFreeRead 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_post_insightswrite actionFreeRead 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_pages_postsFreeRead 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_realtimeFreeHourly realtime dashboard for today. Shows per-ad breakdown with hourly stats, campaign/adset/creative details, plus _summary.
meta_ads_roasFreeROAS (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_statusFreeValidate Facebook token, check expiry date, list connected ad accounts and scopes.
meta_ads_todayFreeToday's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads.
report_bugFreeReport a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
show_versionFreeShow the current MCP platform and adapter versions.
toolkit_infoFreeReturns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
Public scan report
scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 384ms20/20
- Tool poisoning44 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 19 write-action tools with no auth3/15
- Maintenancelast push 63 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How Meta Ads (Facebook & Instagram) compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 79/100
- higher than 58% of 48,273 servers
- Tools
- 44
- the typical server has 7
- Tools that change things
- 43%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 76 ms
- faster than 87% of 30,037 servers
What its tools let an agent do: 24 read · 20 change
Install Meta Ads (Facebook & Instagram) in Claude Code, Cursor or VS Code
claude mcp add --transport http meta_ads-mcp https://api.mcp.ai/p_meta_ads
What the publisher says
From the Meta Ads (Facebook & Instagram) repository's README, as published. We do not edit it. Read it on GitHub
Meta Ads (Facebook & Instagram)
Meta Ads (Facebook & Instagram) para Claude, ChatGPT e agentes de IA
Leitura e gestão de campanhas Meta Ads, ad sets, ads, audiências, páginas e Business Manager. Você fornece um long-lived accesstoken e o Facebook App ID (FBAPI_ID).
- 📊 38 ferramentas
- ✏️ Leitura e escrita
- 💬 Funciona com qualquer cliente MCP: Claude Desktop, Cursor, VS Code, Cline, Continue
- 🔑 Login via magic-link (sem senha)
English version · Documentação completa · Skill pra agentes
Instalar em 1 clique
Claude (Web e Desktop)
A Anthropic unificou a instalação de MCPs em claude.ai/customize/connectors. O mesmo link serve pra Claude Web e Claude Desktop (basta estar logado):
➕ Abrir no Claude e conectar
Manual (se o deeplink não abrir): claude.ai/customize/connectors → + → Adicionar conector personalizado → cole Nome Meta Ads (Facebook & Instagram) e URL https://api.mcp.ai/pmetaads.
Cursor
➕ Instalar Meta Ads (Facebook & Instagram) no Cursor
VS Code (Copilot Chat)
➕ Instalar Meta Ads (Facebook & Instagram) no VS Code
ChatGPT, Manus, OpenClaw e mais 40+ clientes
Funciona em qualquer cliente MCP que suporte MCP over HTTP. A URL do servidor é sempre:
https://api.mcp.ai/p_meta_adsDetalhes por cliente: INSTALL.md.
Exemplos de uso
Liste minhas contas de anúncio do Meta Ads
Quanto gastei hoje no Facebook Ads e qual o ROAS?
Mostre as campanhas ativas e o orçamento diário38 ferramentas disponíveis
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Meta Ads (Facebook & Instagram): common questions
- Is Meta Ads (Facebook & Instagram) MCP server safe?
- Mostly: it is graded B (79/100). Read the Meta Ads (Facebook & Instagram) safety report
- How do I install Meta Ads (Facebook & Instagram)?
- It runs remotely at api.mcp.ai. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Meta Ads (Facebook & Instagram) need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Meta Ads (Facebook & Instagram) maintained?
- The last commit was 64 days ago (2026-08-30). The latest release is v0.1.0.
- Is Meta Ads (Facebook & Instagram) up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Meta Ads (Facebook & Instagram)?
- Servers from other publishers that do the same job: AdLoop MCP server.
- How does Meta Ads (Facebook & Instagram) compare with other MCP servers?
- safety score 79/100 (higher than 58% of 48,273 servers); tools 44 (the typical server has 7); tools that change things 43% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Meta Ads (Facebook & Instagram)
Same job from other publishers: the closest match first, then the best rated.
- AdLoopGoogle Ads, Reddit Ads, GA4 and Tag Manager in your AI client, with a preview before every change.not reviewedEstablishedA