telegram-call-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | stderr logging verbosity. | INFO |
| TTS_MODEL | No | Any TTS model on OpenRouter's /audio/speech endpoint. | fish-audio/s1 |
| TTS_VOICE | No | Voice name, if the model supports it. | |
| TTS_BASE_URL | No | Any OpenAI-compatible audio API works. | https://openrouter.ai/api/v1 |
| TELEGRAM_PROXY | No | socks5://host:port or http://host:port for MTProto (Telethon ignores HTTP_PROXY). | |
| TELEGRAM_API_ID | Yes | API ID from my.telegram.org (required). | |
| CALL_REPEAT_PAUSE | No | Pause between repeats, seconds. | 2 |
| TELEGRAM_API_HASH | Yes | API hash from my.telegram.org (required). | |
| MAX_MESSAGE_LENGTH | No | Message length cap after sanitization. | 500 |
| OPENROUTER_API_KEY | Yes | OpenRouter API key for TTS (required). | |
| CALL_ANSWER_TIMEOUT | No | Seconds to wait for the callee to answer. | 45 |
| CALL_TARGET_USER_ID | Yes | Numeric Telegram user ID to call (required). | |
| TELEGRAM_SESSION_PATH | No | Session file location (without .session). | ~/.telegram-call-mcp/telegram |
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 |
|---|---|
| make_callA | Place a real Telegram voice call to the owner and speak the message aloud. Use this when something is urgent enough to interrupt the owner with a
ringing phone call — a critical incident, a failed deployment, anything
they asked to be actively alerted about. The call rings like a normal
Telegram call; once answered, the synthesized message plays |
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 1 tool
There is only one tool in this server, so there is no possibility of overlap or confusion between tools. The tool's purpose is clearly distinct because it is the sole capability provided.
The single tool uses a clear verb_noun convention (`make_call`), which is consistent and intuitive. With only one tool, there are no naming conflicts or style inconsistencies to evaluate.
The server has only one tool, which is at the lower boundary of the typical range. While the narrow purpose of making Telegram calls could justify a single tool, the count feels thin compared to more comprehensive servers, making it borderline.
The tool fully covers the stated domain: it places a call, delivers a spoken message, and reports the call outcome. There are no obvious missing operations for this specific use case, as calls are ephemeral and require no update or delete actions.