Skip to main content

MCP server with Telegram search and messaging capabilities

Project description

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
:closed_lock_with_key: Multi-User Authentication Production-ready Bearer token auth with session isolation and LRU cache management
:globe_with_meridians: HTTP-MTProto Bridge Direct curl access to any Telegram API method with entity resolution and safety guardrails
:mag: Unified Message API Single get_messages tool for search, browse, read by IDs, and replies - 5 modes in one
:speech_balloon: Universal Replies Get replies from channel posts, forum topics, or any message with one parameter
:mag_right: Intelligent Search Global & per-chat message search with multi-query support and intelligent deduplication
:building_construction: Dual Transport Seamless development (stdio) and production (HTTP) deployment support
:file_folder: Secure File Handling Rich media sharing with SSRF protection, size limits, album support, optional HTTP attachment streaming
:envelope: Advanced Messaging Send, edit, reply, post to forum topics, formatting, file attachments, and phone number messaging
:microphone: Voice Transcription Automatic speech-to-text for Premium accounts with parallel processing and polling
:card_file_box: Unified Session Management Single configuration system for setup and server, with multi-account support
:busts_in_silhouette: Smart Contact Discovery Search users, groups, channels with uniform entity schemas, forum detection, profile enrichment
:zap: High Performance Async operations, parallel queries, connection pooling, and memory optimization
:shield: Production Reliability Auto-reconnect, structured logging, comprehensive error handling with clear actionable messages
:dart: AI-Optimized Literal parameter constraints, LLM-friendly API design, and MCP ToolAnnotations
:globe_with_meridians: Web Setup Interface Browser-based authentication flow with immediate config generation
:rocket: 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, 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fast_mcp_telegram-0.15.0.tar.gz (111.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fast_mcp_telegram-0.15.0-py3-none-any.whl (95.1 kB view details)

Uploaded Python 3

File details

Details for the file fast_mcp_telegram-0.15.0.tar.gz.

File metadata

  • Download URL: fast_mcp_telegram-0.15.0.tar.gz
  • Upload date:
  • Size: 111.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fast_mcp_telegram-0.15.0.tar.gz
Algorithm Hash digest
SHA256 7b5aee284b764e47d0dbc64401f71bfa5e44e210e1d4640bff7e12dbcbb1b83c
MD5 2aa8eea3053973ca1e19f4513b6ec7d7
BLAKE2b-256 b918833f12dc601063332191bdb2adb915f38f0f540a1611d40c89aa3b323423

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mcp_telegram-0.15.0.tar.gz:

Publisher: publish.yml on leshchenko1979/fast-mcp-telegram

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mcp_telegram-0.15.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fast_mcp_telegram-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 928b7b83c7a511707d89f43faf7769d97bacc984a4fac746607ef126ae081223
MD5 3490bc37a36079b9a8d1bc9509b2d27a
BLAKE2b-256 7ece84b8b4aa3987b336365049498154a8d8bc6baa91db5349cc24ed8d593a32

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mcp_telegram-0.15.0-py3-none-any.whl:

Publisher: publish.yml on leshchenko1979/fast-mcp-telegram

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page