Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:70bb53a2875725d85e0d980d3edd61aeb5a184e48f272a6d990938bde102c7d0 | sha256sum