MCP Now
Telegram

Telegram

by chigwell
GitHub

An MCP server that provides paginated chat reading, message retrieval, and message sending capabilities for Telegram through Telethon integration.

telegram
python
server
desktop
telethon

License: Apache 2.0 LinkedIn

Telegram MCP Server

A Telegram MCP (Model Context Protocol) server built using Python, Telethon, and MCP Python SDK. This MCP server provides simple tools for interacting with Telegram chats directly through MCP-compatible hosts, such as Claude for Desktop.

Tools Provided

  • get_chats: Retrieve a paginated list of your Telegram chats.
  • get_messages: Retrieve paginated messages from a specific chat.
  • send_message: Send a message to a specific chat.

Requirements

Installation and Setup

Clone the Repository

1git clone https://github.com/chigwell/telegram-mcp 2cd telegram-mcp

Create Environment File

Copy and rename .env.example to .env and fill it with your Telegram credentials obtained from https://my.telegram.org/apps:

1cp .env.example .env

Your .env file should look like:

1TELEGRAM_API_ID=your_api_id_here 2TELEGRAM_API_HASH=your_api_hash_here 3TELEGRAM_SESSION_NAME=your_session_name

Setup Python Environment

Use uv to set up the Python environment and install dependencies:

1uv venv 2source .venv/bin/activate 3uv add "mcp[cli]" telethon python-dotenv nest_asyncio

Run the Server (First-time Auth)

The first time you run the server, Telethon will prompt you to enter a Telegram authentication code:

1uv run main.py

Authenticate by entering the code sent to your Telegram client. This step is only required once.

Integrating with Claude for Desktop

macOS/Linux

Edit your Claude Desktop configuration:

1nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Add this MCP server configuration:

1{ 2 "mcpServers": { 3 "telegram-mcp": { 4 "command": "uv", 5 "args": [ 6 "--directory", 7 "/ABSOLUTE_PATH/telegram-mcp", 8 "run", 9 "main.py" 10 ] 11 } 12 } 13}

Ensure you replace /ABSOLUTE_PATH/telegram-mcp with your project's absolute path.

Windows

Edit your Claude Desktop configuration:

1nano $env:AppData\Claude\claude_desktop_config.json

Add this MCP server configuration:

1{ 2 "mcpServers": { 3 "telegram-mcp": { 4 "command": "uv", 5 "args": [ 6 "--directory", 7 "C:\\ABSOLUTE_PATH\\telegram-mcp", 8 "run", 9 "main.py" 10 ] 11 } 12 } 13}

Ensure you replace C:\ABSOLUTE_PATH\telegram-mcp with your project's absolute path.

Usage

Once integrated, your Telegram tools (get_chats, get_messages, and send_message) will become available within the Claude for Desktop UI or any other MCP-compatible client.

License

This project is licensed under the Apache 2.0 License.