README.md

June 3, 2026 · View on GitHub

Hero image

Python Version License: MIT Docker Ready Health Status Glama Score

Fast MCP Telegram Server — MCP/HTTP Gateway for Telegram — Multi-tenant, MTProto User API, 8 context-efficient tools

Try the Demo

  1. Open https://tg-mcp.l1979.ru/setup and complete authentication
  2. Copy your Bearer token from the setup page

Then choose your path:

MCP Client (AI assistants)

  • Download the mcp.json file
  • Add the server to your AI client and ask: "send hello to my saved messages in telegram"

Direct API (curl)

  • Run the command below (replace TOKEN with yours):
curl -X POST "https://tg-mcp.l1979.ru/mtproto-api/messages.SendMessage" \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"params": {"peer": "me", "message": "Hello!"}}'

Features

FeatureDescription
:building_construction: Dual TransportStdio for local MCP clients, HTTP for remote deploys (http-auth production, optional http-no-auth for dev)
:closed_lock_with_key: Multi-User AuthenticationShared http-auth server: one Bearer token per user, one Telegram account per MCP connection; session isolation and LRU cache
:dart: AI-Optimized8 consolidated tools vs 80+ micro-tools — context-efficient design, LLM-friendly API, MCP ToolAnnotations
:globe_with_meridians: HTTP-MTProto BridgeDirect curl access to any Telegram API method with entity resolution and safety guardrails
:shield: Session ACLOpt-in per-principal limits on http-auth (ACL_ENABLED) — chat lanes, read_only, blocked_peers, allow_mtproto, ACL_DENY_UNLISTED_PRINCIPALS; see SECURITY.md
:tv: Web Setup InterfaceBrowser-based authentication flow with immediate config generation
:label: One Agent, Multiple AccountsOptional PREFIX_MCP_TOOLS_WITH_ACCOUNT — when one agent uses several MCP connections (same server, different tokens), prefixes tool names so they do not collide; not needed for standard multi-user hosting
:rocket: MTProto Proxy SupportConnect via MTProto proxy with automatic Fake TLS (EE prefix) and standard proxy detection
:card_file_box: Unified Session ManagementSingle configuration system for setup and server; per-token session files on shared multi-user hosts
:mag_right: Intelligent SearchGlobal & per-chat message search with multi-query support and intelligent deduplication
:mag: Unified Message APISingle get_messages tool for search, browse, read by IDs, and replies - 5 modes in one
:speech_balloon: Universal RepliesGet replies from channel posts, forum topics, or any message with one parameter
:busts_in_silhouette: Smart Contact DiscoverySearch users, groups, channels with uniform entity schemas, forum detection, profile enrichment
:file_folder: Folder FilteringFilter chats by dialog folder (archived, custom folders) with integer ID or name matching
:envelope: Advanced MessagingSend, edit, reply, post to forum topics, formatting, file attachments, and phone number messaging
:paperclip: Secure File HandlingRich media sharing with SSRF protection, size limits, album support, optional HTTP attachment streaming
:outbox_tray: Inline File UploadsData: URI (base64) file uploads in files param — work in all transport modes, filenames preserved, images sent as photos
:microphone: Voice TranscriptionAutomatic speech-to-text for Premium accounts with parallel processing and polling
:zap: High PerformanceAsync operations, parallel queries, and memory-conscious batching
:shield: Production ReliabilityAuto-reconnect, configurable logging, comprehensive error handling

Quick Start

1. Install and authenticate

uvx --from fast-mcp-telegram fast-mcp-telegram-setup \
  --api-id="your_api_id" \
  --api-hash="your_api_hash" \
  --phone-number="+123456789"

Sessions are stored in ~/.config/fast-mcp-telegram/.

Bot token alternative: Set BOT_API_TOKEN instead of --phone-number to skip OTP. See Installation Guide.

2. Configure MCP Client

stdio mode (local):

{
  "mcpServers": {
    "telegram": {
      "command": "uvx",
      "args": ["fast-mcp-telegram"],
      "env": {
        "API_ID": "your_api_id",
        "API_HASH": "your_api_hash"
      }
    }
  }
}

http-auth mode (remote): See Installation Guide for deploying your own server and authenticating via web interface.

3. Start Using

{"tool": "search_messages_globally", "params": {"query": "hello", "limit": 5}}
{"tool": "get_messages", "params": {"chat_id": "me", "limit": 10}}
{"tool": "send_message", "params": {"chat_id": "me", "message": "Hello!"}}

Deploy to Remote Server

Deploy your own MCP server on a VDS — see Installation Guide for step-by-step instructions.

Available Tools

ToolPurposeKey Features
search_messages_globallySearch across all chatsMulti-term queries, date filtering, chat type filtering
get_messagesUnified message retrievalSearch/browse, read by IDs, get replies (posts/topics/messages), date filtering in all modes
send_messageSend new messageFile attachments (URLs/local/data URIs), formatting (markdown/html), reply to forum topics
edit_messageEdit existing messageText formatting, preserves message structure
find_chatsFind users/groups/channelsMulti-term search, contact discovery, folder filtering, username/phone lookup
get_chat_infoGet detailed profile infoMember counts, bio/about, online status, forum topics, enriched data
send_message_to_phoneMessage phone numbersAuto-contact management, optional cleanup, file support (URLs/data URIs)
invoke_mtprotoDirect Telegram API accessRaw MTProto methods, entity resolution, safety guardrails

See Tools Reference for detailed documentation with examples.

HTTP-MTProto Bridge

Direct curl access to any Telegram API method — available for programmatic integration.

curl -X POST "https://tg-mcp.l1979.ru/mtproto-api/messages.SendMessage" \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"params": {"peer": "me", "message": "Hello from curl!"}}'

Supports any Telegram method, automatic entity resolution, and TL object construction.

Integration examples:

  • CI/CD: send deploy notifications to Telegram channels
  • Monitoring: push alerts and system metrics to admin groups
  • Webhooks: receive external events and forward to Telegram
  • Backup: export chat history to external storage systems
  • Custom bots: extend functionality with external services

See MTProto Bridge for full documentation.

Documentation

License

MIT License - see LICENSE

mcp-name: io.github.leshchenko1979/fast-mcp-telegram