← 所有 Telegram MCP 连接器

Goose · Block

把 Telegram 接入 Goose

在 Block 的开源 AI 智能体 Goose 中把 Entergram 添加为 MCP 扩展,让它处理你真实的 Telegram 账号——浮现漏看的消息、跟进变冷的潜在客户,并自主就聊天采取行动。

MCP 服务器地址 https://mcp.entergram.com/mcp

Goose 是一个可扩展的 AI 智能体,它以扩展的形式连接 MCP 服务器。Entergram 把你的个人 Telegram 账号暴露为一个托管的 MCP 服务器,因此 Goose 能在完整的 OAuth 安全保障下读取你真实的聊天并采取行动——无需机器人账号,也无需 API 密钥。

可直接粘贴的配置

~/.config/goose/config.yaml
extensions:
  entergram:
    type: streamable_http
    uri: https://mcp.entergram.com/mcp
    enabled: true

向 Goose 提那些你永远没法问 Telegram 的问题

连上你的个人账号后,Goose 就能跨所有聊天采取行动。可以试试这些提示:

  • 「我这周漏看了多少条消息,其中哪些来自客户?」
  • 「哪些对话我忘了回复?」
  • 「帮我量化一下因为没跟进而变冷的潜在客户。」
  • 「总结一下这个月的客户反馈。」
  • 「为我最久没回的几条消息草拟回复,供我审阅。」

三步接入 Goose

适用于 Goose 桌面应用和 CLI。

  1. 01

    在 Entergram 中复制你的 MCP 地址

    在 Entergram 中打开 Settings → Workspace → Connectors → MCP,复制你的 MCP 服务器地址。

  2. 02

    在 Goose 中添加扩展

    在 Goose 中添加一个 Streamable HTTP 类型的新扩展,指向 Entergram MCP 地址:https://mcp.entergram.com/mcp。

  3. 03

    授权并运行

    点击 Connect,用你的 Entergram 账号登录,然后点击 Allow access。随后 Goose 就能在其会话中读取你的 Telegram 账号并采取行动。

运行 Entergram 扩展的三种方式

Goose Desktop

打开扩展列表,添加一个自定义扩展,类型选 Streamable HTTP,粘贴地址。桌面应用会替你处理浏览器往返,所以授权页只出现一次,之后每次会话启动时都已经是授权状态。

Goose CLI

`goose configure` 会引导你添加一个远程扩展,全程不用碰 YAML——选择 Add Extension,再选远程 Streamable HTTP 那一项。手工编辑 ~/.config/goose/config.yaml 做的是完全相同的事,而且更方便和你其余的机器配置一起放进 dotfiles 仓库。

goose configure

无人值守运行

扩展一旦授权,无头调用就会继承这份授权。这就是「Telegram 巡检」从你想起来才去做的事,变成机器每天早上 8 点自动做的事的方式——请配合 cron 或 launchd 使用,因为 Entergram 本身不会去唤醒智能体。

goose run -t "List every Entergram chat that has been waiting on a reply for more than a day"

长任务,一口气跑到底

Goose 的设计目标就是把一个计划贯穿许多步骤,而这会改变什么任务值得交给它。下面这些活儿,换成人做就是一整个下午。每一项都只是一条指令;底下的调用序列是 Goose 自己推演出来的,而且每次调用都会落进会话记录,方便你事后审计它走过的路径。

任务

「把所有开了超过三天的工单过一遍,读一读背后的聊天,为每位客户起草一条进度更新。发出去之前先给我看草稿。」

调用的工具

entergram_list_ticketsentergram_get_ticketentergram_list_messagesentergram_send_message

Goose 返回

一条指令,四类工具,以及一个队列有多长就跑多久的循环。Goose 按时长筛选,逐个打开工单找到它来自哪段对话,读足够多的历史来弄清客户究竟在等什么,然后逐单写草稿。它会停在确认这一步——只有你保留下来的草稿才会真正触发发送调用。

任务

「新建一个「交易阶段」列,选项为 Discovery、Trial、Negotiation、Closed,然后把上季度聊过的每个会话都归类进去。」

调用的工具

