项目简介

Slack MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用。它允许支持 MCP 的大型语言模型 (LLM) 客户端(如 Claude Desktop)与你的 Slack 工作区进行交互,获取上下文信息,特别是读取聊天记录和频道信息。它无需在 Slack 中创建机器人应用或获得工作区管理员批准,使用个人用户的认证令牌进行访问。

主要功能点

该服务器提供以下核心功能:

  • 获取频道对话历史: LLM 可以调用此工具获取指定 Slack 频道的聊天消息历史。
  • 获取频道列表: LLM 可以调用此工具列出可访问的频道。
  • 支持多种传输协议: 支持 Stdio (标准输入/输出) 和 SSE (Server-Sent Events) 两种与 MCP 客户端通信的方式。

安装步骤

  1. 获取 Slack 认证令牌:

    • 在浏览器中登录你的 Slack 工作区。
    • 打开浏览器的开发者工具(通常是 F12)。
    • 切换到“控制台”(Console)标签。
    • 允许粘贴(如果需要)。
    • 粘贴以下 JavaScript 代码并执行,获取 'xoxc-' 开头的令牌:
      JSON.parse(localStorage.localConfig_v2).teams[document.location.pathname.match(/^\/client\/([A-Z0-9]+)/)[1]].token
    • 切换到“应用”(Application)或“存储”(Storage)标签,找到“Cookies”,查找名为 'd' 的 Cookie。复制其值 ('xoxd-' 开头)。
    • 将这两个令牌安全保存好。
  2. 安装服务器:

    • 使用 npx: 如果安装了 Node.js 和 npm,可以使用 npx 方便运行:'npx -y slack-mcp-server@latest --transport stdio'。
    • 使用 Docker: 拉取并运行 Docker 镜像:
      export SLACK_MCP_XOXC_TOKEN=你的_xoxc_令牌
      export SLACK_MCP_XOXD_TOKEN=你的_xoxd_令牌
      docker run -i --rm -e SLACK_MCP_XOXC_TOKEN -e SLACK_MCP_XOXD_TOKEN ghcr.io/korotovsky/slack-mcp-server --transport stdio
      也可以使用 'docker-compose' 方式,详情请参考仓库 README。

服务器配置

MCP 服务器需要由支持 MCP 的客户端应用来启动和管理。以下是配置 MCP 客户端(例如 'claude_desktop_config.json')以使用此服务器的示例结构和说明:

客户端配置文件通常有一个 'mcpServers' 部分,你在其中定义服务器:

{
  "mcpServers": {
    "slack": {
      // ... 服务器配置细节 ...
    }
  }
}

对于 Slack MCP 服务器,一个典型的 Stdio 传输配置如下:

{
  "mcpServers": {
    "slack": {
      // 给服务器起一个名称,客户端界面可能会显示
      "name": "Slack (MCP)",
      // 启动服务器进程的命令,使用 npx 运行 Node.js 包装器
      "command": "npx",
      // 传递给 command 的参数,-y 表示同意安装,指定包名和传输方式
      "args": [
        "-y",
        "slack-mcp-server@latest",
        "--transport",
        "stdio"
      ],
      // 传递给服务器进程的环境变量,包含认证令牌
      "env": {
        "SLACK_MCP_XOXC_TOKEN": "在这里填写你的 xoxc- 令牌",
        "SLACK_MCP_XOXD_TOKEN": "在这里填写你的 xoxd- 令牌"
      }
    }
  }
}

如果你需要使用 SSE 传输(例如配合 'mcp-remote' 或部署在服务器上),配置会有所不同,通常 'command' 和 'args' 会指向 'mcp-remote' 或直接指向你的部署方式,并需要配置 'SLACK_MCP_SSE_API_KEY' 环境变量进行认证。详细配置请参考仓库 README 中的 SSE 部分。

基本使用方法

配置完成后,启动你的 MCP 客户端应用。客户端会自动根据配置启动或连接到 Slack MCP 服务器。一旦连接成功,LLM 将能够感知并使用服务器提供的工具。

你可以尝试向 LLM 发出类似以下指令:

  • “列出我能访问的 Slack 频道。”
  • “总结一下 #general 频道最近一天的聊天记录。”
  • “查找频道 #team-chat 中关于项目进展的消息。”

LLM 会调用相应的 MCP 工具('channels_list' 或 'conversations_history')来获取信息,并利用这些信息进行回应。

信息

分类

通信与社交