telegram-ads-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TELEGRAM_ADS_ACCOUNT | No | Substring match against the account name shown on the Telegram Ads 'Choose Account' screen, used to select which account's ads the tools operate on. Optional when your login has exactly one account; required when multiple accounts are available. | |
| TELEGRAM_ADS_AUTH_STATE | No | Absolute path to the saved Playwright session file. Overrides the default lookup (~/.config/telegram-ads-mcp/auth_state.json, falling back to ./auth_state.json in the current directory). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List Telegram Ads accounts available for this login session. |
| list_adsA | List all ads with full table columns (id, metrics, budget, status, date). |
| get_ad_infoC | Read ad form fields. Targeting chips are read-only for existing ads. |
| update_adA | Update ad info fields (not CPM/budget). Requires confirm=True to save; default is dry-run. |
| set_cpmA | Set CPM via /edit_cpm modal. Requires confirm=True to execute; default is dry-run. |
| set_statusA | Set ad status (Active / On Hold) via /edit_status modal. Requires confirm=True to execute; default is dry-run. |
| increase_budgetA | Add TON to ad budget (delta). Financial — requires confirm=True to execute; default is dry-run. |
| set_budgetA | Set target budget by computing delta from current. Financial — requires confirm=True to execute; default is dry-run. |
| get_ad_stats_csvB | Download stats CSV. Requires confirm=True to actually download; default is dry-run. |
| create_adB | Create new ad. Financial — requires confirm=True. Clears draft by default. |
| get_account_budgetA | Read-only: per-ad budgets on /account/budget. Fragment top-up is manual. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool has a clear, distinct purpose. Operations like set_budget and increase_budget handle different budget manipulations, and other tools cover creation, reading, listing, and updating without overlap.
All tool names follow a consistent snake_case verb_noun pattern (e.g., create_ad, list_accounts, set_cpm), making the set predictable and easy to navigate.
With 11 tools, the set covers essential CRUD and management operations for Telegram Ads without being excessive or insufficient for the domain.
Core operations are present: create, read (info, stats, list), update (fields, budget, CPM, status). However, a delete ad tool is missing, which is a minor gap for full lifecycle management.