Skip to main content

🚀 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

Metadata

Release files for telegram-mcp-kit 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for telegram-mcp-kit 0.2.3
File Size Uploaded Provenance
telegram_mcp_kit-0.2.3.tar.gz 48.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for telegram-mcp-kit 0.2.3
File Interpreter ABI Platform
telegram_mcp_kit-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 60.7 kB

Release files / telegram_mcp_kit-0.2.3.tar.gz

Download URL telegram_mcp_kit-0.2.3.tar.gz
Size 48.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7424dcc358e3e404b4d52326ab591b3739132f3b52afabfdda4dbaa494596f2e
BLAKE2b-256 checksum
How to use checksums
d295dc9a22021e6cb05062d28427304159e704acc1196ddcb1a6b69a92c69ee0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.

Transparency log

Release files / telegram_mcp_kit-0.2.3-py3-none-any.whl

Download URL telegram_mcp_kit-0.2.3-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f86cefa2eb9fa7501b2a7b3bebad4869e178d68e23f52ce148aebd1e26ce0802
BLAKE2b-256 checksum
How to use checksums
2cc6ba3e0ba157a2fc70f7f4b35de9505e2961da82de7da2a35a8e88c8ba3172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.

Transparency log

Security for telegram-mcp-kit 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for telegram_mcp_kit-0.2.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page