使用说明
项目简介
Telegram MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 Claude 等大型语言模型 (LLM) 提供访问 Telegram 消息和功能的能力。通过此服务器,Claude 可以读取您的 Telegram 聊天记录、发送消息、标记消息为已读,从而实现更智能的 Telegram 交互体验。
主要功能点
- 获取聊天列表 (get_chats): 允许 Claude 获取您的 Telegram 聊天列表,以便了解当前有哪些对话。支持分页查看。
- 发送消息 (send_message): 允许 Claude 向指定的 Telegram 聊天发送消息,可以用于回复消息或发起新的对话。
- 获取消息 (get_messages): 允许 Claude 获取指定 Telegram 聊天的消息记录,支持分页查看。
- 标记消息已读 (mark_messages_read): 允许 Claude 将指定 Telegram 聊天中的未读消息标记为已读。
- 获取对话上下文 (get_conversation_context): 允许 Claude 获取指定 Telegram 聊天的上下文信息,包括最近的消息记录和用户自定义的对话风格指南,以帮助 Claude 更好地理解对话背景和生成更符合用户风格的回复。
安装步骤
-
获取 Telegram API 凭证:
- 访问 https://my.telegram.org/apps 并登录。
- 创建一个新的应用或使用已有的应用。
- 记录您的 API ID 和 API Hash。
-
设置 Python 环境:
- 克隆仓库到本地:
git clone https://github.com/alexandertsai/mcp-telegram cd mcp-telegram - 创建并激活虚拟环境:
pip install uv mcp uv venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows - 安装依赖:
uv add "mcp[cli]" telethon python-dotenv nest_asyncio
- 克隆仓库到本地:
-
配置环境变量:
- macOS/Linux (bash):
export TELEGRAM_PHONE="你的电话号码,包含国家代码,无空格" # 例如: +86138xxxxxxxx export TELEGRAM_API_ID="你的 API ID" export TELEGRAM_API_HASH="你的 API Hash" - Windows (PowerShell):
$env:TELEGRAM_PHONE="你的电话号码,包含国家代码,无空格" # 例如: +86138xxxxxxxx $env:TELEGRAM_API_ID="你的 API ID" $env:TELEGRAM_API_HASH="你的 API Hash" - 确保替换为您的真实电话号码、API ID 和 API Hash。
- macOS/Linux (bash):
-
运行身份验证:
- 进入 'src/mcp_telegram' 目录:
cd src/mcp_telegram - 运行身份验证脚本:
python3 telethon_auth.py - 按照提示输入您的电话号码、Telegram 发送的验证码以及双重验证密码(如果已启用)。
- 成功后,会在用户主目录下创建会话文件。
- 进入 'src/mcp_telegram' 目录:
-
配置 Claude Desktop:
-
打开 Claude Desktop 的配置文件:
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
- 或者在 Claude Desktop 设置中启用开发者模式并编辑配置。
-
在 'mcpServers' 中添加以下配置 (请根据实际情况修改路径和凭证):
"mcpServers": { "telegram": { "command": "/你的/python3/路径", "args": ["/你的/mcp-telegram仓库/路径/main.py"], "env": { "TELEGRAM_API_ID": "你的 API ID", "TELEGRAM_API_HASH": "你的 API Hash", "TELEGRAM_PHONE": "+86138xxxxxxxx" // 你的电话号码 } } }- 'command': Python3 可执行文件的完整路径。可以使用 'where python3' (macOS/Linux) 或 'where.exe python3' (Windows) 命令查找。
- 'args': 'main.py' 脚本的完整路径。
- 'env': 环境变量,包含 Telegram API 凭证和电话号码,与步骤 3 中设置的环境变量保持一致。
-
-
(可选) 配置对话风格:
- 修改 'src/mcp_telegram/convostyle.txt' 文件,可以自定义 Claude 在 Telegram 中回复消息的风格。
基本使用方法
- 重启 Claude Desktop。
- 在 Claude 中提问时,明确提及 "Telegram",例如:
- "Claude,我的 Telegram 有未读消息吗?"
- "Claude,在 Telegram 上给 [联系人姓名] 发送消息:[消息内容]"
- "Claude,Telegram 上最新的聊天记录是什么?"
注意:
- 确保使用 Python 和 'main.py' 的完整绝对路径。
- 'TELEGRAM_API_ID'、'TELEGRAM_API_HASH' 和 'TELEGRAM_PHONE' 必须替换为您的真实信息。
- 电话号码必须使用国际格式,例如 '+86138xxxxxxxx'。
- 每次修改 Claude Desktop 配置后需要重启 Claude Desktop 才能生效。
信息
分类
通信与社交