Meta Ads (Facebook & Instagram)
Read and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide
使うべきか
品質と安全性
検出事項(11)
- HIGH
- LOWconnect 内
- LOWmeta_ads_campaign_write_activate 内
- LOWmeta_ads_creative_write_create_creative 内
- LOWmeta_ads_creative_write_create_ad 内
- LOWmeta_ads_creative_write_update_ad 内
- LOWmeta_ads_media_write_upload_image 内
- LOWmeta_ads_media_write_upload_video 内
- LOWmeta_ads_media_write_get_upload_command 内
- LOWmeta_ads_audience_write_add_users 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"meta_ads-mcp": {
"url": "https://api.mcp.ai/p_meta_ads"
}
}
}リモートエンドポイント
https://api.mcp.ai/p_meta_adsstreamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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]
入力スキーマ
{
"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]
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス