
Telegram MCP Server

2025.04.18
4
PythonTelegram 消息管理自动化消息处理交流协作
mcp-telegram 是一个简单的 MCP 服务器,允许 Claude 访问您的 Telegram 账户,以读取和发送消息。它提供了多种功能,包括获取聊天列表、发送消息、获取未读消息、标记消息为已读以及获取对话上下文等。
View on GitHub
Overview
基本能力
产品定位
mcp-telegram 是一个用于 Telegram 消息管理的 MCP 服务器,旨在通过 Claude 自动化处理 Telegram 消息的读取和发送。
核心功能
get_chats
: 获取 Telegram 聊天列表send_message
: 向聊天发送消息get_message
: 获取聊天中的未读消息mark_messages_read
: 将消息标记为已读get_conversation_context
: 获取过去 20 条消息并根据convostyle.txt
确定适当的回复
适用场景
- 自动化管理 Telegram 消息
- 通过 Claude 读取和发送 Telegram 消息
- 批量处理未读消息
- 自定义聊天机器人回复风格
工具列表
- Telethon: 用于与 Telegram API 交互的 Python 库
- mcp-sdk: MCP 开发工具包
- python-dotenv: 用于管理环境变量
- nest_asyncio: 用于异步编程
常见问题解答
- 认证问题: 确保在输入 2FA 密码时不要出错,否则需要重新开始认证过程。
- 路径问题: 确保在配置文件中使用绝对路径。
- 会话文件问题: 如果认证失败,可以尝试删除
~/.mcp_telegram_*
文件并重新认证。
使用教程
使用依赖
- 安装 Git
- 安装 Python 3
安装教程
- 克隆仓库并进入目录
git clone https://github.com/alexandertsai/mcp-telegram
cd mcp-telegram
- 设置虚拟环境并安装依赖
pip install uv
uv venv
source .venv/bin/activate
uv add mcp-sdk telethon python-dotenv nest_asyncio
- 设置环境变量
export TELEGRAM_PHONE=phone number with country code and no spaces
export TELEGRAM_API_ID=api_id
export TELEGRAM_API_HASH=api_hash
- 运行认证脚本
cd src/mcp_telegram
python3 telethon_auth.py
- 配置 Claude Desktop
编辑 claude_desktop_config.json
文件,添加以下内容:
"mcpServers": {
"telegram": {
"command": "/your/path/to/python3",
"args": ["/full/path/to/mcp-telegram/main.py"],
"env": {
"TELEGRAM_API_ID": "your_api_id_here",
"TELEGRAM_API_HASH": "your_api_hash_here",
"TELEGRAM_PHONE": "+65945678900"
}
}
}
调试方式
- 检查环境变量是否设置正确
printenv
- 检查会话文件是否存在
ls -la ~/.mcp_telegram_*
- 删除会话文件并重新认证
rm /Users/username/.mcp_telegram_numberininternationalformat*