是什么
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
关联
- channels-reference — 构建自定义 Channel 的技术规范
- mcp — MCP Server 基础概念
- scheduled-tasks — 定时轮询(与 Channels 的事件推送互补)
实践要点
- 仅在会话开启时接收事件,长期使用需保持会话运行(后台进程或持久终端)
- 白名单是安全关键,只添加信任的发送者(白名单成员可远程审批工具调用)
- Team/Enterprise 用户需管理员先启用
channelsEnabled - 非交互式
-p模式下,需要终端输入的工具(多选题、Plan Mode 审批)会被禁用 - 测试自定义 Channel 需要
--dangerously-load-development-channels标志