mcpField
C
channelchat

channelchat

本地服务
github.com/CloudCorpRecords通信协作02 周前更新

关于 channelchat

channelchat 是通过 Slack Web API 与 Slack 工作区交互的 MCP 服务。它提供 8 种工具,涵盖频道、消息、线程、表情回应和用户信息,并通过环境变量接收机器人令牌和工作区 ID。

主要功能

  1. 01列出 Slack 频道
  2. 02发送消息并回复线程
  3. 03读取频道历史和线程回复
  4. 04为消息添加表情回应
  5. 05列出用户并查看个人资料
  6. 06传递 Slack API 错误

适用场景

  1. 01在工作区发送消息
  2. 02在线程中继续对话
  3. 03查看频道历史或成员信息
  4. 04为 Slack 消息添加回应

MCP 相关

向 MCP 客户端提供 8 种 Slack 工具,涵盖频道、消息、线程、表情回应和用户。调用需要 `SLACK_BOT_TOKEN` 和 `SLACK_TEAM_ID`。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-channelchat": {
"command": "npx",
"args": [
"-y",
"@reneturcios/channelchat"
]
}
}
}
启动命令npx -y @reneturcios/channelchat

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/channelchat0.1.0
ocighcr.io/cloudcorprecords/channelchat:0.1.0

工具

8

收录的工具列表 · 更新于 1 周前

参数类型必填说明
limitnumber否要返回的频道最大数量。
typesstring否要列出的逗号分隔的频道类型,例如 public_channel 或 private_channel。
exclude_archivedboolean否是否从结果中排除已归档的频道。

详细介绍

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_messagechannel_id、text—
slack_reply_to_threadchannel_id、thread_ts、text—
slack_add_reactionchannel_id、timestamp、reaction—
slack_get_channel_historychannel_idlimit
slack_get_thread_replieschannel_id、thread_ts—
slack_get_users—cursor、limit
slack_get_user_profileuser_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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。