Skip to main content

Telegram Bot API integration via MCP

Project description

🚀 telegram-mcp-kit

MCP server that exposes the Telegram Bot API as tools for Claude Code (or any MCP client).

License: MIT Python Version uv

Table of Contents


🚀 Quick Start

Get your bot token from @BotFather on Telegram. Once the server is configured, you can run /mcp inside Claude Code to verify it is connected.

🛠️ Installation

Get your bot token from @BotFather on Telegram first.

Option 1: From PyPI (recommended)

claude mcp add telegram-mcp-kit \
  -e TELEGRAM_BOT_TOKEN=your-bot-token-here \
  -e TELEGRAM_CHAT_ID=your-chat-id \
  -- uvx telegram-mcp-kit
Manual MCP config
{
  "mcpServers": {
    "telegram-mcp-kit": {
      "command": "uvx",
      "args": ["telegram-mcp-kit"],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your-bot-token-here",
        "TELEGRAM_CHAT_ID": "your-chat-id"
      }
    }
  }
}

Option 2: From GitHub

claude mcp add telegram-mcp-kit \
  -e TELEGRAM_BOT_TOKEN=your-bot-token-here \
  -e TELEGRAM_CHAT_ID=your-chat-id \
  -- uvx --from "git+https://github.com/QuocTang/telegram-mcp-kit.git" telegram-mcp-kit
Manual MCP config
{
  "mcpServers": {
    "telegram-mcp-kit": {
      "command": "uvx",
      "args": [
        "--from",
            "git+https://github.com/QuocTang/telegram-mcp-kit.git",
        "telegram-mcp-kit"
      ],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your-bot-token-here",
        "TELEGRAM_CHAT_ID": "your-chat-id"
      }
    }
  }
}

Option 3: From source

git clone https://github.com/QuocTang/telegram-mcp-kit.git
cd telegram-mcp-kit
cp .env.example .env   # add your TELEGRAM_BOT_TOKEN
uv sync
claude mcp add telegram-mcp-kit \
  -- uv run --directory /absolute/path/to/telegram-mcp-kit telegram-mcp-kit
Manual MCP config
{
  "mcpServers": {
    "telegram-mcp-kit": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/telegram-mcp-kit",
        "telegram-mcp-kit"
      ]
    }
  }
}

With this option, TELEGRAM_BOT_TOKEN is read from the .env file inside the project directory.

Environment variables

Variable Required Description
TELEGRAM_BOT_TOKEN Yes Token from BotFather
TELEGRAM_CHAT_ID No Default chat ID (if set, chat_id can be omitted in tool calls)
MCP_TRANSPORT No stdio (default) or sse
MCP_HOST No Bind host (default 127.0.0.1)
MCP_PORT No Bind port (default 8000)
HTTP_TIMEOUT No Telegram API timeout in seconds (default 30)

📦 Features

🚀 Feature 📝 Description
🛠️ 20+ Tools Comprehensive coverage for messages, chat management, files/photos, and bot info.
🔍 Auto-discovery Simply add a Python file to the tools/ folder and it registers automatically.
📡 Flexible Transport Works seamlessly over stdio (for local clients) or SSE (remote/Docker).

Tools List

Messages

Tool Description
send_message Send a text message (Markdown/HTML)
edit_message Edit an existing message
delete_message Delete a message
forward_message Forward a message between chats

Updates

Tool Description
get_updates Fetch recent messages/updates the bot received

Chat management

Tool Description
get_chat_info Get chat metadata (name, type, description)
get_chat_member_count Count members
get_chat_admins List administrators
ban_member Ban a user
unban_member Unban a user
set_chat_title Change group/channel title
set_chat_description Change group/channel description
pin_message Pin a message
unpin_message Unpin a message

Files & photos

Tool Description
send_photo Send a photo by URL or file_id
send_photo_file Send a local photo file
send_document Send a document by URL or file_id
send_document_file Send a local file as document
get_file_info Get file metadata + download link

Bot

Tool Description
get_bot_info Get bot name, username, etc.

🤝 How to Contribute

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature.
  3. Submit a Pull Request.

See CONTRIBUTING.md for how to add new tools.

Development

uv sync                        # install all deps (including dev)
uv run pytest -v               # run tests
uv run ruff check src/ tests/  # lint

💬 Community & Support

If this repository saves you time, please star the repository!

👥 Repo Contributors

Repository contributors

Made with contrib.rocks.

⚖️ License

MIT License. See LICENSE for details.

🌟 Star History

Star History Chart

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

telegram_mcp_kit-0.2.2.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

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

telegram_mcp_kit-0.2.2-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file telegram_mcp_kit-0.2.2.tar.gz.

File metadata

  • Download URL: telegram_mcp_kit-0.2.2.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for telegram_mcp_kit-0.2.2.tar.gz
Algorithm Hash digest
SHA256 59e6ae5df384a9b2862cbe4f98f5bb3a450ff7c7a323cc3a45b3dbaf8a6cdda1
MD5 878c6ac385c827f9d1a17b43cd684b75
BLAKE2b-256 900a3fdc4486489f470925a666b685afe4275341057ee247c30b54e5af9c69ff

See more details on using hashes here.

File details

Details for the file telegram_mcp_kit-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: telegram_mcp_kit-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for telegram_mcp_kit-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78c68f3a4e029411a2ab187b58e3e921785d258544a697235cc82d2417731df7
MD5 2a3d0a44876ddebe782f762321a49b5c
BLAKE2b-256 aa09af0c5de943f2822c181de9334ca367deecdfa5882854fb3c35fc6839ab02

See more details on using hashes here.

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