返回市场
松弛

松弛

作者:modelcontextprotocol182 星标更新:2025-05-29

项目介绍

Slack MCP 服务器

用于 Slack API 的 MCP 服务器,使 Claude 能够与 Slack 工作区进行交互。

工具

  1. slack_list_channels

    • 列出工作区中的公共或预定义频道
    • 可选输入:
      • limit(数字,默认:100,最大:200):返回的最大频道数量
      • cursor(字符串):分页游标,用于获取下一页
    • 返回值:包含频道 ID 和信息的频道列表
  2. slack_post_message

    • 在 Slack 频道中发布新消息
    • 必要输入:
      • channel_id(字符串):要发布的频道 ID
      • text(字符串):要发布的消息文本
    • 返回值:消息发布确认和时间戳
  3. slack_reply_to_thread

    • 回复特定的消息线程
    • 必要输入:
      • channel_id(字符串):包含线程的频道
      • thread_ts(字符串):父消息的时间戳
      • text(字符串):回复文本
    • 返回值:回复确认和时间戳
  4. slack_add_reaction

    • 向消息添加表情符号反应
    • 必要输入:
      • channel_id(字符串):包含消息的频道
      • timestamp(字符串):要反应的消息时间戳
      • reaction(字符串):不带冒号的表情符号名称
    • 返回值:反应确认
  5. slack_get_channel_history

    • 获取频道中的最近消息
    • 必要输入:
      • channel_id(字符串):频道 ID
    • 可选输入:
      • limit(数字,默认:10):要检索的消息数量
    • 返回值:包含消息内容和元数据的消息列表
  6. slack_get_thread_replies

    • 获取消息线程中的所有回复
    • 必要输入:
      • channel_id(字符串):包含线程的频道
      • thread_ts(字符串):父消息的时间戳
    • 返回值:包含回复内容和元数据的回复列表
  7. slack_get_users

    • 获取工作区用户列表及其基本信息
    • 可选输入:
      • cursor(字符串):分页游标,用于获取下一页
      • limit(数字,默认:100,最大:200):返回的最大用户数量
    • 返回值:包含基本资料的用户列表
  8. slack_get_user_profile

    • 获取特定用户的详细资料信息
    • 必要输入:
      • user_id(字符串):用户的 ID
    • 返回值:详细的用户资料信息

设置

  1. 创建 Slack 应用:

    • 访问 Slack 应用页面
    • 点击“创建新应用”
    • 选择“从零开始”
    • 命名你的应用并选择你的工作区
  2. 配置 Bot Token 权限范围: 导航到“OAuth & 权限”并添加以下范围:

    • channels:history - 查看公共频道中的消息和其他内容
    • channels:read - 查看基本频道信息
    • chat:write - 作为应用发送消息
    • reactions:write - 向消息添加表情符号反应
    • users:read - 查看用户及其基本信息
    • users.profile:read - 查看关于用户的详细资料
  3. 将应用安装到工作区:

    • 点击“安装到工作区”并授权该应用
    • 保存以 xoxb- 开头的“Bot 用户 OAuth Token”
  4. 获取你的团队 ID(以 T 开头),请参阅 此指南

与 Claude Desktop 的使用

在你的 claude_desktop_config.json 中添加以下内容:

NPX

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
        "SLACK_TEAM_ID": "T01234567",
        "SLACK_CHANNEL_IDS": "C01234567, C76543210"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SLACK_BOT_TOKEN",
        "-e",
        "SLACK_TEAM_ID",
        "-e",
        "SLACK_CHANNEL_IDS",
        "mcp/slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
        "SLACK_TEAM_ID": "T01234567",
        "SLACK_CHANNEL_IDS": "C01234567, C76543210"
      }
    }
  }
}

与 VS Code 的使用

快速安装,请点击下面的一个安装按钮...

通过 NPX 在 VS Code 中安装 通过 NPX 在 VS Code Insiders 中安装

通过 Docker 在 VS Code 中安装 通过 Docker 在 VS Code Insiders 中安装

手动安装,请在 VS Code 的用户设置(JSON)文件中添加以下 JSON 块。你可以通过按 Ctrl + Shift + P 并键入 Preferences: Open Settings (JSON) 来执行此操作。

可选地,你可以将其添加到名为 .vscode/mcp.json 的文件中,位于你的工作区中。这将允许你与其他人员共享配置。

注意:.vscode/mcp.json 文件中不需要 mcp 键。

NPX

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "slack_bot_token",
        "description": "Slack Bot Token (starts with xoxb-)",
        "password": true
      },
      {
        "type": "promptString",
        "id": "slack_team_id",
        "description": "Slack Team ID (starts with T)"
      }
    ],
    "servers": {
      "slack": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-slack"],
        "env": {
          "SLACK_BOT_TOKEN": "${input:slack_bot_token}",
          "SLACK_TEAM_ID": "${input:slack_team_id}"
        }
      }
    }
  }
}

Docker

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "slack_bot_token",
        "description": "Slack Bot Token (starts with xoxb-)",
        "password": true
      },
      {
        "type": "promptString",
        "id": "slack_team_id",
        "description": "Slack Team ID (starts with T)"
      }
    ],
    "servers": {
      "slack": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/slack"],
        "env": {
          "SLACK_BOT_TOKEN": "${input:slack_bot_token}",
          "SLACK_TEAM_ID": "${input:slack_team_id}"
        }
      }
    }
  }
}

环境变量

  1. SLACK_BOT_TOKEN:必需。以 xoxb- 开头的 Bot 用户 OAuth Token。
  2. SLACK_TEAM_ID:必需。你的 Slack 工作区 ID,以 T 开头。
  3. SLACK_CHANNEL_IDS:可选。限制频道访问的逗号分隔的频道 ID 列表(例如,“C01234567, C76543210”)。如果未设置,则列出所有公共频道。

故障排除

如果你遇到权限错误,请验证:

  1. 所有必要的范围已添加到你的 Slack 应用
  2. 应用已正确安装到你的工作区
  3. 令牌和工作区 ID 已正确复制到你的配置中
  4. 应用已被添加到需要访问的频道

构建

Docker 构建:

docker build -t mcp/slack -f src/slack/Dockerfile .

许可证

此 MCP 服务器根据 MIT 许可证发布。这意味着你可以自由地使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。更多详情,请参见项目存储库中的 LICENSE 文件。