mcp-registry/ad.inside/inside-ads · v1.0.0
As of 2026-10-26 18:05 UTC, the Inside Ads MCP server is up with a Glimind reliability score of 98/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 12 outages in 90 days, with a median recovery of 26 minutes.
Telegram ad exchange: estimate reach and cost with no account, then create and run campaigns.
Point your MCP client at this streamable-http endpoint: https://app.inside.ad/api/mcp
3 of 3 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fad.inside%2Finside-ads/fixes
{
"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
}
}{
"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
}
}{
"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
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/ad.inside/inside-ads"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/ad.inside/inside-ads"}) over MCP.
estimate_campaign ~302 tokenscreate_campaign_draft ~282 tokensget_draft_status ~116 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fad.inside%2Finside-ads?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fad.inside%2Finside-ads?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fad.inside%2Finside-ads.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fad.inside%2Finside-ads.svg :target: https://glimind.com/server/mcp-registry%2Fad.inside%2Finside-ads?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:6eea77b22cc81dfc…, first seen 2026-10-17, included at leaf 2805 of 74,589. Version history · verify what your client received.
Compare: most reliable other servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 18:05 UTC, the Inside Ads MCP server is up with a Glimind reliability score of 98/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 12 outages in 90 days, with a median recovery of 26 minutes.
Inside Ads MCP server advertises 3 tools, including create_campaign_draft, estimate_campaign, get_draft_status.
Point your MCP client at this streamable-http endpoint: https://app.inside.ad/api/mcp
Glimind scanned all 3 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.