Skip to main content
Glama
Eweol

telegram-bot-mcp

by Eweol

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_meA

Return basic information about the bot (id, username, name, etc.).

get_chatA

Return information about a chat (group, channel, or private).

get_chat_member_countC

Return the number of members in a chat.

send_messageB

Send a text message to a Telegram chat.

send_photoC

Send a photo to a Telegram chat.

send_documentC

Send a file/document to a Telegram chat.

send_locationB

Send a geographic location to a Telegram chat.

send_pollB

Send a poll to a Telegram chat.

edit_message_textC

Edit the text of an existing message.

delete_messageC

Delete a message from a chat.

list_chatsA

List all known chats the bot can send messages to.

Combines two sources:

  • Persistent discovery: fetches new Telegram updates, extracts chats, and saves them to disk. Subsequent calls return the cached list instantly plus any newly discovered chats.

  • Static config: chats defined via the KNOWN_CHATS environment variable (format: "Name=chat_id,Name2=chat_id2") are always included.

Returns a dict with:

  • chats: list of {chat_id, name, type, username, source}

  • hint: what to tell the user if their desired chat is not in the list

Use the chat_id value with send_message and other tools. If the desired chat is missing, communicate the hint to the user and call list_chats again after they have followed the instructions.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct action or resource: chat operations (get_chat, get_chat_member_count, list_chats), message sending by type (send_message, send_photo, send_document, send_location, send_poll), and message editing/deletion (edit_message_text, delete_message). The send_* tools are clearly differentiated by content type, and get_me is a distinct bot-info operation.

Naming Consistency4/5

The naming follows a mostly consistent verb_object pattern: get_chat, send_message, send_photo, delete_message, list_chats, edit_message_text, get_me, get_chat_member_count. The only slight deviation is get_chat_member_count (three-word object) and get_me (pronoun instead of noun), but these are minor and not confusing.

Tool Count5/5

At 11 tools, the server is well-scoped for a Telegram bot MCP. Each tool covers a common, distinct Telegram operation without bloat. There is no overlap, redundancy, or superfluous tools.

Completeness4/5

The tool set covers core Telegram operations well: sending (all message types), editing, deletion, chat discovery, and bot info. Minor gaps include no ability to send stickers/video/audio, no pin/unpin message, no forward_message, and no reply-to support beyond basic sending, but these are edge operations not essential for most bot workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues