Slack API服务端

Slack MCP Server是一个使Claude能够与Slack工作区交互的API服务端,支持消息发送、频道管理、用户信息获取等功能。

  • by modelcontextprotocol
  • JavaScript
  • 本地部署
  • 305 星标
  • 更新于
在 GitHub 查看 modelcontextprotocol/servers-archived

使用说明

Slack MCP服务器

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

工具

  1. slack_list_channels

    • 列出工作区中的公共或预定义频道
    • 可选输入:
      • limit (数字,默认值:100,最大值:200):要返回的最大通道数
      • cursor (string):下一页的分页光标
    • 返回:通道列表及其ID和信息
  2. slack_post_message

    • 在Slack频道发布新消息
    • 所需输入:
      • channel_id (string):要发布的频道的ID
      • text (string):要发布的消息文本
    • 返回:消息发布确认和时间戳
  3. slack_reply_to_thread

    • 回复特定消息线程
    • 所需输入:
      • channel_id (string):包含线程的通道
      • thread_ts (string):父消息的时间戳
      • text (string):回复文本
    • 返回:回复确认和时间戳
  4. slack_add_reaction

    • 在消息中添加表情符号反应
    • 所需输入:
      • channel_id (string):包含消息的通道
      • timestamp (string):要响应的消息时间戳
      • reaction (字符串):不带冒号的表情符号名称
    • 返回:反应确认
  5. slack_get_channel_history

    • 从频道获取最新消息
    • 所需输入:
      • channel_id (string):通道ID
    • 可选输入:
      • limit (数字,默认值:10):要检索的邮件数
    • 返回:消息及其内容和元数据的列表
  6. slack_get_thread_replies

    • 获取消息线程中的所有回复
    • 所需输入:
      • channel_id (string):包含线程的通道
      • thread_ts (string):父消息的时间戳
    • 返回:回复列表及其内容和元数据
  7. slack_get_users

    • 获取包含基本配置文件信息的工作区用户列表
    • 可选输入:
      • cursor (string):下一页的分页光标
      • limit (数字,默认值:100,最大值:200):可返回的最大用户数
    • 返回:用户及其基本配置文件的列表
  8. slack_get_user_profile

    • 获取特定用户的详细个人资料信息
    • 所需输入:
      • user_id (string):用户的ID
    • 返回:详细的用户配置文件信息

设置

  1. 创建Slack应用程序:

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

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

    • 点击“安装到工作区”并授权应用程序
    • 保存以开头的“Bot用户OAuth令牌” xoxb-
  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"
      }
    }
  }
}

码头工人

{
  "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代码

要快速安装,请单击下面的安装按钮之一。..

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

请注意 mcp 中不需要密钥 .vscode/mcp.json 文件。

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}"
        }
      }
    }
  }
}

码头工人

{
  "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:必填。以开头的Bot用户OAuth令牌 xoxb-.
  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文件。