Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BOT_TOKENYesThe token provided by @BotFather for your Telegram bot.
WHISPER_MODELNoThe Whisper model to use for local voice transcription.onnx-community/whisper-base
ALLOWED_CHAT_IDYesThe chat ID where outbound messages are restricted to. Outbound tool calls to any other chat are rejected.
ALLOWED_USER_IDYesThe user ID allowed to interact with the bot. Inbound updates from any other user are silently discarded.
WHISPER_CACHE_DIRNoOptional directory where Whisper model weights are cached.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "subscribe": true,
  "listChanged": true
}
experimental
{
  "claude/channel": {}
}

Tools

Functions exposed to the LLM to take actions

NameDescription
helpA

Discovery for this MCP server. No args -> overview. topic: 'index' -> topic menu. topic: 'guide' -> comms guide. topic: '<tool/topic>' -> detailed help.

dequeueA

Consume queued updates. Non-content events drain first, then up to one content event (text, media, voice) is appended. Returns: { updates, pending? } with data; { timed_out: true } on blocking-wait expiry (call again immediately); { pending? } for instant polls (max_wait: 0); { error: "session_closed", message } (isError: false) when the session queue is gone — stop looping. pending > 0 → call again. Omit max_wait to use session default (action(type: 'profile/dequeue-default'), fallback 300 s); max explicit: 300 s. Pass connection_token (from session/start) to enable duplicate-session detection — the bridge alerts the governor if two callers share the same identity. Call help(topic: 'dequeue') for details.

sendA

Send a message as text, audio (TTS), or both. text only → text message with auto-split and Markdown. audio only → TTS voice note (spoken content). Both → voice note with text as caption (keep brief — topic context before playback). At least one of text or audio is required. For structured status, use notify. For file attachments, use send_file. For interactive prompts, use ask, choose, or confirm. Pass type: "" to route to a specific mode. Call with no args to see available types.

actionA

Universal action dispatcher. Omit type to list all categories. Pass a category (e.g. session) to list sub-paths. Pass a full path (e.g. session/list) to execute. Use help(topic: 'action') for full documentation.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
agent-guideAgent behavior guide for this MCP server. Read this at session start to understand how to communicate with the user and which tools to use.
communication-guideCompact Telegram communication patterns: tool selection, hard rules, commit/push flow, multi-step tasks, and loop behavior.
quick-referenceHard rules + tool selection table for Telegram communication. Minimal injected rules card — full detail in communication-guide.
setup-guideStep-by-step guide to creating a Telegram bot and running pnpm pair to configure this MCP server.
formatting-guideReference for Markdown/HTML/MarkdownV2 formatting in Telegram messages. Consult this when unsure how to format text.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/electrified-cortex/Telegram-Bridge-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server