Meta Ads (Facebook & Instagram)
Read and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (11)
- HIGH
- LOWin connect
- LOWin meta_ads_campaign_write_activate
- LOWin meta_ads_creative_write_create_creative
- LOWin meta_ads_creative_write_create_ad
- LOWin meta_ads_creative_write_update_ad
- LOWin meta_ads_media_write_upload_image
- LOWin meta_ads_media_write_upload_video
- LOWin meta_ads_media_write_get_upload_command
- LOWin meta_ads_audience_write_add_users
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"meta_ads-mcp": {
"url": "https://api.mcp.ai/p_meta_ads"
}
}
}Remote-Endpunkte
https://api.mcp.ai/p_meta_adsstreamable-httpWas es kann
Tool-Inventar
Tools (44)
🟢meta_ads_list_accounts(auth_account)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_status(auth_account)
Validate Facebook token, check expiry date, list connected ad accounts and scopes.
Eingabe-Schema
{
"type": "object",
"properties": {
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_campaigns(account, include_paused, auth_account)
List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates. Set include_paused=true to also show paused campaigns.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"include_paused": {
"default": false,
"type": "boolean"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_today(account, include_zero, auth_account)
Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"include_zero": {
"default": false,
"type": "boolean"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_roas(account, since, until, level, auth_account)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
},
"level": {
"default": "ad",
"type": "string",
"enum": [
"ad",
"adset",
"campaign",
"account"
]
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_ads(account, include_paused, since, until, auth_account)
List ads with creatives (image, video, copy) and performance insights. Includes spend, revenue, ROAS, actions.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"include_paused": {
"default": false,
"type": "boolean"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_realtime(account, auth_account)
Hourly realtime dashboard for today. Shows per-ad breakdown with hourly stats, campaign/adset/creative details, plus _summary.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_adset_detail(account, include_paused, auth_account)
Get detailed ad set info: targeting, budget, schedule, billing, optimization goal, delivery status. Fills the gap between campaigns and ads.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"include_paused": {
"default": false,
"type": "boolean"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_pages_list(page_id, post_id, period, auth_account, page_ids, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string"
},
"post_id": {
"type": "string"
},
"period": {
"default": "day",
"type": "string",
"enum": [
"day",
"week",
"days_28"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"post_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_pages_insights(page_id, post_id, period, auth_account, page_ids, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string"
},
"post_id": {
"type": "string"
},
"period": {
"default": "day",
"type": "string",
"enum": [
"day",
"week",
"days_28"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"post_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_pages_posts(page_id, post_id, period, auth_account, page_ids, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string"
},
"post_id": {
"type": "string"
},
"period": {
"default": "day",
"type": "string",
"enum": [
"day",
"week",
"days_28"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"post_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_pages_post_insights(page_id, post_id, period, auth_account, page_ids, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string"
},
"post_id": {
"type": "string"
},
"period": {
"default": "day",
"type": "string",
"enum": [
"day",
"week",
"days_28"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"post_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_business_list(business_id, auth_account, business_ids)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"business_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"business_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_business_accounts(business_id, auth_account, business_ids)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"business_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"business_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_business_pages(business_id, auth_account, business_ids)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"business_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"business_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_business_users(business_id, auth_account, business_ids)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"business_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"business_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_business_pixels(business_id, auth_account, business_ids)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"business_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"business_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_media_list_images(account, auth_account)
List uploaded media in the ad account. Actions: list_images, list_videos. [Flattened action: list_images]
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_media_list_videos(account, auth_account)
List uploaded media in the ad account. Actions: list_images, list_videos. [Flattened action: list_videos]
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meta_ads_audience(account, auth_account)
List Custom Audiences in the ad account.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_campaign_write_create(account, campaign_id, name, objective, daily_budget, ...)
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. 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"name": {
"type": "string"
},
"objective": {
"type": "string",
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
]
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"bid_strategy": {
"type": "string",
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
]
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"special_ad_categories": {
"type": "array",
"items": {
"type": "string"
}
},
"auth_account": {
"type": "string"
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_campaign_write_update(account, campaign_id, name, objective, daily_budget, ...)
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. 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"name": {
"type": "string"
},
"objective": {
"type": "string",
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
]
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"bid_strategy": {
"type": "string",
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
]
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"special_ad_categories": {
"type": "array",
"items": {
"type": "string"
}
},
"auth_account": {
"type": "string"
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_campaign_write_pause(account, campaign_id, name, objective, daily_budget, ...)
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. 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"name": {
"type": "string"
},
"objective": {
"type": "string",
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
]
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"bid_strategy": {
"type": "string",
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
]
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"special_ad_categories": {
"type": "array",
"items": {
"type": "string"
}
},
"auth_account": {
"type": "string"
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_campaign_write_activate(account, campaign_id, name, objective, daily_budget, ...)
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. 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"name": {
"type": "string"
},
"objective": {
"type": "string",
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
]
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"bid_strategy": {
"type": "string",
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
]
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"special_ad_categories": {
"type": "array",
"items": {
"type": "string"
}
},
"auth_account": {
"type": "string"
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_campaign_delete(campaign_id, auth_account, campaign_ids)
Permanently delete a Meta Ads campaign. Irreversible. Bulk support: accepts campaign_ids for batched execution.
Eingabe-Schema
{
"type": "object",
"properties": {
"campaign_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"campaign_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_adset_write_create(account, adset_id, campaign_id, name, daily_budget, ...)
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 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"name": {
"type": "string"
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"billing_event": {
"type": "string",
"enum": [
"IMPRESSIONS",
"LINK_CLICKS",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"APP_INSTALLS"
]
},
"optimization_goal": {
"type": "string",
"enum": [
"LINK_CLICKS",
"LANDING_PAGE_VIEWS",
"IMPRESSIONS",
"REACH",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"CONVERSATIONS",
"LEAD_GENERATION",
"QUALITY_LEAD",
"OFFSITE_CONVERSIONS",
"VALUE",
"APP_INSTALLS"
]
},
"targeting": {
"type": "string"
},
"destination_type": {
"type": "string",
"enum": [
"MESSENGER",
"WHATSAPP",
"PHONE_CALL",
"APP",
"INSTAGRAM_DIRECT",
"ON_AD",
"ON_POST",
"ON_VIDEO",
"ON_PAGE",
"ON_EVENT"
]
},
"promoted_object": {
"type": "string"
},
"bid_amount": {
"type": "number"
},
"bid_strategy": {
"type": "string",
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
]
},
"start_time": {
"type": "string"
},
"end_time": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"auth_account": {
"type": "string"
},
"adset_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_adset_write_update(account, adset_id, campaign_id, name, daily_budget, ...)
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 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"name": {
"type": "string"
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"billing_event": {
"type": "string",
"enum": [
"IMPRESSIONS",
"LINK_CLICKS",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"APP_INSTALLS"
]
},
"optimization_goal": {
"type": "string",
"enum": [
"LINK_CLICKS",
"LANDING_PAGE_VIEWS",
"IMPRESSIONS",
"REACH",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"CONVERSATIONS",
"LEAD_GENERATION",
"QUALITY_LEAD",
"OFFSITE_CONVERSIONS",
"VALUE",
"APP_INSTALLS"
]
},
"targeting": {
"type": "string"
},
"destination_type": {
"type": "string",
"enum": [
"MESSENGER",
"WHATSAPP",
"PHONE_CALL",
"APP",
"INSTAGRAM_DIRECT",
"ON_AD",
"ON_POST",
"ON_VIDEO",
"ON_PAGE",
"ON_EVENT"
]
},
"promoted_object": {
"type": "string"
},
"bid_amount": {
"type": "number"
},
"bid_strategy": {
"type": "string",
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
]
},
"start_time": {
"type": "string"
},
"end_time": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"auth_account": {
"type": "string"
},
"adset_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_adset_delete(adset_id, auth_account, adset_ids)
Permanently delete a Meta Ads ad set. Irreversible. Bulk support: accepts adset_ids for batched execution.
Eingabe-Schema
{
"type": "object",
"properties": {
"adset_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"adset_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"adset_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_creative_write_create_creative(account, name, page_id, message, link, ...)
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: 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"name": {
"type": "string"
},
"page_id": {
"type": "string"
},
"message": {
"type": "string"
},
"link": {
"type": "string"
},
"image_hash": {
"type": "string"
},
"video_id": {
"type": "string"
},
"call_to_action_type": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"creative_id": {
"type": "string"
},
"ad_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"video_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"adset_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"creative_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"ad_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_creative_write_create_ad(account, name, page_id, message, link, ...)
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: 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"name": {
"type": "string"
},
"page_id": {
"type": "string"
},
"message": {
"type": "string"
},
"link": {
"type": "string"
},
"image_hash": {
"type": "string"
},
"video_id": {
"type": "string"
},
"call_to_action_type": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"creative_id": {
"type": "string"
},
"ad_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"video_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"adset_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"creative_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"ad_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_creative_write_update_ad(account, name, page_id, message, link, ...)
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: 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"name": {
"type": "string"
},
"page_id": {
"type": "string"
},
"message": {
"type": "string"
},
"link": {
"type": "string"
},
"image_hash": {
"type": "string"
},
"video_id": {
"type": "string"
},
"call_to_action_type": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"creative_id": {
"type": "string"
},
"ad_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"PAUSED"
]
},
"auth_account": {
"type": "string"
},
"page_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"video_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"adset_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"creative_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"ad_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_creative_delete(ad_id, auth_account, ad_ids)
Permanently delete a Meta Ads ad. Irreversible. Bulk support: accepts ad_ids for batched execution.
Eingabe-Schema
{
"type": "object",
"properties": {
"ad_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"ad_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"ad_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡meta_ads_media_write_upload_image(account, image_url, file_url, upload_id, file_base64, ...)
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 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"image_url": {
"type": "string"
},
"file_url": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"file_name": {
"type": "string"
},
"video_url": {
"type": "string"
},
"title": {
"type": "string"
},
"file_path": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"upload_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡meta_ads_media_write_upload_video(account, image_url, file_url, upload_id, file_base64, ...)
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 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"image_url": {
"type": "string"
},
"file_url": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"file_name": {
"type": "string"
},
"video_url": {
"type": "string"
},
"title": {
"type": "string"
},
"file_path": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"upload_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡meta_ads_media_write_get_upload_command(account, image_url, file_url, upload_id, file_base64, ...)
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 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"image_url": {
"type": "string"
},
"file_url": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"file_name": {
"type": "string"
},
"video_url": {
"type": "string"
},
"title": {
"type": "string"
},
"file_path": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"upload_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_audience_write_create(account, audience_id, name, description, 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: create] Bulk support: accepts audience_ids for batched execution.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"audience_id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"fn": {
"type": "string"
},
"ln": {
"type": "string"
}
}
}
},
"auth_account": {
"type": "string"
},
"audience_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_audience_write_add_users(account, audience_id, name, description, 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: accepts audience_ids for batched execution.
Eingabe-Schema
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"audience_id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"fn": {
"type": "string"
},
"ln": {
"type": "string"
}
}
}
},
"auth_account": {
"type": "string"
},
"audience_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴meta_ads_audience_delete(audience_id, auth_account, audience_ids)
Permanently delete a Custom Audience. Irreversible. Bulk support: accepts audience_ids for batched execution.
Eingabe-Schema
{
"type": "object",
"properties": {
"audience_id": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"audience_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"audience_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_version
Show the current MCP platform and adapter versions.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡report_bug(message, context, conversation)
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
Eingabe-Schema
{
"type": "object",
"properties": {
"message": {
"type": "string"
},
"context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
}
},
"required": [
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡marketplace(action, query, mcp_id, limit, tier_slug, ...)
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. 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"action": {
"default": "search",
"type": "string",
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
]
},
"query": {
"default": "",
"type": "string"
},
"mcp_id": {
"default": "",
"type": "string"
},
"limit": {
"default": 10,
"type": "number"
},
"tier_slug": {
"default": "",
"type": "string"
},
"immediate": {
"default": false,
"type": "boolean"
},
"cancel_reason": {
"type": "string",
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
]
},
"cancel_comment": {
"default": "",
"type": "string"
},
"message": {
"default": "",
"type": "string"
},
"report_context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"request_name": {
"default": "",
"type": "string"
},
"request_details": {
"default": "",
"type": "string"
},
"tool_id": {
"default": "",
"type": "string"
},
"arguments": {
"default": "{}",
"type": "string"
},
"prompt_slug": {
"default": "",
"type": "string"
},
"prompt_vars": {
"default": "{}",
"type": "string"
},
"prompt_category": {
"default": "",
"type": "string"
},
"prompt_tool": {
"default": "",
"type": "string"
},
"prompt_title": {
"default": "",
"type": "string"
},
"prompt_description": {
"default": "",
"type": "string"
},
"prompt_body": {
"default": "",
"type": "string"
},
"prompt_targets": {
"default": [],
"type": "array",
"items": {
"type": "string",
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡authenticate(token)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis