关于 channelchat
channelchat 是通过 Slack Web API 与 Slack 工作区交互的 MCP 服务。它提供 8 种工具,涵盖频道、消息、线程、表情回应和用户信息,并通过环境变量接收机器人令牌和工作区 ID。
主要功能
- 01列出 Slack 频道
- 02发送消息并回复线程
- 03读取频道历史和线程回复
- 04为消息添加表情回应
- 05列出用户并查看个人资料
- 06传递 Slack API 错误
适用场景
- 01在工作区发送消息
- 02在线程中继续对话
- 03查看频道历史或成员信息
- 04为 Slack 消息添加回应
MCP 相关
向 MCP 客户端提供 8 种 Slack 工具,涵盖频道、消息、线程、表情回应和用户。调用需要 `SLACK_BOT_TOKEN` 和 `SLACK_TEAM_ID`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 要返回的频道最大数量。 |
| types | string | 否 | 要列出的逗号分隔的频道类型,例如 public_channel 或 private_channel。 |
| exclude_archived | boolean | 否 | 是否从结果中排除已归档的频道。 |
详细介绍
channelchat
channelchat 让 MCP 客户端能够在 Slack 工作区中正常使用:列出频道、发布消息、继续线程、 添加表情回应,以及查看历史记录或成员列表。 它通过 Slack Web API 实现完整的 server-slack 工具集——全部八个 工具。
需要设置两个环境变量,与原始
服务完全相同:SLACK_BOT_TOKEN(机器人用户 OAuth 令牌,以 Bearer
令牌形式发送)和 SLACK_TEAM_ID(工作区 ID,传递给
接受该参数的方法)。如果缺少其中任意一个,每次调用都会返回指出缺失变量的
错误,而不是在握手时失败。
即使调用失败,Slack 的 Web API 也会返回 HTTP 200,并在响应正文中包含
ok: false;channelchat 会将正文中的 error 字符串作为
工具错误返回,因此调用方会原样收到 channel_not_found 等错误。
安装
npx @reneturcios/channelchat slack_list_channels
docker run -i -e SLACK_BOT_TOKEN -e SLACK_TEAM_ID ghcr.io/cloudcorprecords/channelchat
CLI
channelchat slack_list_channels --limit 20
channelchat slack_post_message --channel-id C0123 --text "deploy finished"
channelchat slack_reply_to_thread --channel-id C0123 --thread-ts 1700000000.000100 --text "looking into it"
channelchat slack_add_reaction --channel-id C0123 --timestamp 1700000000.000100 --reaction thumbsup
channelchat slack_get_user_profile --user-id U0123
channelchat --version
退出代码:0 表示成功,1 表示 API 错误,2 表示用法错误。
MCP 服务
npx -y @reneturcios/channelchat mcp
{
"mcpServers": {
"channelchat": {
"command": "npx",
"args": ["-y", "@reneturcios/channelchat", "mcp"],
"env": { "SLACK_BOT_TOKEN": "xoxb-...", "SLACK_TEAM_ID": "T0123" }
}
}
}
工具
| 工具 | 必需 | 可选 |
|---|---|---|
slack_list_channels | — | types、exclude_archived、limit |
slack_post_message | channel_id、text | — |
slack_reply_to_thread | channel_id、thread_ts、text | — |
slack_add_reaction | channel_id、timestamp、reaction | — |
slack_get_channel_history | channel_id | limit |
slack_get_thread_replies | channel_id、thread_ts | — |
slack_get_users | — | cursor、limit |
slack_get_user_profile | user_id | — |
工具参数使用文档所列的、面向调用方的名称(channel_id、thread_ts、reaction、user_id);核心模块会在构建每个请求时,将它们映射为 Web API 的参数名称(channel、ts、
name、user)。
开发
npm install
npm run build
npm test
npm run dev
测试完全基于虚假的 fetch 测试夹具运行,包括 Slack 返回 HTTP 200 但 ok: false 的错误格式;不会使用网络。
许可证
MIT——详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。