← 返回目录
S

Slack MCP Server

社区
用浏览器会话令牌接入 Slack——无需 OAuth、无需管理员审批,21 个工具。
分类
团队协作 第 20 / 55
Stars
★ 32 热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Node.js 20+ · Docker
凭据
需要 API Key / 凭据
许可证
MIT
最近提交
工具数
21
57FMRS · C

一个设计诚实、文档详尽的非官方 Slack MCP 服务器,以浏览器会话令牌绕过 OAuth 审批流程,21 个工具覆盖读、写与工作流,安全措施(chmod 600、钥匙串、npm provenance 签名)到位。最大注意事项是条款灰色地带与约 1–2 周的令牌轮换。

最强项 · 文档质量 16/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
8/20
维护活跃度
13/20
文档质量
16/20
安装易用性
12/20
查看各项评分依据
可靠性 8/20
仅提供 README 与 server.json,未提供实际 CI workflow 文件内容或测试用例代码,只有一个 CI 徽章作为声称的证据,无法核实。Contributing 部分仅要求贡献者对改动文件运行 `node --check`(仅语法检查),没有提到单元测试或集成测试套件,说明关键路径(token 提取、四层回退、Chrome 解密、写路径工具)缺乏可核查的自动化验证。工具列表与描述内部基本一致,manifest 版本与 npm 包版本一致,未发现明显矛盾。按静态校准规则,在没有可验证的 CI+测试证据时不得超过 12 分,故评为 8 分。
安全与权限 8/20
该服务器的核心机制是从 Chrome 本地磁盘(LevelDB、Cookie SQLite)提取并用 Keychain 派生密钥解密用户自己的 Slack 会话令牌(xoxc-/xoxd-),本质是自动化用户自身已登录的会话,而非窃取他人凭证,且文档对此做了较为坦诚的风险披露(“Is this against Slack's terms?”)。凭证存储有一定良好实践:token 文件 chmod 600、原子写入、并发互斥锁、可选 macOS Keychain-only 模式(声称零明文落盘)、无法识别的存储模式会直接 fail-closed。但存在明显欠缺:四个写路径工具(发送消息、加/删表情、标记已读)仅通过 MCP 的 destructive 注解“提示”客户端,服务器本身未描述任何强制确认或速率限制机制,是否真正拦截取决于客户端实现;托管版“hosted brain”会将工作区数据发送到第三方域名(mcp.revasserlabs.com),但源码材料中未提供其数据处理细则;该项目还将“对管理员不可见/无需批准”作为卖点进行营销,这在客观上规避了组织的常规治理可见性,即便声称不影响后端合规导出。未发现红线级问题(无恶意代码、无隐蔽外泄、无真实密钥示例、无未经确认的不可逆默认操作),故不落入 0-4 区间,但确认/授权范围不完整,评为 8 分。
维护活跃度 13/20
仓库使用 MIT 许可证,不存在归档情况,npm 包发布并附带 provenance 签名,版本号为 5.0.0 表明经历多次迭代,README 中提及具体贡献者补丁(#143,@rvandam,4.4.0 版本)显示存在外部社区贡献与版本追踪。但源材料中没有具体的提交日期、发布历史或问题响应时间的可核查记录,贡献指南也十分简略(仅要求跑 node --check),缺乏更完整的治理证据(如 CHANGELOG 内容、issue 处理流程细节)。综合评为 13 分。
文档质量 16/20
README 本身内容详尽,涵盖安装步骤(8 种客户端配置示例)、21 个工具的功能与安全标注表、四层令牌存储回退机制、Chrome 提取原理、多工作区配置、令牌过期处理、限流与定价信息,并链接到 SETUP.md、API.md、ARCHITECTURE.md、TROUBLESHOOTING.md 等分层文档。文档质量整体较高,示例具体且解释了已知局限(如 Windows/Linux 无自动刷新、rich_message_fields 的额外开销)。但由于仅提供 README 文本而未提供这些被引用子文档的实际内容,其准确性无法在本次静态审查中核实,应有所扣分。评为 16 分。
安装易用性 12/20
安装步骤描述简洁(一条 npx 命令 + 客户端配置片段),覆盖多种主流客户端和 Docker 部署方式,存在版本化 CI 徽章。但静态校准规则要求在没有可验证的 CI 与测试证据支撑执行路径的情况下,setup 分数不得超过 15。同时安装存在平台碎片化问题:令牌自动提取及自动刷新仅支持 macOS + Chrome,Windows/Linux 用户需手动获取并粘贴 xoxc-/xoxd- 令牌到配置中,增加了实际操作的复杂性和出错可能性。综合评为 12 分。

静态评测 · 未实际运行收录于 2026-09-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络修改第三方账户数据

适合谁

  • 被管理员审批流程阻碍、无法注册 OAuth 应用的开发者
  • 同时使用 Claude Code、Cursor、Copilot、Windsurf、Gemini CLI、Codex CLI 等多种客户端的用户
  • 希望在本地掌控令牌与数据的自托管用户

不适合谁

  • 工作区可接受使用政策禁止非官方客户端的用户(可考虑其 OAuth 托管版)
  • 不希望复用个人浏览器会话凭据的合规敏感环境
  • 需要官方 Slack 支持的团队(本项目与 Slack Technologies 无关)

所需权限

  • 需要 Slack 浏览器会话令牌(xoxc-)和 cookie(xoxd-),代理权限与你的浏览器会话完全相同
  • macOS 上 Chrome 自动提取需读取 Chrome 本地 LevelDB 与钥匙串中的 Chrome Safe Storage 密钥
  • 写入类工具(发消息、反应、标记已读)均带 MCP 破坏性注解,客户端可据此设门槛

风险与副作用

  • 使用浏览器会话令牌属于 Slack 条款的灰色地带,属非官方客户端
  • 虽无应用安装痕迹(管理面板不可见),但流量仍受工作区的合规导出、DLP 和保留策略约束
  • 浏览器会话令牌约每 1–2 周过期,需定期重新提取或使用托管版 OAuth
  • 令牌等同于你的完整 Slack 会话,泄露即等同于会话泄露

安装接入

准备工作

运行环境:Node.js 20+ · Docker

SLACK_TOKEN 可选密钥
SLACK_COOKIE 可选密钥
SLACK_MCP_HTTP_AUTH_TOKEN 可选密钥
其他可选配置项(5 个)
SLACK_MCP_TOKEN_STORAGE 可选
SLACK_MCP_PROFILE 可选
SLACK_MCP_CHROME_PROFILE 可选
SLACK_MCP_HTTP_ALLOWED_ORIGINS 可选
SLACK_MCP_NO_UPSELL 可选

需要 Node.js 20+。运行 npx -y @jtalk22/slack-mcp --setup 提取并校验令牌;在客户端配置中注册(如 Claude Desktop 的 claude_desktop_config. 加入 {"mcpServers":{"slack":{"command":"npx","args":["-y","@jtalk22/slack-mcp"]}}}),重启客户端后调用 slack_health_check 验证连接。macOS 可从 Chrome 自动提取令牌;其他平台需通过环境变量 SLACK_TOKEN(xoxc-)和 SLACK_COOKIE(xoxd-)提供。也可用 Docker 镜像 ghcr.io/jtalk22/slack-mcp-server。

.mcp.json
{"mcpServers":{"slack":{"command":"npx","args":["-y","@jtalk22/slack-mcp"]}}}

以 Claude Code 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@jtalk22/slack-mcp"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add slack -- npx -y @jtalk22/slack-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在客户端注册服务器并重启后,让 agent 运行 slack_health_check——回复中出现工作区名称即表示连接成功。

常见排障

  1. 令牌过期:重新运行 npx -y @jtalk22/slack-mcp --setup,或 macOS 上调用 slack_refresh_tokens
  2. DM 不显示:调用 slack_list_conversations 时设置 discover_dms=true
  3. 客户端看不到工具:检查配置 JSON 语法并完全重启客户端(MCP 服务器在启动时快照)
  4. Chrome 提取失败:查看具体失败代码(keychain_timeout、no_slack_cookie_row、cookie_decrypt_failed 等)

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 列出我所有有未读消息的频道和私信
  • 搜索工作区里关于项目截止日期的消息,并给出关键讨论的摘要
  • 给 #general 频道的最新一条消息加一个 👍 表情回应
  • 保存一个名为 exec_brief 的工作流,绑定我指定的几个频道

工具能力 21

slack_health_check 只读
验证令牌有效性并返回工作区信息
slack_token_status 只读
查看令牌年龄、健康状态和缓存统计(只读)
slack_refresh_tokens 只读
从 Chrome 自动提取新令牌(仅写本地令牌文件)
slack_list_conversations 只读
列出 DM 和频道
slack_conversations_history 只读
获取频道或 DM 的消息(支持丰富消息字段)
slack_get_full_conversation 只读
导出含线程的完整历史(支持丰富消息字段)
slack_search_messages 只读
跨工作区搜索消息(支持丰富消息字段)
slack_get_thread 只读
获取线程回复(支持丰富消息字段)
展开其余 13 个工具
slack_users_info 只读
获取用户详细信息
slack_list_users 只读
分页列出工作区用户(500+)
slack_users_search 只读
按姓名、显示名或邮箱搜索用户
slack_conversations_unreads 只读
获取有未读消息的频道/DM
slack_send_message 破坏性
向任意会话发送消息(破坏性)
slack_add_reaction 破坏性
为消息添加表情反应(破坏性)
slack_remove_reaction 破坏性
移除消息的表情反应(破坏性)
slack_conversations_mark 破坏性
标记会话为已读(破坏性)
slack_workflow_save 写入
将工作流配置保存到 ~/.slack-mcp-workflows.(本地写入)
slack_workflows 只读
列出已保存的工作流配置(只读)
slack_smart_search 只读
跨索引频道的语义搜索(托管版占位工具)
slack_catch_me_up 只读
AI 摘要未读消息与优先线程(托管版占位工具)
slack_triage 只读
跨频道的优先级行动队列(托管版占位工具)

使用场景

让代理汇总未读消息并生成晨间简报
跨工作区搜索历史决策和讨论
导出完整线程用于归档或分析
用工作流配置(incident_room、exec_brief、support_inbox 等)将 Slack 转为结构化数据源
由代理代发消息、添加反应或标记已读

支持客户端

Claude Code
Claude Desktop
Cursor
VS Code
Windsurf
Gemini CLI
Codex

依据项目文档列出,未经本站实测。

详细介绍

Slack MCP Server 是一个开源(MIT)MCP 服务器,让 AI 代理直接读取和操作你的 Slack 工作区。它不使用 Slack 官方的 OAuth 应用注册流程,而是复用浏览器中已有的 xoxc- 令牌和 xoxd- cookie 来调用 Slack 自身的 API,因此无需注册应用、无需管理员批准、工作区管理面板中也不会出现任何应用。提供 21 个工具:12 个只读工具(未读、历史、线程、搜索、用户)、4 个带破坏性注解的写入工具(发消息、表情反应、标记已读)、2 个本地工作流配置工具,以及 3 个托管版 AI 摘要功能的占位工具。支持通过 npx 运行(Node.js 20+)、Docker 镜像、自托管 HTTP 模式,以及可选的托管版(mcp.revasserlabs.com,提供永久 OAuth 和 AI 摘要)。令牌存储支持环境变量、本地文件(chmod 600)、macOS 钥匙串和 Chrome 自动提取四层回退,并具备过期检测与自动刷新。注意:使用浏览器会话令牌属于灰色地带,使用前请确认工作区的可接受使用政策。

同类可选方案

源版本 fa2bedac114d 数据同步于 2026-10-19 查看 FMRS 评分方法