Labsco
MCP SERVER

MCP Telegram

by Prgebish

Read and send Telegram messages as yourself, with a whitelist deciding which chats are in reach.

Team Chat Platforms
Summary
Telegram becomes readable without a bot account.

Running on the User API means it sees what you see, including the private chats a bot could never join. The per-tool permissions and the chat whitelist are the counterweight: read, send, draft and mark-read are separate grants, so an assistant can be allowed to catch you up without being allowed to reply.

What it is

A Go MCP server that connects to a real Telegram account over the User API (MTProto) rather than as a bot. Each tool sits behind a named permission, and the chats it can see are limited by an access whitelist.

What you get
  • Dialogs listed, limited to the chats the whitelist allows
  • Message history fetched with pagination, date filtering and media download
  • Messages searched inside a chat by text, with an optional sender filter
  • Text or a file sent, with an optional reply-to
  • Messages forwarded from one chat to another
  • A draft saved without sending it
  • A chat marked read
  • Typed peer references and lazy peer resolution, which is what keeps rate-limit waits out of startup
Requirements

Your own api_id and api_hash from my.telegram.org, and Go 1.26 or newer. Telegram's API terms govern use of the User API, and the account it acts as is your own.

Setup effort

One command plus a key — go install github.com/Prgebish/mcp-telegram/cmd/mcp-telegram@latest, then supply credentials