松弛MCP
你的整个Slack工作空间——可供任何AI使用。
 
A. 模型上下文协议 赋予LLM完全访问权限的服务器 Slack.
消息、频道、文件、画布、列表、搜索、反应——所有这些。
220工具 · 36个API系列 · 每个Slack功能
______________________________________________________________________
快速开始
1.创建Slack应用程序
- 首选 api.slack.com/apps > 创建新应用程序 > 从清单
- 粘贴以下内容
manifest.json - 安装到您的工作区
- 复制 用户OAuth令牌 (
xoxp-...)从 OAuth和权限
2.添加到您的AI客户端
Claude Code
claude mcp add slack -- uvx --from git+https://github.com/karbassi/slack-mcp.git slack-mcp然后设置 SLACK_XOXP_TOKEN 在您的shell环境中。
Claude Desktop
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"slack": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/slack-mcp.git", "slack-mcp"],
"env": {
"SLACK_XOXP_TOKEN": "xoxp-..."
}
}
}
}Cursor
添加 ~/.cursor/mcp.json:
{
"mcpServers": {
"slack": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/slack-mcp.git", "slack-mcp"],
"env": {
"SLACK_XOXP_TOKEN": "xoxp-..."
}
}
}
}Windsurf
添加 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"slack": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/slack-mcp.git", "slack-mcp"],
"env": {
"SLACK_XOXP_TOKEN": "xoxp-..."
}
}
}
}VS Code / GitHub Copilot
添加到您的VS代码 settings.json:
{
"mcp": {
"servers": {
"slack": {
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/slack-mcp.git", "slack-mcp"],
"env": {
"SLACK_XOXP_TOKEN": "xoxp-..."
}
}
}
}
}Local clone
{
"mcpServers": {
"slack": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/slack-mcp", "slack-mcp"]
}
}
}它能做什么?
*“从今天开始,跟我聊聊#engineering”* *“回复Sarah的帖子,说我们将于周一发货”* *“搜索有关Q3路线图的任何信息”* *“创建一个名为#project atlas的频道,并邀请设计团队”*
| 域 | 工具 | 亮点 |
|---|---|---|
| 对话 | 28 | 历史、线程、回复、创建、存档、邀请、标记已读 |
| 无证 | 28 | 草稿、保存的项目、表情符号管理、细粒度搜索、侧边栏、线程 |
| 文件 | 16 | 上传、共享、编辑、列出、远程文件 |
| 聊天 | 14 | 发送、回复、计划、更新、删除、短暂 |
| 用户 | 12 | 个人资料、存在、查找、列表 |
| 列表 | 12 | 创建、编辑项目、管理访问权限 |
| 遗产 | 11 | Slash命令、文件编辑、机器人列表 |
| 团队 | 9 | 信息、偏好、访问日志、计费 |
| 应用 | 8 | 清单、连接、授权 |
| 用户组 | 7 | 创建、更新、管理成员 |
| 工作流 | 7 | 特色工作流程,步骤完成 |
| 画布 | 6 | 创建、编辑、分区、访问控制 |
| 呼叫 | 6 | 开始、结束、管理参与者 |
| +23更多 | DND,提醒,书签,反应,pin,星星,视图,搜索,授权,机器人,表情符号。.. |
加 resolve_names (批量ID→名称解析)和 cache_clear (按需破坏响应缓存)实用工具。
API官方之外
39个未记录和遗留的端点——与Slack自己的应用程序使用的内部API相同。需要会话令牌(xoxc+xoxd).
Session endpoints — workspace state the official API doesn't expose
| 端点 | 它提供了什么 |
|---|---|
client.boot | 全工作区引导——频道、用户、首选项、功能标志 |
client.counts | 每个通道/DM/线程的未读计数加上提及计数 |
client.userBoot | 特定于经过身份验证的用户的引导数据 |
threads.getView | 线程收件箱——具有已读/未读状态的线程列表 |
subscriptions.thread.mark | 将单个线程标记为已读或未读 |
drafts.list | 列出所有未发送的邮件草稿 |
drafts.create | 使用Block Kit文本创建消息草稿 |
drafts.update | 编辑现有草稿 |
drafts.delete | 删除草稿 |
saved.list | 为以后的项目保存列表 |
saved.add | 保存邮件以备后用,并可选择截止日期 |
saved.delete | 删除为以后保存的项目 |
emoji.add | 从URL添加自定义表情符号 |
emoji.remove | 删除自定义表情符号 |
emoji.adminList | 具有丰富元数据的表情符号-上传器、日期、使用统计数据 |
search.modules.messages | 细粒度邮件搜索 |
search.modules.files | 文件特定搜索 |
search.modules.channels | 按名称或主题搜索服务器端频道 |
search.modules.people | 按姓名、职务、部门进行模糊人员搜索 |
search.modules.dms | 仅在DM中搜索 |
conversations.view | 具有读取状态和个人配置的频道视图 |
conversations.listPrefs | 每个频道的通知和静音偏好 |
users.channelSections.list | 侧边栏组织——自定义部分、收藏夹 |
users.priority.list | 按交互频率排列的联系人 |
experiments.getByUser | A/B测试实验作业 |
api.features | 工作区功能标志 |
aiApps.list | 在工作空间中配置的AI应用程序 |
Legacy endpoints — functionality missing from the official API
| 端点 | 它提供了什么 |
|---|---|
chat.command | 以编程方式执行斜线命令 |
commands.list | 列出所有斜线命令,包括自定义命令 |
files.edit | 就地编辑文件的标题、内容或文件类型 |
files.share | 将文件共享到频道 |
bots.list | 列出工作区中的所有机器人用户 |
team.prefs.get | 团队级首选项——保留、权限、域 |
users.prefs.get | 所有用户偏好——通知、侧边栏、主题 |
users.prefs.set | 设置任何个人用户首选项 |
users.admin.invite | 通过电子邮件邀请用户(企业网格) |
users.admin.setInactive | 停用用户帐户(企业网格) |
channels.delete | 死方法——为了完整性而包含在内 |
\[!警告\] 未记录的端点可能会中断,恕不另行通知。他们使用会话令牌(xoxc+xoxd)这些Cookie过期,必须从浏览器Cookie中重新抓取。
认证
| 变量 | 必填 | 描述 |
|---|---|---|
SLACK_XOXP_TOKEN | 是 | Slack应用程序中的用户OAuth令牌 |
SLACK_XOXC_TOKEN | 否 | 未记录端点的浏览器会话令牌 |
SLACK_XOXD_TOKEN | 否 | 浏览器会话cookie(与配对 xoxc) |
\[!提示\] 这xoxp令牌涵盖所有Slack Web API工具。实用工具,如resolve_names和cache_clear无需额外身份验证即可工作。对于未记录的端点(未读计数、工作区启动、文件编辑),您还需要xoxc+xoxd--登录slack.com时从浏览器Cookie中获取它们。
缓存
响应会自动缓存以减少API调用:
- 稳定数据 (用户、团队、机器人、表情符号)-1小时TTL
- 动态数据 (频道列表、成员、书签)-5分钟TTL
- 旧线程 (
conversations_repliests>1小时)-1小时TTL - 有限的历史 (
conversations_history使用旧日期范围)--1小时TTL - 解析名称 (用户/机器人→ 1 小时,频道→ 5 分钟)
缓存存储在平台本机位置(~/Library/Caches/slack-mcp 在macOS上, ~/.cache/slack-mcp 在Linux上)。集 XDG_CACHE_HOME 以覆盖。
使用 cache_clear 当您需要新数据时,该工具会破坏缓存。
名称解析
所有工具响应都会自动解析用户、频道、DM和机器人ID,以通过 resolved_names 字段——不需要额外的工具调用。解析的名称是磁盘缓存的,以避免重复的API查找。
响应压实
15个高容量工具自动从Slack API响应中去除膨胀-块(重复文本)、附件(链接展开)、缩略图(每个文件22个)和元数据噪音。实测减少量:
| 终点 | 之前 | 之后 | 减少 |
|---|---|---|---|
conversations.history | 465 KB | 113 KB | 76% |
files.list | 127 KB | 26 KB | 80% |
conversations.list | 59 KB | 17 KB | 71% |
reactions.list | 353 KB | 167 KB | 53% |
默认情况下,“压缩”处于启用状态。通过 detailed=True 以获得Slack API的完整响应。
发展
git clone https://github.com/karbassi/slack-mcp.git
cd slack-mcp
uv sync
mise run check # test + lint + security scan
mise run test:integration # requires tokens in .env\[!注意\] 约68个集成测试被跳过,因为它们需要bot令牌(xoxb)Slack Connect、交互式触发器(例如。views.open),或具有破坏性(例如。auth.revoke).添加机器人令牌支持是未来的目标。

