← 返回目录
S

Slack MCP Server

社区
用浏览器会话令牌接入 Slack——无需 OAuth、无需管理员审批,21 个工具。
GitHub 源仓库 ↗
★ 29 Stars 分类 · 团队协作 热门
57FMRS · C

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

可靠性
8/20
安全与权限
8/20
维护活跃度
13/20
文档质量
16/20
安装易用性
12/20
查看 FMRS 评分方法 →

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 自动提取四层回退,并具备过期检测与自动刷新。注意:使用浏览器会话令牌属于灰色地带,使用前请确认工作区的可接受使用政策。

工具能力

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
获取线程回复(支持丰富消息字段)
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
跨频道的优先级行动队列(托管版占位工具)

安装接入

需要 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。

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

选型与风险

适合谁

  • 被管理员审批流程阻碍、无法注册 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 会话,泄露即等同于会话泄露

常见排障

  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 等)

使用场景

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

支持客户端

Claude Code完整支持
Claude Desktop完整支持
Cursor完整支持
GitHub Copilot (VS Code)完整支持
Windsurf完整支持
Gemini CLI完整支持
Codex CLI完整支持