# fast-mcp-telegram MCP server

Multi-tenant Telegram gateway for AI agents — HTTP+stdio, MTProto User API

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-leshchenko1979-fast-mcp-telegram
- Repository: https://github.com/leshchenko1979/fast-mcp-telegram
- Website: https://github.com/leshchenko1979/fast-mcp-telegram

## Install
- Command: `uvx fast-mcp-telegram`
- Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Package: Pypi fast-mcp-telegram v0.35.0
- Environment variable: API_ID (required)
- Environment variable: API_HASH (required; secret)
- Environment variable: SERVER_MODE (default stdio)
- Environment variable: SESSION_DIR
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://tg-mcp.l1979.ru/v1/mcp

## Tools
- search_messages_globally (Search messages globally) - Search all Telegram chats at once (not scoped to one chat). Comma-separated query terms; optional filters by date, chat kind, and public username. Success: message list and metadata dict. Global search ignores include_total_count. Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- get_messages (Get messages in chat) - Read or search messages in one chat: browse latest, search text, fetch by ids, or load replies to a message (comments, forum topics, threads). Use from_user to filter by sender (server-side, per-chat only). Use context to include neighboring messages and reply chains around each result. Use include_replies to fetch up to 5 direct replies per result. Do not combine message_ids with query or reply_to_id. Success: messages, has_more, optional total_count and discussion fields.  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- send_message (Send message) - Send text and optional file attachments to a Telegram chat. Supports reply-to (including forum topics and channel discussion groups), parse_mode: classic markdown/html/auto (entities) or rich (Rich Message document; dialect auto-detected). parse_mode=rich cannot be combined with files. File attachments as http(s) URLs, local paths, or data: URIs. When files are provided, the message text becomes a caption. For channel posts with reply_to_id, automatically posts in the linked discussion group. Success: dict with message_id, date, chat, text, status='sent', and sender info (rich messages also set rich=true and rich_format). Error: dict with ok=false and error string. Use send_message to create new messages; use edit_message to modify existing ones. Use send_message_to_phone when targeting a phone number instead of a chat_id.  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- edit_message (Edit message) - Replace the text of an existing message in a Telegram chat. Only works on messages sent by the authenticated account. Cannot edit media or other message attributes — text only. parse_mode: classic markdown/html/auto or rich (Rich Message; dialect auto-detected). Success: dict with message_id, date, chat, text, status='edited', and edit_date (rich messages also set rich=true and rich_format). Error: dict with ok=false and error string (e.g. message not found or not editable). Use edit_message to update a previously sent message; use send_message to create new ones.  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- find_chats (Find chats) - Find users/groups/channels by name, username, or phone. Comma-separated usernames are searched in parallel and results are merged round-robin. Global search (query required) searches all Telegram; with min_date, max_date, or filter, search uses dialog list or a named filter; include_peers filters use last-activity from GetPeerDialogs; flag-based filters use dialog list dates. Success: dict with key chats (list of chat objects).  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- get_chat_info (Get chat info) - Load profile and metadata for one user, bot, group, or channel. Success: info dict; forum chats may include topics up to topics_limit; user targets may include common_chats up to common_chats_limit.  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- send_message_to_phone (Send message to phone) - Send to a phone number: may create a temporary contact, then send text or files. Supports parse_mode: classic markdown/html/auto or rich (Rich Message; dialect auto-detected). parse_mode=rich cannot be combined with files. Success: send result plus contact_was_new / contact_removed when applicable.  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp
- invoke_mtproto (Invoke MTProto) - Low-level Telegram API (MTProto) invoke for methods not wrapped by other tools. Dangerous methods require allow_dangerous=true. Success: API result dict or normalized error.  Full documentation: https://github.com/alexeyleshchenko/fast-mcp-telegram/blob/main/docs/Tools-Reference.md Endpoint: https://tg-mcp.l1979.ru/v1/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.leshchenko1979
- Version: 0.36.0
- Runtime: Pypi
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 18, 2026
- Source: https://registry.modelcontextprotocol.io
