Server definition
- Hash
- sha256:70bb53a2875725d85e0d980d3edd61aeb5a184e48f272a6d990938bde102c7d0
- What it is
- What a remote MCP server returned when asked what it offers: 44 tools
The blob, as servednamed by its sha256
{
"instructions": "MCP.AI platform v0.9.358 | Adapters: meta_ads v1.1.0. When the user asks about the version (e.g. \"qual a versão\", \"which version\"), call the show_version tool. NEW MCPs/tools/integrations (capabilities not already in this toolkit) come from the official mcp.ai catalog: the `marketplace` tool (action=search) finds and runs them. You are not authenticated yet. Call the authenticate tool first — it will give the user a browser link to log in and copy a token. No other tools will work until authenticated.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "authenticate",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "connect",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"default": "search",
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
],
"type": "string"
},
"arguments": {
"default": "{}",
"type": "string"
},
"cancel_comment": {
"default": "",
"type": "string"
},
"cancel_reason": {
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
],
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"immediate": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 10,
"type": "number"
},
"mcp_id": {
"default": "",
"type": "string"
},
"message": {
"default": "",
"type": "string"
},
"prompt_body": {
"default": "",
"type": "string"
},
"prompt_category": {
"default": "",
"type": "string"
},
"prompt_description": {
"default": "",
"type": "string"
},
"prompt_slug": {
"default": "",
"type": "string"
},
"prompt_targets": {
"default": [],
"items": {
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
],
"type": "string"
},
"type": "array"
},
"prompt_title": {
"default": "",
"type": "string"
},
"prompt_tool": {
"default": "",
"type": "string"
},
"prompt_vars": {
"default": "{}",
"type": "string"
},
"query": {
"default": "",
"type": "string"
},
"report_context": {
"default": "",
"type": "string"
},
"request_details": {
"default": "",
"type": "string"
},
"request_name": {
"default": "",
"type": "string"
},
"tier_slug": {
"default": "",
"type": "string"
},
"tool_id": {
"default": "",
"type": "string"
}
},
"type": "object"
},
"name": "marketplace",
"outputSchema": null
},
{
"description": "List ads with creatives (image, video, copy) and performance insights. Includes spend, revenue, ROAS, actions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"include_paused": {
"default": false,
"type": "boolean"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_ads",
"outputSchema": null
},
{
"description": "Permanently delete a Meta Ads ad set. Irreversible.\n\nBulk support: accepts adset_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"adset_id": {
"type": "string"
},
"adset_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
}
},
"required": [
"adset_id"
],
"type": "object"
},
"name": "meta_ads_adset_delete",
"outputSchema": null
},
{
"description": "Get detailed ad set info: targeting, budget, schedule, billing, optimization goal, delivery status. Fills the gap between campaigns and ads.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"include_paused": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"name": "meta_ads_adset_detail",
"outputSchema": null
},
{
"description": "Create or update Meta Ads ad sets.\nActions:\n create — new ad set linked to a campaign (targeting, budget, schedule)\n update — change fields on existing ad set\nTargeting is a JSON object: { \"geo_locations\": { \"countries\": [\"BR\"] }, \"age_min\": 18, \"age_max\": 65, \"genders\": [1, 2] }\nBudgets in cents.\nBUDGET (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.\noptimization_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.\nOFFSITE_CONVERSIONS/VALUE need promoted_object with the pixel: {\"pixel_id\":\"123\",\"custom_event_type\":\"PURCHASE\"}. LEAD_GENERATION needs {\"page_id\":\"123\"}.\ndestination_type is only for non-website destinations (MESSENGER, WHATSAPP, PHONE_CALL); omit it for regular website traffic.\nFor destructive delete use meta_ads_adset_delete.\n\n[Flattened action: create]\n\nBulk support: accepts adset_ids, campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"adset_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"bid_amount": {
"type": "number"
},
"bid_strategy": {
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
],
"type": "string"
},
"billing_event": {
"enum": [
"IMPRESSIONS",
"LINK_CLICKS",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"APP_INSTALLS"
],
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"daily_budget": {
"type": "number"
},
"destination_type": {
"enum": [
"MESSENGER",
"WHATSAPP",
"PHONE_CALL",
"APP",
"INSTAGRAM_DIRECT",
"ON_AD",
"ON_POST",
"ON_VIDEO",
"ON_PAGE",
"ON_EVENT"
],
"type": "string"
},
"end_time": {
"type": "string"
},
"lifetime_budget": {
"type": "number"
},
"name": {
"type": "string"
},
"optimization_goal": {
"enum": [
"LINK_CLICKS",
"LANDING_PAGE_VIEWS",
"IMPRESSIONS",
"REACH",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"CONVERSATIONS",
"LEAD_GENERATION",
"QUALITY_LEAD",
"OFFSITE_CONVERSIONS",
"VALUE",
"APP_INSTALLS"
],
"type": "string"
},
"promoted_object": {
"type": "string"
},
"start_time": {
"type": "string"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
},
"targeting": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_adset_write_create",
"outputSchema": null
},
{
"description": "Create or update Meta Ads ad sets.\nActions:\n create — new ad set linked to a campaign (targeting, budget, schedule)\n update — change fields on existing ad set\nTargeting is a JSON object: { \"geo_locations\": { \"countries\": [\"BR\"] }, \"age_min\": 18, \"age_max\": 65, \"genders\": [1, 2] }\nBudgets in cents.\nBUDGET (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.\noptimization_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.\nOFFSITE_CONVERSIONS/VALUE need promoted_object with the pixel: {\"pixel_id\":\"123\",\"custom_event_type\":\"PURCHASE\"}. LEAD_GENERATION needs {\"page_id\":\"123\"}.\ndestination_type is only for non-website destinations (MESSENGER, WHATSAPP, PHONE_CALL); omit it for regular website traffic.\nFor destructive delete use meta_ads_adset_delete.\n\n[Flattened action: update]\n\nBulk support: accepts adset_ids, campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"adset_id": {
"type": "string"
},
"adset_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"bid_amount": {
"type": "number"
},
"bid_strategy": {
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
],
"type": "string"
},
"billing_event": {
"enum": [
"IMPRESSIONS",
"LINK_CLICKS",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"APP_INSTALLS"
],
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"daily_budget": {
"type": "number"
},
"destination_type": {
"enum": [
"MESSENGER",
"WHATSAPP",
"PHONE_CALL",
"APP",
"INSTAGRAM_DIRECT",
"ON_AD",
"ON_POST",
"ON_VIDEO",
"ON_PAGE",
"ON_EVENT"
],
"type": "string"
},
"end_time": {
"type": "string"
},
"lifetime_budget": {
"type": "number"
},
"name": {
"type": "string"
},
"optimization_goal": {
"enum": [
"LINK_CLICKS",
"LANDING_PAGE_VIEWS",
"IMPRESSIONS",
"REACH",
"POST_ENGAGEMENT",
"THRUPLAY",
"PAGE_LIKES",
"CONVERSATIONS",
"LEAD_GENERATION",
"QUALITY_LEAD",
"OFFSITE_CONVERSIONS",
"VALUE",
"APP_INSTALLS"
],
"type": "string"
},
"promoted_object": {
"type": "string"
},
"start_time": {
"type": "string"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
},
"targeting": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_adset_write_update",
"outputSchema": null
},
{
"description": "List Custom Audiences in the ad account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_audience",
"outputSchema": null
},
{
"description": "Permanently delete a Custom Audience. Irreversible.\n\nBulk support: accepts audience_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"audience_id": {
"type": "string"
},
"audience_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
}
},
"required": [
"audience_id"
],
"type": "object"
},
"name": "meta_ads_audience_delete",
"outputSchema": null
},
{
"description": "Manage Custom Audiences for targeting.\nActions:\n create — create a new custom audience\n add_users — upload hashed user data (email, phone, first/last name). PII is SHA-256 hashed before upload.\nUsers format: array of { email, phone?, fn?, ln? }. Data is normalized and hashed automatically.\nFor destructive delete use meta_ads_audience_delete.\n\n[Flattened action: add_users]\n\nBulk support: accepts audience_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"audience_id": {
"type": "string"
},
"audience_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"users": {
"items": {
"properties": {
"email": {
"type": "string"
},
"fn": {
"type": "string"
},
"ln": {
"type": "string"
},
"phone": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_audience_write_add_users",
"outputSchema": null
},
{
"description": "Manage Custom Audiences for targeting.\nActions:\n create — create a new custom audience\n add_users — upload hashed user data (email, phone, first/last name). PII is SHA-256 hashed before upload.\nUsers format: array of { email, phone?, fn?, ln? }. Data is normalized and hashed automatically.\nFor destructive delete use meta_ads_audience_delete.\n\n[Flattened action: create]\n\nBulk support: accepts audience_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"audience_id": {
"type": "string"
},
"audience_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"users": {
"items": {
"properties": {
"email": {
"type": "string"
},
"fn": {
"type": "string"
},
"ln": {
"type": "string"
},
"phone": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_audience_write_create",
"outputSchema": null
},
{
"description": "Read Facebook Business Manager data. Actions:\n list — list Business Managers\n accounts — ad accounts owned by a BM\n pages — pages owned by a BM\n users — business users and system users\n pixels — pixels owned by a BM\n\n[Flattened action: accounts]\n\nBulk support: accepts business_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"business_id": {
"type": "string"
},
"business_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_business_accounts",
"outputSchema": null
},
{
"description": "Read Facebook Business Manager data. Actions:\n list — list Business Managers\n accounts — ad accounts owned by a BM\n pages — pages owned by a BM\n users — business users and system users\n pixels — pixels owned by a BM\n\n[Flattened action: list]\n\nBulk support: accepts business_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"business_id": {
"type": "string"
},
"business_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_business_list",
"outputSchema": null
},
{
"description": "Read Facebook Business Manager data. Actions:\n list — list Business Managers\n accounts — ad accounts owned by a BM\n pages — pages owned by a BM\n users — business users and system users\n pixels — pixels owned by a BM\n\n[Flattened action: pages]\n\nBulk support: accepts business_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"business_id": {
"type": "string"
},
"business_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_business_pages",
"outputSchema": null
},
{
"description": "Read Facebook Business Manager data. Actions:\n list — list Business Managers\n accounts — ad accounts owned by a BM\n pages — pages owned by a BM\n users — business users and system users\n pixels — pixels owned by a BM\n\n[Flattened action: pixels]\n\nBulk support: accepts business_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"business_id": {
"type": "string"
},
"business_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_business_pixels",
"outputSchema": null
},
{
"description": "Read Facebook Business Manager data. Actions:\n list — list Business Managers\n accounts — ad accounts owned by a BM\n pages — pages owned by a BM\n users — business users and system users\n pixels — pixels owned by a BM\n\n[Flattened action: users]\n\nBulk support: accepts business_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"business_id": {
"type": "string"
},
"business_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_business_users",
"outputSchema": null
},
{
"description": "Permanently delete a Meta Ads campaign. Irreversible.\n\nBulk support: accepts campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"campaign_id"
],
"type": "object"
},
"name": "meta_ads_campaign_delete",
"outputSchema": null
},
{
"description": "Create, update, pause or activate Meta Ads campaigns.\nActions:\n create — new campaign (name, objective, budget required)\n update — change name, budget, status\n pause — shortcut to pause a campaign\n activate — shortcut to activate a campaign\nObjectives: OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION.\nBudgets 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.\nFor destructive delete use meta_ads_campaign_delete.\n\n[Flattened action: activate]\n\nBulk support: accepts campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"bid_strategy": {
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
],
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"name": {
"type": "string"
},
"objective": {
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
],
"type": "string"
},
"special_ad_categories": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_campaign_write_activate",
"outputSchema": null
},
{
"description": "Create, update, pause or activate Meta Ads campaigns.\nActions:\n create — new campaign (name, objective, budget required)\n update — change name, budget, status\n pause — shortcut to pause a campaign\n activate — shortcut to activate a campaign\nObjectives: OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION.\nBudgets 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.\nFor destructive delete use meta_ads_campaign_delete.\n\n[Flattened action: create]\n\nBulk support: accepts campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"bid_strategy": {
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
],
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"name": {
"type": "string"
},
"objective": {
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
],
"type": "string"
},
"special_ad_categories": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_campaign_write_create",
"outputSchema": null
},
{
"description": "Create, update, pause or activate Meta Ads campaigns.\nActions:\n create — new campaign (name, objective, budget required)\n update — change name, budget, status\n pause — shortcut to pause a campaign\n activate — shortcut to activate a campaign\nObjectives: OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION.\nBudgets 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.\nFor destructive delete use meta_ads_campaign_delete.\n\n[Flattened action: pause]\n\nBulk support: accepts campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"bid_strategy": {
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
],
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"name": {
"type": "string"
},
"objective": {
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
],
"type": "string"
},
"special_ad_categories": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_campaign_write_pause",
"outputSchema": null
},
{
"description": "Create, update, pause or activate Meta Ads campaigns.\nActions:\n create — new campaign (name, objective, budget required)\n update — change name, budget, status\n pause — shortcut to pause a campaign\n activate — shortcut to activate a campaign\nObjectives: OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_AWARENESS, OUTCOME_APP_PROMOTION.\nBudgets 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.\nFor destructive delete use meta_ads_campaign_delete.\n\n[Flattened action: update]\n\nBulk support: accepts campaign_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"bid_strategy": {
"enum": [
"LOWEST_COST_WITHOUT_CAP",
"LOWEST_COST_WITH_BID_CAP",
"COST_CAP",
"LOWEST_COST_WITH_MIN_ROAS"
],
"type": "string"
},
"campaign_id": {
"type": "string"
},
"campaign_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"daily_budget": {
"type": "number"
},
"lifetime_budget": {
"type": "number"
},
"name": {
"type": "string"
},
"objective": {
"enum": [
"OUTCOME_TRAFFIC",
"OUTCOME_ENGAGEMENT",
"OUTCOME_LEADS",
"OUTCOME_SALES",
"OUTCOME_AWARENESS",
"OUTCOME_APP_PROMOTION"
],
"type": "string"
},
"special_ad_categories": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_campaign_write_update",
"outputSchema": null
},
{
"description": "List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates.\nSet include_paused=true to also show paused campaigns.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"include_paused": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"name": "meta_ads_campaigns",
"outputSchema": null
},
{
"description": "Permanently delete a Meta Ads ad. Irreversible.\n\nBulk support: accepts ad_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ad_id": {
"type": "string"
},
"ad_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
}
},
"required": [
"ad_id"
],
"type": "object"
},
"name": "meta_ads_creative_delete",
"outputSchema": null
},
{
"description": "Create ad creatives and ads (final step to launch).\nActions:\n create_creative — create ad creative with image/video + copy (requires page_id)\n create_ad — create ad linking creative to ad set\n update_ad — update ad fields (name, status, creative)\nFor create_creative: provide image_hash (from upload_image) OR video_id (from upload_video) + page_id + message.\ncall_to_action_type: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, GET_QUOTE, CONTACT_US, SUBSCRIBE, BOOK_NOW, etc.\nFor destructive delete use meta_ads_creative_delete.\n\n[Flattened action: create_ad]\n\nBulk support: accepts page_ids, video_ids, adset_ids, creative_ids, ad_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"ad_id": {
"type": "string"
},
"ad_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"adset_id": {
"type": "string"
},
"adset_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"call_to_action_type": {
"type": "string"
},
"creative_id": {
"type": "string"
},
"creative_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"image_hash": {
"type": "string"
},
"link": {
"type": "string"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
},
"video_id": {
"type": "string"
},
"video_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_creative_write_create_ad",
"outputSchema": null
},
{
"description": "Create ad creatives and ads (final step to launch).\nActions:\n create_creative — create ad creative with image/video + copy (requires page_id)\n create_ad — create ad linking creative to ad set\n update_ad — update ad fields (name, status, creative)\nFor create_creative: provide image_hash (from upload_image) OR video_id (from upload_video) + page_id + message.\ncall_to_action_type: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, GET_QUOTE, CONTACT_US, SUBSCRIBE, BOOK_NOW, etc.\nFor destructive delete use meta_ads_creative_delete.\n\n[Flattened action: create_creative]\n\nBulk support: accepts page_ids, video_ids, adset_ids, creative_ids, ad_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"ad_id": {
"type": "string"
},
"ad_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"adset_id": {
"type": "string"
},
"adset_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"call_to_action_type": {
"type": "string"
},
"creative_id": {
"type": "string"
},
"creative_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"image_hash": {
"type": "string"
},
"link": {
"type": "string"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
},
"video_id": {
"type": "string"
},
"video_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_creative_write_create_creative",
"outputSchema": null
},
{
"description": "Create ad creatives and ads (final step to launch).\nActions:\n create_creative — create ad creative with image/video + copy (requires page_id)\n create_ad — create ad linking creative to ad set\n update_ad — update ad fields (name, status, creative)\nFor create_creative: provide image_hash (from upload_image) OR video_id (from upload_video) + page_id + message.\ncall_to_action_type: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, GET_QUOTE, CONTACT_US, SUBSCRIBE, BOOK_NOW, etc.\nFor destructive delete use meta_ads_creative_delete.\n\n[Flattened action: update_ad]\n\nBulk support: accepts page_ids, video_ids, adset_ids, creative_ids, ad_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"ad_id": {
"type": "string"
},
"ad_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"adset_id": {
"type": "string"
},
"adset_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_account": {
"type": "string"
},
"call_to_action_type": {
"type": "string"
},
"creative_id": {
"type": "string"
},
"creative_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"image_hash": {
"type": "string"
},
"link": {
"type": "string"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"ACTIVE",
"PAUSED"
],
"type": "string"
},
"video_id": {
"type": "string"
},
"video_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_creative_write_update_ad",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_list_accounts",
"outputSchema": null
},
{
"description": "List uploaded media in the ad account.\nActions: list_images, list_videos.\n\n[Flattened action: list_images]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_media_list_images",
"outputSchema": null
},
{
"description": "List uploaded media in the ad account.\nActions: list_images, list_videos.\n\n[Flattened action: list_videos]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_media_list_videos",
"outputSchema": null
},
{
"description": "Upload images and videos to Meta Ads account.\nActions:\n upload_image — upload an image. Returns the image hash you need for create_creative.\n upload_video — upload video from URL (Meta fetches it). Returns video_id.\n get_upload_command — get a curl command for uploading large local video files (keeps file out of AI context).\nupload_image accepts the file in four ways (use exactly one): image_url/file_url (public URL),\nupload_id (uploaded via the command this tool hands you), file_base64, or upload_code.\nCall upload_image with NO file to get a ready-made upload command for a file on the user's machine.\nFacebook CDN links (*.fbcdn.net) are signed, expiring and pinned to the browser that opened them —\nthey do NOT work as image_url from the server; upload the file instead.\nFor listing already-uploaded media use meta_ads_media.\n\n[Flattened action: get_upload_command]\n\nBulk support: accepts upload_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"file_name": {
"type": "string"
},
"file_path": {
"type": "string"
},
"file_url": {
"type": "string"
},
"image_url": {
"type": "string"
},
"title": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"upload_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"video_url": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_media_write_get_upload_command",
"outputSchema": null
},
{
"description": "Upload images and videos to Meta Ads account.\nActions:\n upload_image — upload an image. Returns the image hash you need for create_creative.\n upload_video — upload video from URL (Meta fetches it). Returns video_id.\n get_upload_command — get a curl command for uploading large local video files (keeps file out of AI context).\nupload_image accepts the file in four ways (use exactly one): image_url/file_url (public URL),\nupload_id (uploaded via the command this tool hands you), file_base64, or upload_code.\nCall upload_image with NO file to get a ready-made upload command for a file on the user's machine.\nFacebook CDN links (*.fbcdn.net) are signed, expiring and pinned to the browser that opened them —\nthey do NOT work as image_url from the server; upload the file instead.\nFor listing already-uploaded media use meta_ads_media.\n\n[Flattened action: upload_image]\n\nBulk support: accepts upload_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"file_name": {
"type": "string"
},
"file_path": {
"type": "string"
},
"file_url": {
"type": "string"
},
"image_url": {
"type": "string"
},
"title": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"upload_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"video_url": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_media_write_upload_image",
"outputSchema": null
},
{
"description": "Upload images and videos to Meta Ads account.\nActions:\n upload_image — upload an image. Returns the image hash you need for create_creative.\n upload_video — upload video from URL (Meta fetches it). Returns video_id.\n get_upload_command — get a curl command for uploading large local video files (keeps file out of AI context).\nupload_image accepts the file in four ways (use exactly one): image_url/file_url (public URL),\nupload_id (uploaded via the command this tool hands you), file_base64, or upload_code.\nCall upload_image with NO file to get a ready-made upload command for a file on the user's machine.\nFacebook CDN links (*.fbcdn.net) are signed, expiring and pinned to the browser that opened them —\nthey do NOT work as image_url from the server; upload the file instead.\nFor listing already-uploaded media use meta_ads_media.\n\n[Flattened action: upload_video]\n\nBulk support: accepts upload_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"file_name": {
"type": "string"
},
"file_path": {
"type": "string"
},
"file_url": {
"type": "string"
},
"image_url": {
"type": "string"
},
"title": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"upload_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"video_url": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_media_write_upload_video",
"outputSchema": null
},
{
"description": "Read Facebook Pages data. Actions:\n list — all pages the user manages (name, fan_count, followers)\n insights — page engagement metrics (follows, views) for a specific page\n posts — recent posts with likes, comments, shares\n post_insights — detailed insights for a specific post\n\n[Flattened action: insights]\n\nBulk support: accepts page_ids, post_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"period": {
"default": "day",
"enum": [
"day",
"week",
"days_28"
],
"type": "string"
},
"post_id": {
"type": "string"
},
"post_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_pages_insights",
"outputSchema": null
},
{
"description": "Read Facebook Pages data. Actions:\n list — all pages the user manages (name, fan_count, followers)\n insights — page engagement metrics (follows, views) for a specific page\n posts — recent posts with likes, comments, shares\n post_insights — detailed insights for a specific post\n\n[Flattened action: list]\n\nBulk support: accepts page_ids, post_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"period": {
"default": "day",
"enum": [
"day",
"week",
"days_28"
],
"type": "string"
},
"post_id": {
"type": "string"
},
"post_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_pages_list",
"outputSchema": null
},
{
"description": "Read Facebook Pages data. Actions:\n list — all pages the user manages (name, fan_count, followers)\n insights — page engagement metrics (follows, views) for a specific page\n posts — recent posts with likes, comments, shares\n post_insights — detailed insights for a specific post\n\n[Flattened action: post_insights]\n\nBulk support: accepts page_ids, post_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"period": {
"default": "day",
"enum": [
"day",
"week",
"days_28"
],
"type": "string"
},
"post_id": {
"type": "string"
},
"post_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_pages_post_insights",
"outputSchema": null
},
{
"description": "Read Facebook Pages data. Actions:\n list — all pages the user manages (name, fan_count, followers)\n insights — page engagement metrics (follows, views) for a specific page\n posts — recent posts with likes, comments, shares\n post_insights — detailed insights for a specific post\n\n[Flattened action: posts]\n\nBulk support: accepts page_ids, post_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
},
"page_id": {
"type": "string"
},
"page_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"period": {
"default": "day",
"enum": [
"day",
"week",
"days_28"
],
"type": "string"
},
"post_id": {
"type": "string"
},
"post_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "meta_ads_pages_posts",
"outputSchema": null
},
{
"description": "Hourly realtime dashboard for today. Shows per-ad breakdown with hourly stats, campaign/adset/creative details, plus _summary.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_realtime",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"level": {
"default": "ad",
"enum": [
"ad",
"adset",
"campaign",
"account"
],
"type": "string"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_roas",
"outputSchema": null
},
{
"description": "Validate Facebook token, check expiry date, list connected ad accounts and scopes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_account": {
"type": "string"
}
},
"type": "object"
},
"name": "meta_ads_status",
"outputSchema": null
},
{
"description": "Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"auth_account": {
"type": "string"
},
"include_zero": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"name": "meta_ads_today",
"outputSchema": null
},
{
"description": "Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "report_bug",
"outputSchema": null
},
{
"description": "Show the current MCP platform and adapter versions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "show_version",
"outputSchema": null
},
{
"description": "Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "toolkit_info",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:70bb53a2875725d85e0d980d3edd61aeb5a184e48f272a6d990938bde102c7d0 | sha256sum