entergram_create_custom_columnentergram_create_custom_column_optionentergram_list_workspace_chatsentergram_patch_chat_custom_fields

Goose 返回

同一次运行里既建结构又回填数据,这正是智能体的价值所在:列必须先存在,才能写入哪怕一个值;而选项值必须回读出来,分类器才会写入真实的选项 ID 而不是自由文本。预期它会跑一阵子,最后交回一份逐会话的清单。仅限工作区连接器。

任务

「审一下我们那三个合作伙伴群——各自都有谁,我们的联系人里哪些同时出现在不止一个群里?」

调用的工具

entergram_list_groupsentergram_list_group_membersentergram_list_contact_shared_groups

Goose 返回

一次在任何界面里都做不出来的联表。Goose 枚举这些群,逐一遍历成员名单,再按联系人去问你和他共同待在哪些社群里,最后把答案折成一张重叠表。产出的是那批「发一条消息就够、不用发三条」的人,外加一个安静的发现:两家合作伙伴其实早就认识。

任务

「找出那些同一个问题问了两遍却始终没得到回答的人,为每个人开一个工单,并把他们的两条消息作为评论贴进工单。」

调用的工具

entergram_list_messagesentergram_create_ticketentergram_create_ticket_comment

Goose 返回

难的是检测这一步,而它纯靠推理——两条意图相同的入站消息,中间没有任何出站回复。之后的一切都是机械劳动。评论比工单本身更重要:接手队列的人能直接看到被忽略的那段原话引用,不必自己去重建会话上下文。

任务

「我们的工单严重程度这一列已经漂了,现在有三个选项含义相同。把它们合并成一套规范的取值。」

调用的工具

entergram_list_ticket_custom_columnsentergram_list_ticket_custom_column_optionsentergram_update_ticket_custom_column_optionentergram_update_ticket

Goose 返回

没人会主动排期的清理工作。Goose 读取工单字段结构,把近似重复的选项归组,重命名保留下来的那些,并在丢弃任何东西之前,把仍停留在待废弃取值上的工单迁移过去。第一次跑时请盯着会话记录看——这类计划的前三个决策,就能告诉你后面对不对。

任务

「把新版发布说明发到所有我们以前发过发布说明的群。」

调用的工具

entergram_list_groupsentergram_list_messagesentergram_list_accountsentergram_send_media_message

Goose 返回

Goose 是从证据里推导目标列表,而不是依赖谁维护的一份名单:它扫描过往历史,找出收到过这类帖子的群,确认这个模式成立,解析出每个群归属于哪个已连接账号,然后附上文件发送。完整的群列表会在第一次发送之前先报给你,所以一次错误推断的代价是一句「不行」,而不是一句道歉。

Goose 能用你的 Telegram 做什么

  • 读取并总结 Telegram 对话
  • 浮现漏看的消息和逾期未回的回复
  • 查询联系人和 CRM 自定义字段
  • 经你确认后发送消息和回复
  • 量化错过的机会和反馈
  • 跨你的聊天执行多步操作

这个扩展的完整工具面

启用扩展会向会话注册 9 个分组共 70 个工具。由 Goose 自己决定串哪些、按什么顺序串,所以下面的分组与其说是一份菜单,不如说是一张它们之间关系的地图。请留意破坏性的那些边缘——群组管理、结构删除、出站发送——因为它们恰恰是个人智能体完全够不到的部分。

账号与工作区

5 个工具

用于确认身份和权限范围。每次消息类调用都必须先通过 list_accounts 取得 account_id——跳过这一步的 AI 客户端会把请求发到错误的 Telegram 账号上。

  • entergram_get_me
  • entergram_list_accounts
  • entergram_get_workspace
  • entergram_get_member
  • entergram_list_members

聊天与查找

8 个工具

用于定位会话。工作区视图携带 CRM 状态(工单、评论、自定义字段);实时视图携带 Telegram 当前的传输状态和未读计数。

  • entergram_list_chats
  • entergram_get_chat
  • entergram_list_live_chats
  • entergram_get_live_chat
  • entergram_list_workspace_chats
  • entergram_get_workspace_chat
  • entergram_update_workspace_chat
  • entergram_get_chat_management

消息

