Token导航 LogoToken导航TokenDH.com
MCP Tg logo
办公协作stdio官方级别未说明来源级核验

MCP Tg

MCP Server

基于MTProto协议的Telegram客户端API服务,提供58种工具、4种资源、3种提示和参数补全功能,用于全面的Telegram账户管理。

工具数

59

提示词数

0

GitHub Stars

1

资源数

0
GoClaude团队协作Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lexfrei

提供方

lexfrei

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -i \

详细介绍

mcp-tg

电报客户端API(MTProto)的MCP服务器。提供58个工具、4个资源、3个提示和论点完成,用于全面的Telegram帐户管理。

用途 gotd/td 对于MTProto协议,这是一个 用户账户 客户端,而不是机器人。

MCP协议支持

功能状态
工具58个带注释的工具(只读/幂等/写入/破坏性)
资源4(对话框、个人资料、聊天信息、聊天消息)
提示3(回复、总结、搜索和回复)
完成从对话框自动完成对等参数
诱导身份验证流程(电话、代码、2FA密码)
进度文件上传、媒体相册、消息搜索
上传/下载的文件路径验证
传输stdio+HTTP/SSE
KeepAlive30秒ping间隔
中间件身份验证、请求日志

电报协议功能

  • 对等高速缓存 --具有访问哈希的解析对等体被缓存在内存中,因此数字ID查找重用有效的哈希,而不是失败
  • 邀请链接t.me/+hasht.me/joinchat/hash 通过以下方式解决 messages.checkChatInvite
  • FLOOD_等待重试 --当Telegram速率限制客户端时,自动休眠并重试(最多3次)
  • 认证警卫 --在Telegram身份验证完成之前,工具调用将被阻止,并显示一个明确的错误
  • 分页offsetDate 对于对话列表, offsetId 用于消息搜索和历史记录

工具(59)

留言(11)

  • tg_messages_list --列出聊天中的消息
  • tg_messages_get --按ID获取特定消息
  • tg_messages_context --获取围绕特定消息的消息
  • tg_messages_search --在聊天中搜索消息
  • tg_messages_send --发送短信
  • tg_messages_edit --编辑现有邮件
  • tg_messages_delete --删除邮件
  • tg_messages_forward --在聊天之间转发消息
  • tg_messages_pin --固定或取消固定消息
  • tg_messages_react --添加或删除反应
  • tg_messages_mark_read --将邮件标记为已读

对话(3)

  • tg_dialogs_list --列出所有对话框
  • tg_dialogs_search --按查询搜索对话框
  • tg_dialogs_get_info --获取聊天/频道元数据

联系人和用户(6)

  • tg_contacts_get --获取联系信息
  • tg_contacts_search --搜索联系人
  • tg_users_get --获取用户信息
  • tg_users_get_photos --获取用户个人资料照片
  • tg_users_block --阻止或取消阻止用户
  • tg_users_get_common_chats --获取与用户共享的聊天记录

团体(9)

  • tg_groups_list --列出组
  • tg_groups_info --获取群组信息
  • tg_groups_join --加入公共频道或超级团体
  • tg_groups_leave --离开群组或频道
  • tg_groups_rename --重命名组
  • tg_groups_members_add --添加成员
  • tg_groups_members_remove --删除成员
  • tg_groups_invite_link_get --获取邀请链接
  • tg_groups_invite_link_revoke --撤销邀请链接

聊天管理(8)

  • tg_chats_create --创建新组或频道
  • tg_chats_archive --存档或取消存档聊天记录
  • tg_chats_mute --将通知静音或取消静音
  • tg_chats_delete --删除频道或超级组
  • tg_chats_set_photo --设置聊天照片
  • tg_chats_set_description --设置聊天描述
  • tg_chats_get_admins --列出管理员(频道/超级组)
  • tg_chats_set_permissions --设置默认权限

媒体和文件(4)

  • tg_messages_send_file --发送带有标题的文件
  • tg_media_download --从邮件中下载媒体
  • tg_media_upload --上传文件
  • tg_media_send_album --发送媒体相册

个人资料(4)

  • tg_profile_get --获取自己的个人资料信息
  • tg_profile_set_name --更新显示名称
  • tg_profile_set_bio --更新个人简介
  • tg_profile_set_photo --设置个人资料照片

论坛主题(2)

  • tg_topics_list --列出论坛主题
  • tg_topics_search --搜索论坛主题

贴纸(3)

  • tg_stickers_search --搜索贴纸集
  • tg_stickers_get_set --获取贴纸套装
  • tg_stickers_send --发送贴纸

草稿(2)

  • tg_drafts_set --设置消息草稿
  • tg_drafts_clear --清除草稿

文件夹(4)

  • tg_folders_list --列出聊天文件夹
  • tg_folders_create --创建文件夹
  • tg_folders_edit --编辑文件夹
  • tg_folders_delete --删除文件夹

状态(2)

  • tg_typing_send --发送打字指示器
  • tg_online_status_set --设置在线/离线状态

服务器(1)

  • tg_server_version --获取构建元数据(semver标签、git commit SHA、Go运行时版本);在身份验证完成之前可访问

