Skip to main content
Glama
jgalea

telegram-mcp

by jgalea

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": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_chatsA

List all dialogs (groups, channels, DMs) with unread counts

get_chat_infoC

Get details for a specific chat

create_groupC

Create a new group

create_channelC

Create a new channel

archive_chatC

Archive or unarchive a chat

mute_chatB

Mute or unmute notifications for a chat

leave_chatB

Leave a group or channel (DESTRUCTIVE: requires confirm=true)

delete_chatA

Delete a chat (DESTRUCTIVE: requires confirm=true)

mark_readB

Mark a chat as read. For forum supergroups, pass topic_id (1 for the General topic) to also clear the per-topic unread cursor.

read_messagesC

Get recent messages from a chat. For forum supergroups, pass topic_id to scope to a single topic (use 1 for the General topic).

search_messagesB

Search messages by keyword, optionally in a specific chat or chat type

search_regexA

Search cached messages using a regex pattern (runs locally, not against Telegram API)

get_messageC

Get a single message by ID

get_message_repliesC

Get replies/thread for a message

get_scheduled_messagesB

List scheduled messages in a chat

send_messageB

Send a message to a chat. For forum supergroups, pass topic_id to post into a specific topic (1 for the General topic). Combine with reply_to to reply to a specific message within that topic.

edit_messageC

Edit a sent message

delete_messageB

Delete messages (DESTRUCTIVE: requires confirm=true)

forward_messageC

Forward messages to another chat (DESTRUCTIVE: requires confirm=true)

schedule_messageB

Send a message at a future time

send_reactionA

React to a message with an emoji

pin_messageC

Pin a message in a chat

unpin_messageC

Unpin a message in a chat

download_mediaC

Download a photo, video, or document from a message

download_chat_mediaA

Download media files (photos, documents) from a chat in bulk

send_fileB

Send a file or photo to a chat. For forum supergroups, pass topic_id to post into a specific topic (1 for the General topic). Combine with reply_to to reply to a specific message within that topic.

send_voiceC

Send a voice message

send_locationD

Send a location

get_sticker_setsA

List available sticker packs

list_contactsB

List all contacts

get_contactC

Get contact details

get_userC

Get user profile info

block_userA

Block a user (DESTRUCTIVE: requires confirm=true)

unblock_userC

Unblock a user

get_participantsB

List members of a group or channel

add_participantC

Add a user to a group or channel

remove_participantA

Remove a user from a group or channel (DESTRUCTIVE: requires confirm=true)

set_chat_titleC

Change a chat's title

set_chat_descriptionC

Change a chat's description

set_chat_photoB

Change a chat's photo

list_forum_topicsA

List topics in a forum supergroup (e.g. GLC). Returns id, title, unread_count, and flags per topic. The General topic is always id 1.

get_invite_linkB

Generate an invite link for a group or channel

get_admin_logB

Get admin action history for a group or channel

get_meA

Get current account info

get_statusB

Get connection status and session health

get_dialogs_statsA

Get unread counts and chat activity summary

export_chatC

Export messages from a chat as JSON (max 1000 per call)

clear_cacheB

Wipe the local message cache

sync_messagesA

Sync messages from all chats (or a specific chat) into the local SQLite cache for fast offline search and analytics

get_new_messagesA

Get messages newer than a timestamp (polling pattern for real-time awareness)

chat_analyticsB

Get analytics from cached messages: top senders by message count

message_timelineA

Get message counts grouped by time period (hour or day) from the local cache

today_messagesA

Get all messages from today (UTC) from the local cache

export_cached_messagesB

Export messages from the local cache as JSON or CSV, with optional filters

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.6/5.0

Scored across 54 tools

Disambiguation2/5

Several tools have unclear boundaries, especially message retrieval: read_messages, get_new_messages, and today_messages all return messages with different scoping, while search_messages and search_regex overlap and export_chat/export_cached_messages are near-duplicates. download_media/download_chat_media and get_dialogs_stats/list_chats add further ambiguity.

Naming Consistency4/5

The vast majority of tools follow a clean verb_noun snake_case pattern, such as send_message, create_channel, get_participants, and set_chat_title. A few tools like chat_analytics, message_timeline, and today_messages break the verb-first convention, and the use of both 'dialogs' and 'chats' is inconsistent.

Tool Count1/5

54 tools is far beyond the well-scoped 3-15 range and lands in the 50+ extreme category. The surface feels bloated with overlapping retrieval, export, and analytics tools that could be consolidated.

Completeness4/5

Core Telegram workflows are well covered: messaging, scheduling, reactions, media, chat/group/channel lifecycle, participant management, contacts, admin logs, and local analytics. Gaps like forum-topic creation, scheduled-message deletion, and contact write operations are workaround-able rather than fatal.

Maintenance

ActivityInactive
ResponsivenessNo issues