mcpField
S
Slack MCP Server

Slack MCP Server

本地服务
github.com/edrigu1989通信协作083 周前更新

关于 Slack MCP Server

Slack MCP Server 为 Claude 等 MCP 客户端提供 Slack 工作区消息与用户资料操作,涵盖频道查询、消息和线程读取、发帖、表情回应及用户详情。

主要功能

  1. 01列出公开频道
  2. 02读取频道历史消息
  3. 03读取线程回复
  4. 04发布消息和线程回复
  5. 05添加表情回应
  6. 06获取用户及资料

适用场景

  1. 01查看频道近期对话
  2. 02发布动态或回复线程
  3. 03回应 Slack 消息
  4. 04查询工作区用户

MCP 相关

它向 MCP 客户端提供 Slack API 工具,支持频道、消息、回应及用户相关操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"slack-mcp-server-edrigu1989": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 Apps 页面
    • 点击“Create New App”
    • 选择“From scratch”
    • 为应用命名并选择工作区
  2. 配置 Bot Token 权限范围: 前往“OAuth & Permissions”并添加以下权限范围:

    • channels:history - 查看公开频道中的消息和其他内容
    • channels:read - 查看频道的基本信息
    • chat:write - 以应用身份发送消息
    • reactions:write - 为消息添加表情回应
    • users:read - 查看用户及其基本信息
  3. 将应用安装到工作区:

    • 点击“Install to Workspace”并授权该应用
    • 保存以 xoxb- 开头的“Bot User OAuth Token”
  4. 按照此指南获取 Team 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"
      }
    }
  }
}
docker
{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SLACK_BOT_TOKEN",
        "-e",
        "SLACK_TEAM_ID",
        "mcp/slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}
故障排除

如果遇到权限错误,请确认:

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

构建

Docker 构建:

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

许可证

此 MCP 服务采用 MIT License 许可。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT License 的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。