Skip to main content
Glama

Server Details

Telegram ad exchange: estimate reach and cost with no account, then create and run campaigns.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct phase of the campaign workflow: estimate_campaign for initial feasibility, create_campaign_draft for generating the draft, and get_draft_status for tracking progress. There is no overlap in purpose.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (estimate_campaign, create_campaign_draft, get_draft_status), making the action and object immediately clear.

Tool Count5/5

Three tools is appropriately scoped for the service: a pre-flight estimate, a creation step, and a status check. No tool feels redundant or missing for the agent's role.

Completeness4/5

The tools cover the core workflow (estimate → create → check status) completely for the agent's interaction. The only minor gap is lacking a way to modify or cancel a draft before the user acts, but the designed flow is linear and doesn't require it.

Available Tools

3 tools
create_campaign_draftAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoOptional ISO-2 country target, e.g. "US"
urlYesLanding page URL of the product to promote (required)
langNoOptional audience language, e.g. "en"
budgetNoIntended budget in USD, used for the estimate shown to the user
descriptionNoWhat the product does, in your own words — improves topic matching

Output Schema

ParametersJSON Schema
NameRequiredDescription
draftIdYesPoll get_draft_status with this to see whether the user paid.
estimateNoSame shape as estimate_campaign, for the budget given.
expiresAtYesISO timestamp after which the link stops working.
adsCreatedNoHow many ad variants were generated.
campaignIdNo
checkoutUrlYesTHE link to give the user. One click: sign in, review creatives, pay.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses key behaviors: parsing the landing page, generating ad creatives, returning a checkout link, and the post-flow authentication. However, it omits details about idempotency, error scenarios, or potential side effects like rate limits or resource cleanup, leaving a small gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (about 80 words) and structured well. The first sentence immediately states the core purpose and key constraint. Each sentence adds necessary information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the parameter complexity (5 params, all optional except url), the presence of an output schema, and two sibling tools, the description covers the essential workflow and integration points. It does not detail the output schema (unnecessary due to its existence) but could briefly mention expected return type or edge cases. Still, it is nearly complete for the tool's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds mild context beyond schema: it links 'url' to page parsing and 'description' to topic matching. It does not add new semantics for 'geo', 'lang', or 'budget' beyond their schema descriptions, so it only marginally enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Build a ready-to-launch ad campaign' and specifies the resource 'for a product'. It explicitly differentiates from siblings by noting this tool is used after 'estimate_campaign' and that it works without a user account, avoiding confusion with 'get_draft_status'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context: 'Use this after estimate_campaign, once the user agreed to advertise. Do NOT ask them to register first.' It clearly states the ordering and the condition under which this tool should be invoked, leaving no ambiguity about its place in the workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_campaignAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoOptional ISO-2 country filter, e.g. "US"
urlNoProduct landing page URL
langNoOptional audience language filter, e.g. "en"
budgetNoBudget in USD to estimate against (default 100)
keywordsNoOptional topic keywords, e.g. ["devtool","ai"]
descriptionNoWhat the product does, in your own words. Strongest signal for topic matching.

Output Schema

ParametersJSON Schema
NameRequiredDescription
budgetYesBudget the estimate was computed for, in USD
cpmUsdNoReach-weighted average CPM across matched segments
cpcRangeNoImplied cost per click in USD, derived from CPM and the CTR band.
currencyYes
dailyReachNoTotal daily impressions available in matched segments
assumptionsNo
deliveryDaysNoRoughly how many days it takes to deliver estimatedImpressions at the current daily reach.
sampleSegmentsNoMatched inventory segments. Individual channels are deliberately not disclosed.
estimatedClicksYesRange, not a point estimate. Report both ends to the user.
inventoryIsThinYestrue = there is no matching inventory at all, OR the budget exceeds what the matched inventory can deliver. Say so plainly instead of promising results, and use spendableBudget as the realistic figure.
spendableBudgetNoHow much of the budget this inventory can actually absorb within 30 days. If it is lower than budget, tell the user to either lower the budget or widen targeting — do not promise the full budget will be spent.
matchedCategoriesNo
estimatedImpressionsYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description correctly states that no account or authorization is required, which is critical behavioral context. It implies the tool is a read-only estimation (no side effects mentioned), but could explicitly state idempotency or that it does not create any resource. The presence of an output schema partially covers return values, but the description could be slightly more explicit about safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences each serve a distinct purpose: defining the tool, specifying when to call it and what it returns, and offering practical advice. No redundant or wasted content; every sentence is essential and front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 optional parameters, output schema present, sibling tools), the description covers core purpose, usage order, and a critical parameter hint. It does not detail error scenarios or behavior when filters yield no results, but the output schema likely covers the return structure. Overall, it provides sufficient context for effective selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented. The description adds meaning by emphasizing the 'description' parameter as the strongest signal and warning that 'the URL alone is a weak signal', which guides proper usage. This extra context raises the value above the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool estimates 'reach, clicks and cost' for 'advertising a product to Telegram audiences', using specific verbs and a clear resource. It distinguishes itself from siblings by positioning it as the first step before account connection, effectively differentiating from create_campaign_draft and get_draft_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: 'Call this FIRST, before asking the user to connect an account'. It explains what the tool tells you (inventory relevance and budget capabilities) and advises on best practice ('Describe the product yourself...the URL alone is a weak signal'), leaving no ambiguity about when and how to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_draft_statusAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
draftIdYesdraftId returned by create_campaign_draft

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNoWhat to tell the user next.
statusYes'created' — link not opened yet; 'previewed' — user opened it but has not finished; 'claimed' — campaign is on the user's account; 'expired' — link is dead, build a new draft.
draftIdYes
claimedAtNo
createdAtNo
expiresAtNo
campaignIdNo
previewedAtNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description bears full responsibility. It discloses the tool is meant for polling and returns status about user actions (opened, signed in, paid). However, it does not describe side effects, idempotency, or rate limits. While adequate, it could be more transparent about safe repeated calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first states purpose and details, second gives usage guidance. No filler words, front-loaded with action and resource. Every sentence contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 param, output schema present) and sibling tools, the description completely covers what the tool does, when to poll, and what outcomes to expect. No gaps for an agent to select or invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter with schema description). The description adds value by specifying that draftId is the one 'returned by create_campaign_draft', providing origin context beyond the schema. This enhances understanding of how to obtain the identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks the status of a campaign draft (opened link, signed in, paid). It uses a specific verb 'check' and resource 'campaign draft status'. It distinguishes from siblings: create_campaign_draft (creates) and estimate_campaign (estimates), making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to 'Poll this instead of asking the user to report back', indicating when to use (after creation, via polling). It implies not to rely on user reports but doesn't explicitly contrast with siblings or state when not to use. The context is clear enough for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    MCP server for buying advertising outcomes such as Telegram subscribers and website traffic from a prepaid balance. Provides tools for campaign management, forecasting, and budget control, with guardrails so agents can spend but not fund or withdraw.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that lets AI agents read and manage Telegram Ads campaigns, including listing accounts and ads, reading stats and budgets, and creating/updating ads, CPM, status, and budget by driving the real ads.telegram.org web UI through Playwright with a reused cookie-based login session.
    11
    1
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Read public Telegram channels from AI agents — channel metadata, posts, comments, and search. No MTProto, no Telethon, no api_id.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources