是什么

Channels 是一种特殊的 MCP Server,将外部事件(聊天消息、CI 结果、监控告警等)推送到正在运行的 Claude Code 会话,让 Claude 实时响应。与普通 MCP Server 的区别是:Channels 主动推送事件,而不是等待 Claude 查询。目前处于 Research Preview 阶段,需要 v2.1.80+。

核心机制

工作模式:Channel 作为 MCP Server 在本地运行,作为外部系统与 Claude 会话之间的桥梁。聊天平台(Telegram/Discord)通过轮询 API 获取消息;Webhook 接收器监听本地 HTTP 端口。

双向通信:Claude 不仅接收事件,还可通过 Channel 的 reply 工具回复。终端显示工具调用和确认,实际回复出现在对应平台。

权限中继:支持 relay-permission-prompts 能力的 Channel 可将权限提示转发到远程,允许用户远程审批工具调用。

安全机制:每个 Channel 维护发送者白名单,只有白名单中的 ID 才能推送消息。Telegram/Discord 通过配对码建立白名单,iMessage 通过 handle 添加。

启用方式:claude --channels plugin:<channel-name>@<marketplace>,Channel 必须在 --channels 中显式指定才会激活。

内置支持:Telegram、Discord、iMessage(均需 Bun 运行时)。

关键细节

  • 启动带 Channel 的会话:claude --channels plugin:telegram@claude-plugins-official
  • 安装 Telegram Channel:/plugin install telegram@claude-plugins-official
  • 配置 Telegram Token:/telegram:configure <token>
  • 配对账户:/telegram:access pair <code>
  • 设置白名单策略:/telegram:access policy allowlist
  • 企业启用:channelsEnabled: true(管理员在 claude.ai 设置)
  • 不支持:Amazon Bedrock、Google Vertex AI、Microsoft Foundry

关联

实践要点

  • 仅在会话开启时接收事件,长期使用需保持会话运行(后台进程或持久终端)
  • 白名单是安全关键,只添加信任的发送者(白名单成员可远程审批工具调用)
  • Team/Enterprise 用户需管理员先启用 channelsEnabled
  • 非交互式 -p 模式下,需要终端输入的工具(多选题、Plan Mode 审批)会被禁用
  • 测试自定义 Channel 需要 --dangerously-load-development-channels 标志