Skip to main content
Glama

Preview TG Campaign Audience

preview_tg_campaign_audience
Destructive

[read] Who a Telegram campaign would reach if it started now: eligible count, total_chats of the account, excluded (no_consent, optout, no_recent_inbound, not_selected) and a sample of up to 10 first names. A preview only - nothing is frozen or sent. campaign_id = tg_campaign_id (or pass campaign_uuid). It is answered for the account the campaign is set to send with, or for the one named by account_id / account_uuid ("what if this account sent it"): only people who wrote to THAT account can be reached.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "preview_tg_campaign_audience"
  }
}

Input Schema

NameRequiredDescriptionDefault
account_idNo
campaign_idNo
account_uuidNo
campaign_uuidNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / account_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Account Id"
      +}
    • addedInput schema / properties / account_uuid
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Account Uuid"
      +}
  2. Added

TDQS

A3.7/5.0
Behavior1/5

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

The description explicitly frames the tool as '[read]' and states 'A preview only - nothing is frozen or sent', while the annotations declare readOnlyHint=false and destructiveHint=true. An agent relying on the description would treat this as a safe read and one relying on annotations would treat it as a destructive write, which is a direct conflict. No permissions, rate limits, or error behavior are disclosed to resolve it.

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

Conciseness4/5

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

Two tight paragraphs: the first front-loads the outcome of the call, the second handles identifier semantics. The parenthetical alias list is dense but each clause adds information; only the '[read]' tag is unhelpful since it conflicts with the annotations.

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?

With no output schema, the return-value summary (counts, exclusions, name sample) is exactly what the description should supply, and the account-scoping rule explains a non-obvious eligibility constraint. Gaps remain around failure modes (unknown campaign_id/uuid, missing account) and why the tool is annotated as destructive despite being described as a preview.

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 0%, so the description carries the full burden and does substantial work: it equates campaign_id with tg_campaign_id, offers campaign_uuid as an alternative, and explains the semantic weight of account_id/account_uuid (only people who wrote to THAT account can be reached). It does not say the parameters are all optional or what happens when neither a campaign nor an account identifier is supplied.

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?

States a specific verb and resource ('preview TG campaign audience') and then enumerates exactly what is returned: eligible count, total_chats, the four exclusion buckets, and a sample of up to 10 first names. This clearly separates it from siblings like list_tg_campaign_recipients, which lists actual recipients rather than a hypothetical reach estimate.

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?

Usage context is clear from 'if it started now' and the 'what if this account sent it' framing, which tells an agent this is a pre-launch check rather than a post-send report. What's missing is an explicit pointer to the alternative to use when actual recipient history is wanted (list_tg_campaign_recipients).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.