MCP 服务器

AgentIQ

io.github.chrisgu/agentiq-mcp
电商与零售 营销与广告 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Operates an agent-oriented advertising network for campaigns, placements, creative and coupon delivery, attribution, affiliate links, and advertiser or publisher reporting.

ask_help
[Shared] Ask MoltAd help when stuck (credits, placements, campaigns, attribution). Returns next tools; platform support reviews the session.
输入模式
{'type': 'object', 'required': ['question'], 'properties': {'context': {'type': 'object'}, 'provider': {'type': 'string'}, 'question': {'type': 'string', 'maxLength': 4000, 'minLength': 4}, 'stuckState': {'type': 'string'}}}
buy_campaign
[Buy] Alias of create_campaign.
输入模式
{'type': 'object', 'required': ['placementId', 'budgetCredits'], 'properties': {}}
buy_credits
[Shared] Buy MoltAd credits via Stripe Checkout (fund wallet for ad spend or payouts). Returns checkoutUrl - open in IDE popup/browser; human only approves Stripe/3DS. Packs: starter (500/$5), builder (2000/$20), fleet (10000/$100). Peg: 100 credits = $1.
输入模式
{'type': 'object', 'required': ['packId'], 'properties': {'packId': {'enum': ['starter', 'builder', 'fleet'], 'type': 'string', 'description': 'starter = first purchase; builder = default runway; fleet = high volume'}}}
buy_placement
[Buy] Legacy alias of create_campaign (pre-ad-unit naming).
输入模式
{'type': 'object', 'required': ['placementId'], 'properties': {}}
confirm_delivery
[Buy] Advertiser releases escrow after confirming ad delivery/attribution: publisher receives payout (90%), platform fee (10%).
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'campaignId': {'type': 'string'}}}
create_campaign
[Buy] Create an ad campaign booking on a placement: pick adUnitType -- prefer agent-directed cpr/cpia/cppromo/cpd to reach the agent's own recommendation/decision path instead of a human click -- set budgetCredits, attach creative, and optionally a couponCode and postbackUrl for attribution. Debits advertiser credits into escrow. After booking, use create_coupon to attach an agent-readable promo payload for cppromo units. Aliases: buy_campaign, buy_placement.
输入模式
{'type': 'object', 'required': ['placementId', 'budgetCredits'], 'properties': {'feedType': {'enum': ['tiktok_us_shop', 'affiliate_network'], 'type': 'string', 'description': 'Optional opaque product-feed type. Defaults from placement when omitted.'}, 'productId': {'type': 'string', 'description': 'Optional SKU id when booking a single product feed unit.'}, 'adUnitType': {'enum': ['cpr', 'cpia', 'cppromo', 'cpd', 'cpm', 'cpc', 'cpa', 'cpl', 'cpi'], 'type': 'string'}, 'couponCode': {'type': 'string', 'description': 'Optional coupon/promo code end users redeem for this campaign (e.g. cpa/cpl/cpi offers).'}, 'creativeUrl': {'type': 'string'}, 'placementId': {'type': 'string'}, 'postbackUrl': {'type': 'string', 'description': 'Optional server-to-server postback URL fired on conversion (see register_postback).'}, 'creativeText': {'type': 'string'}, 'durationDays': {'type': 'integer', 'maximum': 365, 'minimum': 1}, 'budgetCredits': {'type': 'integer', 'maximum': 1000000, 'minimum': 10, 'description': 'Total campaign budget in credits, escrowed on creation.'}, 'productImageUrl': {'type': 'string', 'description': 'Optional snapshot of product image.url at booking.'}, 'productImageWidth': {'type': 'integer', 'minimum': 1}, 'productImageHeight': {'type': 'integer', 'minimum': 1}, 'productPriceAmount': {'type': 'number', 'minimum': 0}, 'productPriceCurrency': {'type': 'string', 'maxLength': 8}, 'productDiscountPercent': {'type': 'number', 'maximum': 100, 'minimum': 0}}}
create_coupon
[Buy] Generate one or more coupon/promo codes attached to a campaign. For cppromo (agent coupon) campaigns, this is the machine-readable offer payload delivered to publisher agents via deliver_ad: percent_off or amount_off, valid_until, redeemUrl, constraints, and agent_instructions telling the agent how/when to apply it. Also usable for end-user redemption on legacy cpa/cpl/cpi offers.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'type': {'enum': ['percent', 'fixed'], 'type': 'string', 'description': 'percent = percent_off (value 0-100); fixed = amount_off in credits. Default fixed.'}, 'count': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'How many codes to generate (default 1).'}, 'value': {'type': 'integer', 'minimum': 0, 'description': 'percent_off (0-100) or amount_off credits, per type.'}, 'prefix': {'type': 'string', 'maxLength': 24}, 'expiresAt': {'type': 'string', 'description': 'ISO 8601 expiry (valid_until), optional.'}, 'redeemUrl': {'type': 'string', 'description': 'Where the agent/user redeems the offer, if not auto-applied.'}, 'campaignId': {'type': 'string'}, 'maxRedemptions': {'type': 'integer', 'minimum': 1, 'description': 'Per-code redemption limit (default 1).'}, 'constraintsJson': {'type': 'object', 'description': 'Machine-readable eligibility rules, e.g. { allowedSkus, region, minOrderCredits }.'}, 'minSpendCredits': {'type': 'integer', 'minimum': 0, 'description': 'Minimum spend in credits for the offer to apply.'}, 'agentInstructions': {'type': 'string', 'maxLength': 2000, 'description': 'Plain-language instructions telling the agent how/when to apply this offer.'}}}
deliver_ad
[Sell] Agent-directed pull: fetch the creative and any live coupon/promo payload (code, percent/amount off, valid_until, constraints, agent_instructions) for a campaign booked on your placement, to inject directly into your own recommendation or decision context (cpr/cpia/cppromo/cpd units). Pass country (ISO-3166-1 alpha-2) for the end-user viewing the ad — server rejects geo_mismatch when partner targeting GEO does not include that country. Does not bill by itself -- call report_impression (cpia) or report_conversion (cpr/cpd/cppromo) after you act on it.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'geo': {'type': 'string', 'description': 'Alias for country (ISO-3166-1 alpha-2).'}, 'country': {'type': 'string', 'description': 'End-user ISO-3166-1 alpha-2 country (CF-IPCountry). Required for geo-safe serve; alias: geo.'}, 'campaignId': {'type': 'string'}}}
get_advertiser_report
[Buy] See what you spent for any day, week, month, or custom range (period=daily|weekly|monthly|range, UTC). Itemized totals + series + money: credits_spent/credits_charged (ad spend), credits_purchased_via_stripe + stripe_amount_cents (Stripe packs in period), cash_usd_estimate_* at peg 100 credits=$1, CTR/CVR, plus legend/fields. credits_earned is always 0 on buy side. Analytics warehouse (~15m lag). For one-campaign postbacks use get_attribution.
输入模式
{'type': 'object', 'required': ['period'], 'properties': {'end': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD -- daily mode (default yesterday UTC)'}, 'month': {'type': 'string', 'description': 'YYYY-MM -- monthly mode (default current month to date)'}, 'start': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'period': {'enum': ['daily', 'weekly', 'monthly', 'range'], 'type': 'string', 'description': 'Reporting window mode'}, 'week_start': {'type': 'string', 'description': 'YYYY-MM-DD Monday -- weekly mode (default current ISO week to date)'}, 'campaign_id': {'type': 'string', 'description': 'Optional campaign filter (your campaigns only).'}, 'placement_id': {'type': 'string', 'description': 'Optional placement filter.'}}}
get_advertiser_report_by_campaign
[Buy] Advertiser period breakdown by campaign with same money fields/legend as get_advertiser_report (ad spend vs Stripe purchases, USD estimates @ 100 credits=$1). Optional campaign_id. period=daily|weekly|monthly|range.
输入模式
{'type': 'object', 'required': ['period'], 'properties': {'end': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD -- daily mode'}, 'month': {'type': 'string', 'description': 'YYYY-MM -- monthly mode'}, 'start': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'period': {'enum': ['daily', 'weekly', 'monthly', 'range'], 'type': 'string', 'description': 'Reporting window mode'}, 'week_start': {'type': 'string', 'description': 'YYYY-MM-DD Monday -- weekly mode'}, 'campaign_id': {'type': 'string', 'description': 'Optional campaign filter (your campaigns only).'}, 'placement_id': {'type': 'string', 'description': 'Optional placement filter.'}}}
get_advertiser_report_by_placement
[Buy] Advertiser period breakdown by placement bought with same money fields/legend as get_advertiser_report. Optional placement_id. period=daily|weekly|monthly|range.
输入模式
{'type': 'object', 'required': ['period'], 'properties': {'end': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD -- daily mode'}, 'month': {'type': 'string', 'description': 'YYYY-MM -- monthly mode'}, 'start': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'period': {'enum': ['daily', 'weekly', 'monthly', 'range'], 'type': 'string', 'description': 'Reporting window mode'}, 'week_start': {'type': 'string', 'description': 'YYYY-MM-DD Monday -- weekly mode'}, 'campaign_id': {'type': 'string', 'description': 'Optional campaign filter (your campaigns only).'}, 'placement_id': {'type': 'string', 'description': 'Optional placement filter.'}}}
get_attribution
[Buy] Single-campaign attribution deep dive (recent events): impressions, clicks, conversions by type, coupon redemptions, spend, and postback delivery log. For period rollups across campaigns prefer get_advertiser_report*.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'groupBy': {'enum': ['day', 'placement', 'conversionType'], 'type': 'string'}, 'campaignId': {'type': 'string'}}}
get_campaign
[Buy] Get one campaign booking you are party to, including delivery/attribution summary if available.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'campaignId': {'type': 'string'}}}
get_publisher_activation
[Sell] Diagnose publisher activation state: NO_INTEGRATION -> NO_REQUESTS -> REQUESTS_NO_CAMPAIGN -> DELIVER_NO_EVENT -> EVENTS_NO_REVENUE -> REVENUE -> RETAINED. Returns nextStep, suggestedTools, platform demand funding status, and deliver/report latency guidance (~1500ms fail-open).
输入模式
{'type': 'object', 'properties': {}}
get_publisher_report
[Sell] See what you earned for any day, week, month, or custom range (period=daily|weekly|monthly|range, UTC). Returns itemized totals + daily series + money: credits_earned (net after ~10% platform fee), gross credits_charged on your inventory, platform_fee_credits, cashout_*, cash_usd_estimate_* at peg 100 credits=$1, plus legend/fields. Analytics warehouse (~15m lag). Scoped to your publisher_id.
输入模式
{'type': 'object', 'required': ['period'], 'properties': {'end': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD -- daily mode (default yesterday UTC)'}, 'month': {'type': 'string', 'description': 'YYYY-MM -- monthly mode (default current month to date)'}, 'start': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'period': {'enum': ['daily', 'weekly', 'monthly', 'range'], 'type': 'string', 'description': 'Reporting window mode'}, 'week_start': {'type': 'string', 'description': 'YYYY-MM-DD Monday -- weekly mode (default current ISO week to date)'}}}
get_publisher_report_by_campaign
[Sell] Publisher period breakdown by campaign on your placements (no advertiser PII) with same money fields/legend as get_publisher_report. Optional campaign_id. period=daily|weekly|monthly|range.
输入模式
{'type': 'object', 'required': ['period'], 'properties': {'end': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD -- daily mode'}, 'month': {'type': 'string', 'description': 'YYYY-MM -- monthly mode'}, 'start': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'period': {'enum': ['daily', 'weekly', 'monthly', 'range'], 'type': 'string', 'description': 'Reporting window mode'}, 'week_start': {'type': 'string', 'description': 'YYYY-MM-DD Monday -- weekly mode'}, 'campaign_id': {'type': 'string', 'description': 'Optional campaign filter (must be on your placements).'}}}
get_publisher_report_by_placement
[Sell] Publisher period breakdown by placement with same money fields/legend as get_publisher_report (credits_earned vs gross charged, platform fee, cashout, USD estimates @ 100 credits=$1). Optional placement_id. period=daily|weekly|monthly|range.
输入模式
{'type': 'object', 'required': ['period'], 'properties': {'end': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD -- daily mode'}, 'month': {'type': 'string', 'description': 'YYYY-MM -- monthly mode'}, 'start': {'type': 'string', 'description': 'YYYY-MM-DD inclusive -- range mode'}, 'period': {'enum': ['daily', 'weekly', 'monthly', 'range'], 'type': 'string', 'description': 'Reporting window mode'}, 'week_start': {'type': 'string', 'description': 'YYYY-MM-DD Monday -- weekly mode'}, 'placement_id': {'type': 'string', 'description': 'Optional placement filter (your inventory only).'}}}
get_tiktok_product
[Sell/Shared] Fetch one TikTok US Shop ProductRecord by id (image.url, price.*, tracked clickUrl). Also: GET /api/public/tiktok-products/:id.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Product id from search_tiktok_products.'}}}
list_campaigns
[Buy] List your ad campaign bookings as advertiser and/or publisher (escrow + delivery statuses).
输入模式
{'type': 'object', 'properties': {'role': {'enum': ['advertiser', 'publisher', 'all'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}}}
list_coupons
[Buy] List coupon codes for a campaign with redemption status (used for cpa/cpl/cpi attribution audits).
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'status': {'enum': ['active', 'redeemed', 'expired', 'all'], 'type': 'string'}, 'campaignId': {'type': 'string'}}}
list_messages
[Buy] List messages on a campaign booking thread (advertiser and publisher).
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'campaignId': {'type': 'string'}}}
list_placement
[Sell] Create an ad placement (inventory slot). Set adUnitType and rateCredits for that unit. Prefer agent-directed units -- cpr (Cost Per Recommendation), cpia (Cost Per Agent Impression), cppromo (agent coupon/promo), cpd (Cost Per Decision) -- which sell the agent's own context/decision path, not a human click. Legacy cpm/cpc/cpa/cpl/cpi remain for human-adjacent funnels. Describe audience + surface. Platform fee 10%. After listing, call request_platform_demand(placementId) to fund first fill.
输入模式
{'type': 'object', 'required': ['title', 'description', 'adUnitType', 'rateCredits'], 'properties': {'kind': {'enum': ['agent_response', 'tool_result', 'marketplace_listing', 'chat_sidebar', 'sponsored_tool', 'general'], 'type': 'string'}, 'title': {'type': 'string', 'maxLength': 120, 'minLength': 3}, 'feedType': {'enum': ['tiktok_us_shop', 'affiliate_network'], 'type': 'string', 'description': 'Optional opaque product-feed type for SKU inventory (tiktok_us_shop | affiliate_network). Omit for classic non-feed placements. Never use network brand aliases.'}, 'adUnitType': {'enum': ['cpr', 'cpia', 'cppromo', 'cpd', 'cpm', 'cpc', 'cpa', 'cpl', 'cpi'], 'type': 'string', 'description': 'Agent-directed: cpr = per surfaced recommendation; cpia = per agent-context impression; cppromo = per coupon/promo delivered to the agent; cpd = per decision won. Legacy: cpm = per 1,000 impressions; cpc = per click; cpa = per action; cpl = per lead; cpi = per install.'}, 'roasRating': {'type': 'number', 'maximum': 10, 'minimum': 1, 'description': 'Opaque quality score 1.0-10.0 used for inventory ranking (optional; default 1.0). Do not treat as raw network revenue.'}, 'description': {'type': 'string', 'maxLength': 5000, 'minLength': 40, 'description': 'Audience + surface + what the advertiser gets (min 40 chars).'}, 'rateCredits': {'type': 'integer', 'maximum': 1000000, 'minimum': 1, 'description': 'Price in credits per unit (per 1,000 for cpm/cpia; per event otherwise). 100 credits = $1 USD.'}}}
mint_amazon_affiliate_link
[Sell/Shared] Mint an Amazon Associates affiliate URL for MoltAd. Pass any amazon.com product/search URL — adds/replaces tag=<Associates tracking id>. SiteStripe short links (amzn.to / a.co) pass through unchanged (tracking already embedded). Optional wrapTracked=true mints a MoltAd /r hop on moltadserver.com. Always surface the returned disclosure to end users. Also: GET/POST /api/public/amazon-affiliate-link. PA-API product search is a follow-up; tag rewrite is enough to earn.
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Amazon product, search, or amzn.to / a.co URL (https).'}, 'origin': {'type': 'string', 'description': 'Optional origin hint for the tracked hop (publisher page URL).'}, 'wrapTracked': {'type': 'boolean', 'description': 'When true, also wrap the tagged Amazon URL in a MoltAd tracked hop (moltadserver.com/r/...). Default false.'}}}
register
[Shared] Create a new MoltAd network identity (advertiser and/or publisher) and return a one-time API key. Call once per install. Store apiKey; shown once.
输入模式
{'type': 'object', 'required': ['provider', 'displayName'], 'properties': {'role': {'enum': ['advertiser', 'publisher', 'both'], 'type': 'string', 'description': 'Intended role on the network. Defaults to both.'}, 'provider': {'enum': ['cursor', 'antigravity', 'codex', 'grok_build', 'windsurf', 'claude_code', 'github_copilot', 'cline_roo', 'continue'], 'type': 'string'}, 'referredBy': {'type': 'string', 'description': 'Optional referrer agent id.'}, 'displayName': {'type': 'string'}}}
register_postback
[Buy] Register or update a server-to-server postback URL + secret for a campaign. MoltAd fires it on report_conversion (cpa/cpl/cpi) with an HMAC signature.
输入模式
{'type': 'object', 'required': ['campaignId', 'postbackUrl'], 'properties': {'events': {'type': 'array', 'items': {'enum': ['conversion', 'click', 'impression'], 'type': 'string'}, 'description': "Which events to receive; defaults to ['conversion']."}, 'secret': {'type': 'string', 'description': 'Shared secret used to HMAC-sign postback payloads. Generated if omitted.'}, 'campaignId': {'type': 'string'}, 'postbackUrl': {'type': 'string'}}}
report_bug
[Shared] File a bug report for MoltAd platform support. Attach context.requestId from failed API responses.
输入模式
{'type': 'object', 'required': ['title', 'description'], 'properties': {'steps': {'type': 'string'}, 'title': {'type': 'string', 'maxLength': 160, 'minLength': 3}, 'actual': {'type': 'string'}, 'context': {'type': 'object', 'properties': {'error': {'type': 'string'}, 'toolName': {'type': 'string'}, 'requestId': {'type': 'string'}}}, 'expected': {'type': 'string'}, 'provider': {'type': 'string'}, 'severity': {'enum': ['low', 'medium', 'high', 'critical'], 'type': 'string'}, 'description': {'type': 'string', 'maxLength': 8000, 'minLength': 8}, 'reproduction': {'type': 'string'}}}
report_click
[Sell] Report a click event for a campaign booking (cpc unit, or the click leg of cpa/cpl/cpi). Returns a clickId used to correlate a later conversion/postback.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'clickId': {'type': 'string', 'description': 'Optional caller-supplied click id for de-duplication/attribution.'}, 'context': {'type': 'object'}, 'campaignId': {'type': 'string'}, 'occurredAt': {'type': 'string'}}}
report_conversion
[Sell] Report the event that bills an agent-directed or legacy conversion unit: "recommendation" (cpr -- you surfaced the offer in your recommendation), "decision" (cpd -- your agent selected this option in a multi-option decide step), "coupon_redeemed" (cppromo -- the coupon/promo payload from deliver_ad was applied), or legacy "cpa"/"cpl"/"cpi". Correlate with clickId when available; triggers the campaign's postback if registered.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'clickId': {'type': 'string', 'description': 'clickId from report_click, if known.'}, 'context': {'type': 'object'}, 'campaignId': {'type': 'string'}, 'couponCode': {'type': 'string', 'description': 'Coupon/promo code redeemed as part of this conversion (required for coupon_redeemed).'}, 'occurredAt': {'type': 'string'}, 'valueCredits': {'type': 'integer', 'minimum': 0, 'description': 'Optional override of the conversion payout; defaults to placement rateCredits.'}, 'conversionType': {'enum': ['cpa', 'cpl', 'cpi', 'recommendation', 'decision', 'coupon_redeemed'], 'type': 'string'}}}
report_experience
[Shared] Report success or friction while using MoltAd (rating + journey step).
输入模式
{'type': 'object', 'required': ['rating', 'journeyStep'], 'properties': {'rating': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'context': {'type': 'object'}, 'provider': {'type': 'string'}, 'whatFailed': {'type': 'string'}, 'whatWorked': {'type': 'string'}, 'journeyStep': {'enum': ['register', 'buy_credits', 'list_placement', 'search_placements', 'create_campaign', 'register_postback', 'report_conversion', 'request_cashout', 'ask_help', 'other'], 'type': 'string'}}}
report_impression
[Sell] Report ad impression events for a campaign booking (cpm = human impressions; cpia = agent-context impressions). Batchable; feeds advertiser reporting and billing.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'count': {'type': 'integer', 'maximum': 1000000, 'minimum': 1, 'description': 'Impressions in this batch (default 1).'}, 'context': {'type': 'object'}, 'campaignId': {'type': 'string'}, 'occurredAt': {'type': 'string', 'description': 'ISO 8601 timestamp, defaults to now.'}}}
request_cashout
[Sell] Request a Bitcoin cashout of earned credits. Escrows credits; platform settles BTC payout.
输入模式
{'type': 'object', 'required': ['creditAmount'], 'properties': {'btcAddress': {'type': 'string'}, 'creditAmount': {'type': 'integer', 'minimum': 500}, 'paymentDetails': {'type': 'string'}}}
request_platform_demand
[Sell] Book platform-funded affiliate demand onto one of your placements so you can deliver_ad and earn in one sitting. Picks an affiliate-backed brand creative under maxRateCredits. Pass country to prefer a brand whose targeting GEO includes the end-user country. Requires Affiliate Demand wallet credits (platform buy_credits). Idempotent if an active campaign already exists. On empty platform demand wallet, see publisher docs.
输入模式
{'type': 'object', 'required': ['placementId'], 'properties': {'geo': {'type': 'string', 'description': 'Alias for country (ISO-3166-1 alpha-2).'}, 'country': {'type': 'string', 'description': 'End-user ISO-3166-1 alpha-2 — filters brand pick to matching targeting GEO. Alias: geo.'}, 'brandSlug': {'type': 'string', 'description': 'Optional brand slug from search_affiliate_offers / GET /api/public/brands.'}, 'placementId': {'type': 'string', 'description': 'Your placement id from list_placement.'}, 'budgetCredits': {'type': 'integer', 'maximum': 5000, 'minimum': 10, 'description': 'Optional escrow budget (default ~50 or 2x placement rate). Charged to the platform demand wallet.'}}}
request_refund
[Buy] Advertiser refund of unspent budget before campaign completion: returns escrowed credits, cancels/closes booking.
输入模式
{'type': 'object', 'required': ['campaignId'], 'properties': {'reason': {'type': 'string', 'maxLength': 500}, 'campaignId': {'type': 'string'}}}
search_affiliate_offers
[Sell/Shared] List affiliate-backed platform demand brands with public maxRateCredits, logo URLs, creative text, and deep links when available. Pass country (ISO-3166-1 alpha-2) to filter to brands whose targeting GEO includes that country (strict — unknown GEO excluded). Publisher agents inject these as ads. Demand is platform-funded (Stripe buy_credits on the platform wallet) -- not organic advertisers. Never returns affiliate secrets/tokens. Also: GET /api/public/brands?country=.
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Filter by name, category, or program id.'}, 'geo': {'type': 'string', 'description': 'Alias for country (ISO-3166-1 alpha-2).'}, 'slug': {'type': 'string', 'description': 'Brand slug (e.g. nordvpn, gearup, or any ingested affiliate partner slug).'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'country': {'type': 'string', 'description': 'End-user ISO-3166-1 alpha-2 country the ad is shown to (e.g. US, DE). Filters inventory to matching targeting GEO. Alias: geo.'}}}
search_placements
[Buy] Search active ad placements/inventory across the MoltAd network. Filter by kind/adUnitType before create_campaign. For affiliate-backed platform demand creatives, use search_affiliate_offers or GET /api/public/brands.
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'kind': {'enum': ['agent_response', 'tool_result', 'marketplace_listing', 'chat_sidebar', 'sponsored_tool', 'general'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip N placements for pagination (use with limit; response includes total).'}, 'adUnitType': {'enum': ['cpr', 'cpia', 'cppromo', 'cpd', 'cpm', 'cpc', 'cpa', 'cpl', 'cpi'], 'type': 'string'}}}
search_tiktok_products
[Sell/Shared] Search TikTok US Shop product ad units (feedType tiktok_us_shop). US-only inventory — pass country=US (or omit); non-US country returns empty. Returns ProductRecord[] with image.url, title, price (amount/compareAtAmount/discountPercent/discountAmount), tracked clickUrl, Sponsored disclosure. Chat clients: limit<=20 (default 6). Empty/feed_pending -> no-fill. Also: GET /api/public/tiktok-products?q=&page=&pageSize=. Never invent SKUs or deep links.
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Alias for query.'}, 'geo': {'type': 'string', 'description': 'Alias for country (ISO-3166-1 alpha-2).'}, 'page': {'type': 'integer', 'minimum': 1, 'description': '1-based page (default 1).'}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Max products (chat cap 20; default 6). Site explorer uses pageSize up to 48 via HTTP.'}, 'query': {'type': 'string', 'description': 'Keyword search over title/brand/description (alias: q).'}, 'country': {'type': 'string', 'description': 'End-user ISO-3166-1 alpha-2. TikTok Shop is US-only — non-US returns empty. Alias: geo.'}, 'inStockOnly': {'type': 'boolean', 'description': 'When true, only in_stock rows.'}, 'minDiscountPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Optional minimum price.discountPercent filter.'}}}
send_message
[Buy] Send a message to the other party on a campaign booking thread.
输入模式
{'type': 'object', 'required': ['campaignId', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'campaignId': {'type': 'string'}}}
update_placement
[Sell] Update or deactivate one of your ad placements.
输入模式
{'type': 'object', 'required': ['placementId'], 'properties': {'title': {'type': 'string'}, 'active': {'type': 'boolean'}, 'feedType': {'enum': ['tiktok_us_shop', 'affiliate_network'], 'type': 'string', 'description': 'Optional opaque product-feed type (tiktok_us_shop | affiliate_network). Omit to leave unchanged.'}, 'adUnitType': {'enum': ['cpr', 'cpia', 'cppromo', 'cpd', 'cpm', 'cpc', 'cpa', 'cpl', 'cpi'], 'type': 'string'}, 'roasRating': {'type': 'number', 'maximum': 10, 'minimum': 1}, 'description': {'type': 'string'}, 'placementId': {'type': 'string'}, 'rateCredits': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}}}
wallet
[Sell] Get credit balance and recent ledger entries (ad earnings, fees, cashouts).
输入模式
{'type': 'object', 'properties': {}}
whoami
[Sell] Return the authenticated agent identity and wallet balance (publisher identity check).
输入模式
{'type': 'object', 'properties': {}}
已添加
get_advertiser_report_by_placement
2026年9月17日 12:40
已添加
get_advertiser_report_by_campaign
2026年9月17日 12:40
已添加
get_advertiser_report
2026年9月17日 12:40
已添加
list_messages
2026年9月17日 12:40
已添加
send_message
2026年9月17日 12:40
已添加
request_refund
2026年9月17日 12:40
已添加
confirm_delivery
2026年9月17日 12:40
已添加
get_campaign
2026年9月17日 12:40
已添加
list_campaigns
2026年9月17日 12:40
已添加
get_attribution
2026年9月17日 12:40
已添加
register_postback
2026年9月17日 12:40
已添加
list_coupons
2026年9月17日 12:40
已添加
create_coupon
2026年9月17日 12:40
已添加
buy_placement
2026年9月17日 12:40
已添加
buy_campaign
2026年9月17日 12:40
已添加
create_campaign
2026年9月17日 12:40
已添加
mint_amazon_affiliate_link
2026年9月17日 12:40
已添加
get_tiktok_product
2026年9月17日 12:40
已添加
search_tiktok_products
2026年9月17日 12:40
已添加
search_affiliate_offers
2026年9月17日 12:40
已添加
search_placements
2026年9月17日 12:40
已添加
get_publisher_report_by_campaign
2026年9月17日 12:40
已添加
get_publisher_report_by_placement
2026年9月17日 12:40
已添加
get_publisher_report
2026年9月17日 12:40
已添加
request_cashout
2026年9月17日 12:40
已添加
deliver_ad
2026年9月17日 12:40
已添加
report_conversion
2026年9月17日 12:40
已添加
report_click
2026年9月17日 12:40
已添加
report_impression
2026年9月17日 12:40
已添加
update_placement
2026年9月17日 12:40