关于 MCP Slack
MCP Slack 是用于访问 Slack 工作区信息、注重安全的服务,供 Claude Code 等 MCP 客户端使用。大多数工具为只读;它也可发送消息,并在定时发送前取消消息。
主要功能
- 01读取频道、消息和线程
- 02搜索消息并查看表情回应
- 03查看工作区用户及文件元数据
- 04发送或取消定时消息
- 05使用用户 OAuth 或浏览器 Cookie 认证
适用场景
- 01查看频道讨论和线程回复
- 02搜索工作区中的特定主题
- 03检查用户资料和频道成员
- 04安排消息发送,并在需要时取消
MCP 相关
它通过工具向 MCP 客户端提供 Slack 工作区的频道、消息、用户、文件元数据及消息操作。认证使用用户 OAuth 令牌或一组浏览器会话 Cookie。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-slack-crunchtools
适用于 Slack 工作区的安全 MCP 服务。为 Claude Code(及其他 MCP 客户端)提供对 Slack 频道、消息、用户和文件的读取权限,并可代表你发送消息。
功能
- 以读取为主:17 个工具中有 15 个仅执行读取操作,并标记为
readOnlyHint: true。另外两个工具可发送消息和取消已安排的消息;不会编辑或删除现有内容。 - 安全:采用 6 层安全模型(输入验证、令牌处理、客户端加固、输出净化、运行时保护、供应链安全)。
- 用户 OAuth 令牌:使用
xoxp-令牌,以用户身份访问你的工作区。 - 无 SDK 依赖:直接使用
httpx执行精简且可审计的 HTTP 调用。
快速开始
使用 uvx(推荐)
claude mcp add mcp-slack-crunchtools \
--env SLACK_USER_TOKEN=xoxp-your-token \
-- uvx mcp-slack-crunchtools
使用容器
claude mcp add mcp-slack-crunchtools \
--env SLACK_USER_TOKEN=xoxp-your-token \
-- podman run -i --rm -e SLACK_USER_TOKEN quay.io/crunchtools/mcp-slack
本地开发
claude mcp add mcp-slack-crunchtools \
--env SLACK_USER_TOKEN=xoxp-your-token \
-- uv run mcp-slack-crunchtools
设置
有关创建 Slack 应用和获取用户 OAuth 令牌的详细说明,请参阅 CLAUDE.md。
配置
身份验证采用两种互斥模式之一。两项 Cookie 变量均已设置时,服务会选择 Cookie 模式;否则使用令牌模式。
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
SLACK_USER_TOKEN | 令牌模式 | — | 在工作区中安装的 Slack 应用所提供的用户 OAuth 令牌(xoxp-...)。 |
SLACK_COOKIE_TOKEN | Cookie 模式 | — | 浏览器会话令牌(xoxc-...)。必须与 SLACK_COOKIE_D 配对使用。 |
SLACK_COOKIE_D | Cookie 模式 | — | 同一浏览器会话中 d Cookie 的值(xoxd-...)。它会与 SLACK_COOKIE_TOKEN 一同作为 Cookie: 标头发送。 |
SLACK_ADD_MESSAGE_DELAY | 否 | 3m | 外发消息的预定发送时间,可在此期间取消消息。时长格式:30s、5m、2h,或表示秒数的纯整数。设为 0、0s、none 或 false 可停用预定发送并立即发布。 |
选择哪种身份验证模式
此部署目前可用的方式是 Cookie 模式。 令牌模式要求在工作区中创建并获批 Slack 应用;如果无法获得批准,Cookie 模式就是唯一可用的身份验证方式。
Cookie 模式借用现有浏览器会话,而不是持有发给应用的凭据。需要明确说明其影响:
- 这两个值都是有效的会话凭据。任何持有它们的人都能以你的身份在 Slack 中操作,并拥有你的全部权限。请像保护密码一样保护它们。
- 这些凭据会随浏览器会话一起过期,因此 Cookie 模式需要定期重新提取。突然出现大量身份验证失败时,通常意味着会话已轮换,而不是服务出现故障。
- Slack 不会为程序化使用签发这些凭据,并且可以随时将其作废。Cookie 模式是在没有获批应用时采用的变通方案,并非受支持的集成方式。
只要能够实际安装 Slack 应用,就应优先使用 SLACK_USER_TOKEN。
工具
| 工具 | 描述 |
|---|---|
slack_auth_test | 测试连接并获取令牌所有者信息 |
slack_list_channels | 列出工作区频道 |
slack_get_channel_info | 获取频道详情 |
slack_get_channel_history | 读取频道消息 |
slack_get_thread_replies | 读取线程回复 |
slack_list_channel_members | 列出频道成员 |
slack_search_messages | 搜索消息 |
slack_get_reactions | 获取消息回应 |
slack_list_reactions | 列出用户的回应 |
slack_list_stars | 列出已加星标的项目 |
slack_get_user_info | 获取用户详情 |
slack_list_users | 列出工作区成员 |
slack_get_user_profile | 获取用户个人资料 |
slack_list_files | 列出文件(仅元数据) |
slack_get_file_info | 获取文件元数据 |
slack_send_message | 安排在 SLACK_ADD_MESSAGE_DELAY 后发送消息;如果延迟为 0,则立即发布(写入) |
slack_cancel_scheduled_message | 在预定消息发送前取消该消息(写入) |
在令牌模式下,两个写入工具都需要 chat:write 范围。
安全
请参阅 SECURITY.md,了解完整的安全设计文档。
许可证
AGPL-3.0-or-later
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。