Skip to main content
Glama
ads-telegram-mcp

ads-telegram-mcp

by Draniev

get_account_report

Read-onlyIdempotent

Retrieve a calendar-month report of active ads and per-ad totals for a Telegram Ads account, using the provided account ID or configured default.

Instructions

Get per-ad totals for a calendar month.

Returns a report of active ads for the given year and month. Monetary values use each item's currency.

Omitted account_id uses TELEGRAM_ADS_ACCOUNT_ID if set, otherwise the token owner's account.

Input Schema

NameRequiredDescriptionDefault
yearYes
monthYes
account_idNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so credit goes to what the text adds: only active ads are reported, monetary values follow each item's currency, and account_id falls back to TELEGRAM_ADS_ACCOUNT_ID then the token owner's account. The fallback resolution chain is real behavioral information an agent cannot get from the schema.

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?

Front-loaded with the core function and kept to four short lines with no filler. The second sentence ("Returns a report of active ads for the given year and month") largely restates the first, which is the only notable redundancy.

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?

An output schema exists, so return shape need not be described, and the description still adds output-relevant facts (active ads only, per-item currency). The main remaining gap is disambiguation from the sibling stats tools, which matters for a report tool in a crowded family.

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 coverage is 0%, so the description must compensate, and it does so only for account_id (the env-var/token-owner default chain). Year and month get no added meaning beyond "calendar month" and the schema's own 1-12 / 2021-2100 bounds, and nothing is said about timezone or month-boundary handling.

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

Purpose4/5

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

"Get per-ad totals for a calendar month" gives a specific verb (get), resource (account report / per-ad totals), and granularity (calendar month). It partially separates itself from the stats siblings by specifying a per-ad breakdown over a monthly window, though it never names get_account_stats or get_ads_stats directly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent can infer "use this for a monthly per-ad breakdown" from the scope wording. With four stats-related siblings (get_account_stats, get_ad_stats, get_ads_stats, this tool) there is no explicit when-to-use/when-not or alternative routing rule.

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