9 个工具

读写消息历史,包括编辑、转发和表情回应。发送操作按账号划定范围,因此任何操作都不会跨越你已连接的多个账号生效。

  • entergram_list_messages
  • entergram_get_message
  • entergram_send_message
  • entergram_send_media_message
  • entergram_edit_message
  • entergram_delete_message
  • entergram_forward_messages
  • entergram_get_message_reactions
  • entergram_set_message_reactions

联系人

3 个工具

你在和谁对话,以及你们还在哪些地方有交集。共同群组查询正是让「我的哪些潜在客户在同一个社群里?」这类问题变得可回答的关键。

  • entergram_list_contacts
  • entergram_get_contact
  • entergram_list_contact_shared_groups

工单

10 个工具

完整的客服工单控制:创建、指派、设置优先级、评论和关闭。工单会关联回它所来自的聊天,因此 AI 客户端可以一步之内从会话转入工单队列。

  • entergram_list_tickets
  • entergram_get_ticket
  • entergram_create_ticket
  • entergram_update_ticket
  • entergram_delete_ticket
  • entergram_list_chat_tickets
  • entergram_list_ticket_comments
  • entergram_create_ticket_comment
  • entergram_update_ticket_comment
  • entergram_delete_ticket_comment

CRM 自定义字段

11 个工具

你的销售流程结构。写入数值前先读取列定义——复选框接受布尔值,多选字段接受由选项值组成的数组,日期字段接受 ISO 8601 字符串。

  • entergram_list_custom_columns
  • entergram_get_custom_column
  • entergram_create_custom_column
  • entergram_update_custom_column
  • entergram_delete_custom_column
  • entergram_list_custom_column_options
  • entergram_create_custom_column_option
  • entergram_update_custom_column_option
  • entergram_delete_custom_column_option
  • entergram_get_chat_custom_fields
  • entergram_patch_chat_custom_fields

工单自定义字段

9 个工具

工单侧的同一套结构控制——分类、严重级别、SLA 等级,以及你的客服团队在状态和优先级之外跟踪的任何字段。

  • entergram_list_ticket_custom_columns
  • entergram_get_ticket_custom_column
  • entergram_create_ticket_custom_column
  • entergram_update_ticket_custom_column
  • entergram_delete_ticket_custom_column
  • entergram_list_ticket_custom_column_options
  • entergram_create_ticket_custom_column_option
  • entergram_update_ticket_custom_column_option
  • entergram_delete_ticket_custom_column_option

内部备注

4 个工具

写在聊天上、客户永远看不到的评论。适合让 AI 客户端把自己的推理过程留下来,交给人类同事接手。

  • entergram_list_chat_comments
  • entergram_create_chat_comment
  • entergram_update_chat_comment
  • entergram_delete_chat_comment

群组与频道

11 个工具

创建和管理 Telegram 群组与频道——成员、权限、隐私和资料——另外还提供一个原始命令通道,用于处理其余情况。

  • entergram_list_groups
  • entergram_get_group
  • entergram_list_group_members
  • entergram_create_group_chat
  • entergram_create_channel
  • entergram_invite_chat_members
  • entergram_remove_chat_member
  • entergram_update_chat_info
  • entergram_update_chat_permissions
  • entergram_update_chat_privacy
  • entergram_run_chat_command

权限范围,以及自主智能体为什么应该少要一点

授权就是浏览器里一次普通的 OAuth 登录:Goose 打开 Entergram 的授权页,你确认,得到的令牌保存在你本地的 Goose 配置里,而不是放在谁的服务器上。Telegram 会话本身留在 Entergram 之后:你注册用的号码以及与之绑定的登录,既不会交给 Block 的智能体,也不会交给你让 Goose 指向的任何模型厂商。因为智能体是在你看别处的时候行动的,所以你在这里选的访问级别才是真正的安全控制,提示词不是。

