Telegram MCP Server
Allows Claude to access a Telegram account to read chats, view messages, send messages, mark messages as read, and retrieve conversation context to formulate natural-sounding replies.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Telegram MCP Servercheck my unread messages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Telegram MCP Server
Connect Claude to your Telegram account to read and send messages.
Features
Most chats, users, and groups can be referenced by numeric id, @username,
phone number, t.me link, or the literal "me" — the server resolves them for
you (and warms Telethon's entity cache automatically so raw ids work too).
Available Tools
Reading
get_me – Info about the authenticated account
get_chats – Paginated list of chats (names, ids, unread counts, pinned state); supports archived chats
get_messages – Paginated message history for a chat (marks it read); includes media and reaction info
search_messages – Search by text, globally or within a single chat
get_pinned_messages – List pinned messages in a chat
get_entity_info – Look up a user/group/channel by id, username, phone, or link
get_participants – List members of a group or channel
Sending & editing
send_message – Send text (Markdown), optionally as a reply
edit_message – Edit a message you sent
delete_messages – Delete messages (for everyone or just you)
forward_messages – Forward messages between chats
send_reaction – Add or clear an emoji reaction
pin_message / unpin_message – Pin or unpin messages
mark_messages_read – Mark a chat's unread messages as read
Media
send_file – Send a photo, video, document, or voice note from disk
download_media – Download a message's attached media to disk
Contacts & users
get_contacts – List saved contacts
add_contact / delete_contact – Manage contacts
block_user / unblock_user – Block management
Chat & channel management
create_group – Create a basic group
create_channel – Create a channel or supergroup
join_chat / leave_chat – Join (by username or invite link) or leave
archive_chat – Archive / unarchive a chat
mute_chat – Mute / unmute notifications
Style-aware drafting
get_conversation_context – Recent messages + your
convostyle.txtguide so Claude can match your texting style
Related MCP server: io.github.daedalus/mcp-telegram-bot
Setup Guide
Step 1: Get Telegram API Credentials
Log in and create an application
Save your API ID and API Hash
Step 2: Install
# Clone the repository
git clone https://github.com/alexandertsai/mcp-telegram
cd mcp-telegram
# Set up Python environment
pip install uv
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv syncStep 3: Configure
# Copy the example file
cp .env.example .env
# Edit .env and add your API credentials:
# TELEGRAM_API_ID=your_api_id_here
# TELEGRAM_API_HASH=your_api_hash_hereStep 4: Authenticate
From the repository root:
uv run telegram-authFollow the prompts:
Enter your phone number (with country code, e.g., +1234567890)
Enter the code sent to your Telegram
Enter your 2FA password if you have one
This writes TELEGRAM_SESSION_STRING to your .env.
Step 5: Add to Claude Desktop
Find your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this configuration (replace the path with your clone's location):
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-telegram", "run", "telegram-mcp"]
}
}
}If uv isn't on Claude Desktop's PATH, use its absolute path (which uv).
Alternatively, point command at your venv's Python and use
["-m", "mcp_telegram"] as the args, with cwd set to the repo root.
Restart Claude Desktop.
Usage
After setup, you can ask Claude to:
"Check my Telegram messages"
"Send a message to [contact name]"
"What are my unread chats?"
"Reply to the last message from [contact name]"
Style Guide (Optional)
Create src/mcp_telegram/convostyle.txt to help Claude match your texting style:
I text casually with friends, formally with work contacts.
I use emojis sparingly and prefer short messages.Troubleshooting
Authentication Issues
If authentication fails:
Check your API credentials in
.envRemove the TELEGRAM_SESSION_STRING line from
.envRun
uv run telegram-authagain
Common Errors
"Please set TELEGRAM_API_ID and TELEGRAM_API_HASH": Missing
.envfile or credentials"Session string is invalid or expired": Re-run authentication
2FA password not showing: This is normal - keep typing
Requirements
Python 3.10+
Claude Desktop
Telegram account
License
Apache 2.0
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/alexandertsai/mcp-telegram'
If you have feedback or need assistance with the MCP directory API, please join our Discord server