首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
servers2025-05-268分享
github
支持 Slack API,提供Claude与Slack工作区交互。
By modelcontextprotocol
2025-05-268
github
详情内容

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 (string): 包含该线程的频道ID
      • thread_ts (string): 父消息的时间戳
    • 返回值:包含回复内容和元数据的回复列表
  7. slack_get_users

    • 获取工作区用户的列表以及基本个人资料信息
    • 可选输入:
      • cursor (string): 用于获取下一页的分页游标
      • limit (number, default: 100, max: 200): 最多返回的用户数量
    • 返回值:包含其基本资料的用户的列表
  8. slack_get_user_profile

    • 获取特定用户的详细个人资料信息
    • 必需输入:
      • user_id (string): 用户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 中使用

如需快速安装,请点击以下安装按钮之一…

在 VS Code 中使用 NPX 安装 在 VS Code Insiders 中使用 NPX 安装

在 VS Code 中使用 Docker 安装 在 VS Code Insiders 中使用 Docker 安装

手动安装:在 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(以 xoxb- 开头)",
        "password": true
      },
      {
        "type": "promptString",
        "id": "slack_team_id",
        "description": "Slack Team ID(以 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(以 xoxb- 开头)",
        "password": true
      },
      {
        "type": "promptString",
        "id": "slack_team_id",
        "description": "Slack Team ID(以 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-开头的机器人用户 OAuth 令牌。
  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 文件。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档