get_meLABSCO SUMMARY
Your Telegram becomes searchable, and answerable, from where you work.
Because it signs in as your account, the whole history is in scope — so finding the message from three months ago, and replying to it in your own voice, are the same conversation rather than two applications.
What it is
A full Telegram client exposed as tools, signed in as your account rather than as a bot. Chats, users and groups can be referred to by numeric id, @username, phone number, t.me link or the literal "me", and the server resolves whichever you use.
What you get
- Reading: your account details, a paginated chat list with unread counts and pinned state including archived chats, paginated message history, text search globally or in one chat, pinned messages, entity lookup and group membership
- Sending and editing: messages in Markdown with optional replies, edits, deletions for everyone or just you, forwarding between chats, emoji reactions, pinning, and marking a chat read
- Media: photos, videos, documents and voice notes sent from disk, and a message's attachments downloaded to disk
- Contacts: the saved contact list, contacts added, and users blocked
- Chats and channels: groups and channels created, chats joined by username or invite link, archived and muted
- Style-aware drafting: recent messages returned alongside your own style guide file, so a draft can be written the way you write
Requirements
A Telegram API ID and API hash, created at my.telegram.org/apps, plus Python with uv for the environment. It authenticates as your Telegram account, not as a bot, which is what gives it your chat history — and means everything it sends is sent by you.
Setup effort
Build from source — git clone https://github.com/alexandertsai/mcp-telegram
USE CASES
Finding something you know you were told
Search across every chat, or narrow to the one you think it was in, then read the surrounding history for the context that makes it make sense.
Clearing a backlog of unread chats
List chats with their unread counts, read the ones that matter, and mark them read — including the archived ones that quietly accumulate.
Replying in a way that sounds like you
Pull the recent messages together with your style guide file, draft against both, and send the reply from the same connection.
Moving information between conversations
Forward the relevant messages into the chat that needs them and pin the one that matters, rather than retyping or screenshotting.
Sending and collecting files
Send a document, photo or voice note from disk, and download the attachments people send you, so files land in the filesystem rather than in the app.
Setting up a new group or channel
Create the group or channel, look up the people who should be in it, and mute or archive it once it is running.
29 tools
Listed in project docs. Your client may show a different list.
get_chatsget_messagessearch_messagesget_pinned_messagesget_entity_infoget_participantssend_messageedit_messagedelete_messagesforward_messagessend_reactionpin_messageunpin_messagemark_messages_readsend_filedownload_mediaget_contactsadd_contactdelete_contactblock_userunblock_usercreate_groupcreate_channeljoin_chatleave_chatarchive_chatmute_chatget_conversation_contextBEFORE YOU INSTALL
What to know first
Tools you get
29 tools named in the project's documentation.
Requires
Python 3.10+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
# 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 sync
# Copy the example file
cp .env.example .env
# Edit .env and add your API credentials:
# TELEGRAM_API_ID=<YOUR_TELEGRAM_API_ID>
# TELEGRAM_API_HASH=<YOUR_TELEGRAM_API_HASH>
# Sign in (phone number, the code Telegram sends, your 2FA password if you have one);
# this writes TELEGRAM_SESSION_STRING to your .env
uv run telegram-authMCP Clients
Claude Desktop
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_TELEGRAM>",
"run",
"telegram-mcp"
]
}
}
}