Skip to content

leshchenko1979/fast-mcp-telegram

Repository files navigation

Hero image

Python Version License: MIT Docker Ready

Fast MCP Telegram Server - Production-ready Telegram integration for AI assistants with comprehensive search, messaging, and direct API access capabilities.

Demo

  1. Open https://tg-mcp.l1979.ru/setup to begin the authentication flow.
  2. After finishing, you'll receive a ready-to-use mcp.json with your Bearer token.
  3. Use the config with your MCP client to check out this MCP server capabilities.
  4. Or try the HTTP-MTProto Bridge right away with curl (replace TOKEN):
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 Demo!"}}'

Features

Feature Description
πŸ” Multi-User Authentication Production-ready Bearer token auth with session isolation and LRU cache management
🌐 HTTP-MTProto Bridge Direct curl access to any Telegram API method with entity resolution and safety guardrails
πŸ” Unified Message API Single get_messages tool for search, browse, read by IDs, and replies - 5 modes in one
πŸ’¬ Universal Replies Get replies from channel posts, forum topics, or any message with one parameter
πŸ”Ž Intelligent Search Global & per-chat message search with multi-query support and intelligent deduplication
πŸ—οΈ Dual Transport Seamless development (stdio) and production (HTTP) deployment support
πŸ“ Secure File Handling Rich media sharing with SSRF protection, size limits, album support, optional HTTP attachment streaming
βœ‰οΈ Advanced Messaging Send, edit, reply, post to forum topics, formatting, file attachments, and phone number messaging
🎀 Voice Transcription Automatic speech-to-text for Premium accounts with parallel processing and polling
πŸ—ƒοΈ Unified Session Management Single configuration system for setup and server, with multi-account support
πŸ‘₯ Smart Contact Discovery Search users, groups, channels with uniform entity schemas, forum detection, profile enrichment
πŸ“ Folder Filtering Filter chats by dialog folder (archived, custom folders) with integer ID or name matching
πŸ€– Bot Chat Detection Bots identified with type: "bot" and filterable via chat_type="bot"
⚑ High Performance Async operations, parallel queries, connection pooling, and memory optimization
πŸ›‘οΈ Production Reliability Auto-reconnect, structured logging, comprehensive error handling with clear actionable messages
🎯 AI-Optimized Literal parameter constraints, LLM-friendly API design, and MCP ToolAnnotations
🌐 Web Setup Interface Browser-based authentication flow with immediate config generation
πŸš€ MTProto Proxy Support Connect via MTProto proxy with automatic Fake TLS (EE prefix) and standard proxy detection

Quick Start

1. Install

pip install fast-mcp-telegram

2. Authenticate

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

Or use the web interface: run fast-mcp-telegram and open /setup

3. Configure MCP Client

STDIO:

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

HTTP_AUTH:

{
  "mcpServers": {
    "telegram": {
      "url": "https://your-server.com",
      "headers": {
        "Authorization": "Bearer AbCdEfGh123456789..."
      }
    }
  }
}

4. 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 Production

This project uses GitHub Actions for automatic builds and deployments.

  1. Fork this repository
  2. Add secrets in GitHub Settings: SSH_HOST, SSH_USER, SSH_PRIVATE_KEY
  3. Edit .env in your fork
  4. Push to main β€” deployment happens automatically

Manual deployment: Use scripts/sync-remote-config.sh

See Deployment Guide for details.

Available Tools

Tool Purpose Key Features
search_messages_globally Search across all chats Multi-term queries, date filtering, chat type filtering
get_messages Unified message retrieval Search/browse, read by IDs, get replies (posts/topics/messages), 5 modes
send_message Send new message File attachments (URLs/local), formatting (markdown/html), reply to forum topics
edit_message Edit existing message Text formatting, preserves message structure
find_chats Find users/groups/channels Multi-term search, contact discovery, folder filtering, username/phone lookup
get_chat_info Get detailed profile info Member counts, bio/about, online status, forum topics, enriched data
send_message_to_phone Message phone numbers Auto-contact management, optional cleanup, file support
invoke_mtproto Direct Telegram API access Raw MTProto methods, entity resolution, safety guardrails

See Tools Reference for detailed documentation with examples.

Security

  • Bearer token authentication with session isolation
  • SSRF protection for file downloads
  • Dangerous method blocking with opt-in override

See SECURITY.md for details.

Documentation

License

MIT License - see LICENSE

About

Telegram MCP Server and HTTP-MTProto bridge | Multi-user auth, intelligent search, file sending, web setup | Docker & PyPI ready

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages