{"serverId":"mcp-registry/ad.inside/inside-ads","tools":[{"name":"create_campaign_draft","fixed":{"name":"create_campaign_draft","description":"Build a ready-to-launch ad campaign for a product WITHOUT the user having an account yet. Parses the landing page, generates ad creatives, and returns a single checkout link. Give that link to the user: they sign in there, the campaign moves to their account, they pay, and it starts. Use this after estimate_campaign, once the user agreed to advertise. Do NOT ask them to register first.","inputSchema":{"type":"object","required":["url"],"properties":{"geo":{"type":"string","description":"Optional ISO-2 country target, e.g. \"US\""},"url":{"type":"string","description":"Landing page URL of the product to promote (required)"},"lang":{"type":"string","description":"Optional audience language, e.g. \"en\""},"budget":{"type":"number","description":"Intended budget in USD, used for the estimate shown to the user"},"description":{"type":"string","description":"What the product does, in your own words — improves topic matching"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":282,"tokensAfter":282},{"name":"estimate_campaign","fixed":{"name":"estimate_campaign","description":"Estimate reach, clicks and cost of advertising a product to Telegram audiences — no account or authorization required. Call this FIRST, before asking the user to connect an account: it tells you whether inside.ad has relevant inventory for this product and what a given budget would buy. Describe the product yourself (you know it better than any crawler); the URL alone is a weak signal.","inputSchema":{"type":"object","properties":{"geo":{"type":"string","description":"Optional ISO-2 country filter, e.g. \"US\""},"url":{"type":"string","description":"Product landing page URL"},"lang":{"type":"string","description":"Optional audience language filter, e.g. \"en\""},"budget":{"type":"number","description":"Budget in USD to estimate against (default 100)"},"keywords":{"type":"array","items":{"type":"string"},"description":"Optional topic keywords, e.g. [\"devtool\",\"ai\"]"},"description":{"type":"string","description":"What the product does, in your own words. Strongest signal for topic matching."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":302,"tokensAfter":302},{"name":"get_draft_status","fixed":{"name":"get_draft_status","description":"Check what happened to a campaign draft you created with create_campaign_draft: whether the user opened the link, signed in and paid. Poll this instead of asking the user to report back.","inputSchema":{"type":"object","required":["draftId"],"properties":{"draftId":{"type":"string","description":"draftId returned by create_campaign_draft"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116}],"toolsChanged":3,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}