mcpField
M
MCP Slack

MCP Slack

本地服务
github.com/crunchtools通信协作22 天前更新

关于 MCP Slack

MCP Slack 是用于访问 Slack 工作区信息、注重安全的服务,供 Claude Code 等 MCP 客户端使用。大多数工具为只读;它也可发送消息,并在定时发送前取消消息。

主要功能

  1. 01读取频道、消息和线程
  2. 02搜索消息并查看表情回应
  3. 03查看工作区用户及文件元数据
  4. 04发送或取消定时消息
  5. 05使用用户 OAuth 或浏览器 Cookie 认证

适用场景

  1. 01查看频道讨论和线程回复
  2. 02搜索工作区中的特定主题
  3. 03检查用户资料和频道成员
  4. 04安排消息发送,并在需要时取消

MCP 相关

它通过工具向 MCP 客户端提供 Slack 工作区的频道、消息、用户、文件元数据及消息操作。认证使用用户 OAuth 令牌或一组浏览器会话 Cookie。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"crunchtools-slack": {
"command": "uvx",
"args": [
"mcp-slack-crunchtools"
]
}
}
}
启动命令uvx mcp-slack-crunchtools

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

安装包
pypimcp-slack-crunchtools0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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_TOKENCookie 模式—浏览器会话令牌(xoxc-...)。必须与 SLACK_COOKIE_D 配对使用。
SLACK_COOKIE_DCookie 模式—同一浏览器会话中 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

评论

支持 Markdown

第一次接触 MCP?

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

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