个人智能体
对任何工作区成员开放。它可以读取工作区及其成员、已连接账号、你的联系人、聊天列表、消息历史和工单队列;它唯一能写的,是你自己连接的账号所属聊天上的自定义字段。持有这个令牌的智能体可以整天调研和汇报,却依然一个字都发不给客户——对于一次你不会全程盯着的运行来说,这通常是正确的取舍。
工作区连接器
仅限所有者和管理员,它持有完整权限集——出站消息、在任意聊天上写自定义字段、工单与结构变更、群组管理。只有当计划确实必须代表工作区行事时,才把它交给某个 Goose 实例,并且不要放在别人能随手坐下来用的机器上。
运行途中掐断访问
两个开关,作用层级不同。在 Goose 里禁用扩展,会让当前这个智能体完全够不到 Entergram。而在 Settings → Workspace → Connectors → MCP 撤销令牌,会让它在所有地方同时失效,包括另一台机器上正在进行中的运行。

自主运行会在哪里撞墙

在你把计划交给 Goose 然后离开屏幕之前,这些约束值得先了解。

  • 工具调用需要 Pro 工作区。MCP 在 Entergram 属于 Pro 套餐功能,所以任何档位都能走完 OAuth 握手,然后你计划里的第一个工具调用就失败——在一次运行开始四十分钟后才发现这件事,体验很糟。
  • 个人智能体跑不完一个以发送结尾的计划。如果最后一步是出站,这次运行就需要工作区连接器,而只有所有者或管理员能创建它。
  • 除了你,没有谁能给 Goose 排期。Entergram 不提供任何能唤醒智能体的触发器,所以周期性工作意味着 cron、launchd,或者你已经在用的任何调度器按你要的间隔去调用 Goose。
  • 没有群发原语。每个消息类工具都只解析一个 account_id 和一个聊天,所以一个决定联系四十个人的智能体会发出四十次独立调用——每一次都在会话记录里可见,也随时可以中途叫停。
  • 历史不是无底的。在活跃群里做深度读取,受限于 Telegram 自身的留存和分页行为,而不是 Entergram;所以一个假定自己能翻完某个大群整整一年的计划,会悄悄地少拿一截回来。
  • 长读取会消耗模型 token。Goose 跑在你为它配置的那家厂商上,一个把几千条消息拉进上下文的计划,账单也记在那边——放它出去之前,请先按聊天、日期范围或工单队列收窄范围。

Goose 跑歪了的时候

扩展列在那儿,却看不到任何工具
Goose 是在会话开始时读取扩展列表的,不是在会话进行中。先确认条目带有 `enabled: true`,然后新开一个会话——恢复的旧会话会一直沿用它创建时的那份工具清单。
CLI 卡在授权那一步
授权页需要浏览器,而 SSH 会话或容器里没有东西能打开它。请先在桌面会话里授权一次;之后的无头调用会复用已保存的令牌。
Goose 试图启动某个二进制程序然后失败
扩展类型选错了。Entergram 是通过 Streamable HTTP 访问的托管服务器,不是命令行扩展——填成 command 类型会让 Goose 去找一个你机器上根本没装过的可执行文件。
运行到一半因权限报错停下
计划从读跨到了写。个人智能体不能发送消息、不能编辑别人聊天的字段,也不能管理群组,所以要么找所有者或管理员要一个工作区连接器,要么把计划改成止步于草稿。
它操作了错误的 Telegram 账号
连着好几个账号时,一条没限定的指令等于把选择权交给模型。请在提示词里点名账号,并要求它先调用 entergram_list_accounts,让 account_id 从数据里解析出来而不是靠猜。
改了 config.yaml 好像没生效
YAML 对缩进敏感,嵌套错位的 extensions 块会被解析成空,而且是静默的。改用 `goose configure`,通过菜单添加远程扩展——它会把同一个文件写对,之后你还可以 diff 一下看看差别。

Goose + Telegram 常见问题

Goose 是怎么连接 MCP 服务器的?
Goose 以扩展的形式连接 MCP 服务器。用 MCP 地址把 Entergram 添加为 Streamable HTTP 扩展,并通过 OAuth 授权即可。
这是一个 Telegram 机器人吗?
不是。Entergram 通过托管的 MCP 服务器连接你真实的个人 Telegram 账号。
安全吗?
安全。OAuth 2.0 加上限定的权限范围;由你决定 Goose 能访问什么,并可随时撤销。

把 Telegram 接入 Goose