Markdown——已知限制

通过以下方式支持CommonMark子集 parseMode: "commonmark" 涵盖了大多数日常格式,但有少数CommonMark规范功能故意没有实现。每个都被捕获为注释掉的测试 internal/telegram/markdown_audit_test.go 准备在工作开始时畅通无阻。

  • 嵌套区块行情 (> > x).内部 > 被视为外部块引用的文字内容,而不是产生嵌套级别。Telegram呈现任何深度 > 由于视觉上只有一个报价栏,因此实际损失很小。
  • 嵌套强调 (**bold *italic***).内部斜体被删除,星号保留为文字字符。实现CommonMark§6.4中的完整定界符运行算法将是对内联解析器的重写。
  • 硬线通过两个尾随空格中断或 \ (CommonMark§6.7)。Telegram没有break实体;一片平原 \n 已经渲染为换行符。当用户不打算进行硬中断时,删除尾随空格将是无声的数据损坏,因此解析器会原封不动地传递这两个表单。

资源

  • tg://dialogs --所有对话框列表(JSON)
  • tg://profile --经过身份验证的用户配置文件(JSON)
  • tg://chat/{peer} --聊天/频道元数据(JSON,URI模板)
  • tg://chat/{peer}/messages --最近的消息(文本、URI模板)

提示

  • reply_to_message --获取消息周围的上下文以撰写回复
  • summarize_chat --获取最新消息以进行对话摘要
  • search_and_reply --搜索邮件并准备回复上下文

对等解决方案

所有工具均接受 peer 作为字符串。支持的格式:

  • @username
  • username (裸)
  • https://t.me/username
  • https://t.me/+invite_hash (邀请链接,如果已经加入)
  • 数字ID(bot-API样式:阳性=用户,阴性=聊天, -100xxx=频道)

按用户名解析的对等体包含有效的访问哈希。数字ID使用缓存的访问哈希(如果可用),否则AccessHash=0(某些API调用可能失败-首选 @username).

配置

变量描述默认值必填
TELEGRAM_APP_ID来自my.telegram.org的API app_id-
TELEGRAM_APP_HASHAPI app_hash来自my.telegram.org-
TELEGRAM_PHONE电话号码(E.164格式)--否(通过启发式提示)
TELEGRAM_PASSWORD2FA密码--否(通过诱导提示)
TELEGRAM_SESSION_FILE会话文件路径~/.mcp-tg/session.json没有
TELEGRAM_AUTH_CODE一次性身份验证码--否(通过启发提示)
TELEGRAM_DOWNLOAD_DIR媒体下载目录/tmp/mcp-tg/downloads没有
MCP_HTTP_PORTHTTP/SSE传输端口已禁用
MCP_HTTP_HOSTHTTP绑定地址127.0.0.1没有

认证

身份验证使用级联:环境变量,然后是MCP启发(客户端提示您),然后是错误。

第一轮:

  1. TELEGRAM_APP_IDTELEGRAM_APP_HASH (始终需要)
  2. 可选设置 TELEGRAM_PHONE --如果未设置,服务器将通过启发进行询问
  3. Telegram向您的设备发送代码
  4. 可选设置 TELEGRAM_AUTH_CODE --如果未设置,服务器将通过启发进行询问
  5. 如果启用了2FA,则可选择设置 TELEGRAM_PASSWORD --或者服务器询问
  6. 会话已保存到 TELEGRAM_SESSION_FILE

后续运行: 会话文件是自动加载的,不需要身份验证。

容器中的会话持久性: 为会话文件挂载一个卷:

-v ~/.mcp-tg:/home/nobody/.mcp-tg

多个会话: 每个Claude Code会话都会启动自己的容器。这对于正常使用是安全的——Telegram允许使用相同的身份验证密钥进行多个MTProto连接。但是,请避免同时运行多个实例(5+),因为Telegram可能会限制速率或断开连接。会话文件写入很少(仅在重新授权或DC迁移时),因此卷共享在实践中是安全的。

用法

使用Claude Code(通过Docker进行stdio)

claude mcp add mcp-tg -- docker run --rm -i \
  -e TELEGRAM_APP_ID \
  -e TELEGRAM_APP_HASH \
  -v ~/.mcp-tg:/home/nobody/.mcp-tg \
  ghcr.io/lexfrei/mcp-tg:latest

直接二进制

export TELEGRAM_APP_ID=12345
export TELEGRAM_APP_HASH=your_app_hash
./mcp-tg

容器

docker run --rm -i \
  -e TELEGRAM_APP_ID=12345 \
  -e TELEGRAM_APP_HASH=your_app_hash \
  -v ~/.mcp-tg:/home/nobody/.mcp-tg \
  ghcr.io/lexfrei/mcp-tg:latest

需求

建筑

go build ./cmd/mcp-tg
docker build --file Containerfile --tag mcp-tg .

许可证

BSD 3条款许可

目录标签

目录标签

GoClaude团队协作TelegramAPI本地部署账户管理MTProto协议消息处理群组管理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

59

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP