关于 claude-ops-telegram-server
claude-ops Telegram MCP 服务是面向个人 Telegram 账号的 MCP 服务,通过 MTProto(gram.js)以用户身份认证。它服务于 /ops:ops-inbox 技能,可读取并回复私聊对话。
主要功能
- 01以个人账号身份通过 MTProto 认证
- 02列出最近的会话及未读数
- 03获取指定会话的消息
- 04跨所有会话进行全文搜索
适用场景
- 01查看并回复个人 Telegram 私聊
- 02检查各会话的未读消息
- 03在所有聊天中查找历史消息
MCP 相关
该项目作为 MCP 服务,通过 stdio 向 Claude Code 等 MCP 客户端提供 list_dialogs、get_messages、send_message 和 search_messages 四个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y claude-ops-telegram-serverTELEGRAM_API_ID密钥Numeric API ID from https://my.telegram.org/apps (create a personal app, not a bot).TELEGRAM_API_HASH密钥API hash from the same my.telegram.org/apps page.TELEGRAM_PHONE密钥Your Telegram phone number in E.164 format (e.g. +14155551234).TELEGRAM_SESSION密钥gram.js StringSession token. Generate once via: node index.js --auth (prompts for SMS code + optional 2FA). Store in your secret manager — never commit.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 返回的对话数上限(默认值:30,最大值:100) |
| archived | boolean | 否 | 包含已归档的对话(默认值:false) |
详细介绍
claude-ops Telegram MCP 服务
用于 /ops:ops-inbox 技能的用户身份验证 Telegram MCP 服务。它通过 MTProto(gram.js)以个人 Telegram 账号进行身份验证,而非使用 BotFather 机器人,因此可以读取和回复真实的私信对话。
为什么使用用户身份验证,而不是机器人?
机器人无法读取两个用户之间私人聊天中发送的消息,只能读取直接发送给机器人的消息。对于 /ops:ops-inbox 用例(管理所有者的个人收件箱),我们必须以用户账号进行身份验证。
设置
1. 获取 API 凭据
前往 https://my.telegram.org/apps 并创建一个个人应用(不是机器人)。你将获得:
api_id(整数)api_hash(32 个字符的字符串)
2. 安装依赖项
cd claude-ops/telegram-server
npm install
3. 首次运行身份验证(交互式)
TELEGRAM_API_ID=12345 \
TELEGRAM_API_HASH=abcdef... \
TELEGRAM_PHONE=+15551234567 \
node index.js --auth
脚本会提示你输入短信验证码,以及(如果已启用)你的 2FA 密码。成功后,它会输出一个 TELEGRAM_SESSION 字符串——请妥善保存(这是你的会话令牌)。
4. 在 Claude Code 中配置 MCP 服务
添加到 ~/.claude/settings.json:
{
"mcpServers": {
"telegram": {
"command": "node",
"args": ["/path/to/claude-ops/telegram-server/index.js"],
"env": {
"TELEGRAM_API_ID": "${TELEGRAM_API_ID}",
"TELEGRAM_API_HASH": "${TELEGRAM_API_HASH}",
"TELEGRAM_SESSION": "${TELEGRAM_SESSION}",
"TELEGRAM_PHONE": "${TELEGRAM_PHONE}"
}
}
}
}
从密钥管理器(Doppler、1Password、direnv)导出环境变量——绝不要提交:
export TELEGRAM_API_ID="..."
export TELEGRAM_API_HASH="..."
export TELEGRAM_SESSION="..." # from step 3
export TELEGRAM_PHONE="+1..."
export TELEGRAM_ENABLED=true # enables in ops-unread detection
重启 Claude Code 以加载 MCP 服务。
工具
| 工具 | 描述 |
|---|---|
list_dialogs | 列出最近的对话(私信、群组、频道)及未读数量 |
get_messages | 获取特定聊天中的消息 |
send_message | 向聊天或用户发送消息 |
search_messages | 在所有对话中进行全文搜索 |
安全
- 绝不要提交
TELEGRAM_SESSION——它等同于你的密码 - 会话令牌与设备绑定;如果令牌被盗,请通过 Telegram 应用 → 设置 → 设备退出登录
- 所有凭据均来自环境变量;此仓库中没有硬编码任何内容
- 服务通过 stdio 运行(仅限本地);除 Telegram 官方 API 外,不会暴露到网络
故障排除
“会话已失效”:重新运行 node index.js --auth 以生成新的会话。
“TELEGRAM_API_ID is required”:环境变量未传递给 MCP 服务。请检查 ~/.claude/settings.json 中的 env 配置块。
速率限制:Telegram 会对每个账号实施限制。如果触发限制,请等待 15–30 分钟后再试。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。