Slack User MCP Server 使用说明

项目简介

Slack User MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它将 Slack API 的常用功能封装成一系列工具,使得支持 MCP 协议的 LLM 客户端(如 Claude Desktop)能够通过调用这些工具,方便快捷地与 Slack 工作区进行交互。例如,可以让 LLM 客户端帮助你发送 Slack 消息、查询频道信息、获取用户信息等。

主要功能点

  • 集成 Slack API: 提供了一系列工具,允许 LLM 客户端安全地访问和操作 Slack 工作区。
  • 工具化 Slack 功能: 将常用的 Slack 操作封装成易于 LLM 调用的工具,例如:
    • 'slack_list_channels': 列出 Slack 工作区中的公开频道。
    • 'slack_post_message': 在指定的 Slack 频道发送消息。
    • 'slack_reply_to_thread': 回复 Slack 消息线程。
    • 'slack_add_reaction': 给 Slack 消息添加表情符号。
    • 'slack_get_channel_history': 获取 Slack 频道的消息历史记录。
    • 'slack_get_thread_replies': 获取 Slack 消息线程的所有回复。
    • 'slack_get_users': 获取 Slack 工作区用户列表。
    • 'slack_get_user_profile': 获取指定 Slack 用户的详细信息。
  • 易于集成: 可以通过简单的配置,将此 MCP 服务器集成到支持 MCP 协议的 LLM 客户端中。

安装步骤

  1. 克隆仓库
    git clone https://github.com/lars-hagen/slack-user-mcp.git
  2. 进入项目目录
    cd slack-user-mcp
  3. 安装依赖
    npm install
  4. 构建项目
    npm run build

服务器配置

要将 Slack User MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端的 MCP 服务器设置。以下是 Claude Desktop 的 'claude_desktop_config.json' 配置文件示例,展示了如何配置此服务器:

{
  "mcpServers": {
    "slack": {
      "command": "npm",
      "args": [
        "run",
        "--prefix",
        "/path/to/slack-user-mcp", // 请替换为你的本地仓库路径,例如 "/Users/yourname/slack-user-mcp"
        "start"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token", // 请替换为你的 Slack User OAuth Token
        "SLACK_TEAM_ID": "T01234567" // 请替换为你的 Slack Team ID
      }
    }
  }
}

配置参数说明:

  • '"server name"': '"slack"' (服务器名称,可以自定义,用于在客户端中引用)
  • '"command"': '"npm"' (启动服务器的命令,这里使用 npm)
  • '"args"': '["run", "--prefix", "/path/to/slack-user-mcp", "start"]' (命令参数,'--prefix' 指定仓库路径,'"start"' 是 'package.json' 中定义的启动脚本,用于启动服务器)
  • '"env"': 环境变量配置,用于传递 Slack API 密钥等敏感信息
    • '"SLACK_TOKEN"': 必须配置。您的 Slack User OAuth Token,用于 Slack API 鉴权。请参考 README.md 中的 "Setup" 部分获取。
    • '"SLACK_TEAM_ID"': 必须配置。您的 Slack Team ID,用于指定 Slack 工作区。请参考 README.md 中的 "Setup" 部分获取。

重要提示:

  • 请将 '"args"' 中的 '"/path/to/slack-user-mcp"' 替换为 Slack User MCP Server 仓库在您本地文件系统中的实际路径
  • 请将 '"env"' 中的 '"SLACK_TOKEN"' 和 '"SLACK_TEAM_ID"' 替换为您的真实 Slack User OAuth Token 和 Team ID

基本使用方法

  1. 确保您已按照 "服务器配置" 部分正确配置了 MCP 客户端,并填入了有效的 'SLACK_TOKEN' 和 'SLACK_TEAM_ID'。

  2. 启动 Slack User MCP Server。根据您在 'claude_desktop_config.json' 中配置的 '"command"' 和 '"args"',Claude Desktop 会自动启动服务器。如果手动启动,请在项目根目录下运行 'npm run start'。

  3. 在支持 MCP 协议的 LLM 客户端中,您可以使用 '@服务器名称.工具名称' 的格式来调用 Slack 工具。例如,在 Claude Desktop 中,您可以使用 '@slack.slack_list_channels' 工具来列出 Slack 频道。

    例如,在 Claude 中输入:

    @slack.slack_list_channels

    Claude 就会调用 'slack_list_channels' 工具,并返回 Slack 频道列表。您还可以结合自然语言指令来使用工具,例如:

    请使用 @slack.slack_post_message 工具在 #general 频道发送消息 "Hello from Claude!"

请参考仓库 README.md 获取更详细的工具参数和使用示例。

信息

分类

通信与社交