mcpField
S
Slack MCP Server

Slack MCP Server

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

关于 Slack MCP Server

Slack MCP Server 让 AI 助手通过 Slack API 读取和发送工作区消息,并可使用用户令牌代表用户操作。适用于需要访问频道、私信、用户资料和消息线程的 Slack 工作流。

主要功能

  1. 01列出工作区频道和用户
  2. 02读取频道历史消息
  3. 03读取私信及线程回复
  4. 04以用户身份发送消息
  5. 05添加消息回应

适用场景

  1. 01查看频道近期消息
  2. 02在频道或私信中发送消息
  3. 03获取线程回复并添加回应

MCP 相关

作为 MCP 服务,它向 MCP 客户端提供 Slack 工具,用于读取频道与消息、查看用户资料、发送消息、回复线程和添加回应。采用用户令牌认证,可代表用户发送消息。

配置

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

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

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

安装包
ocibuild

工具

还没有获取到工具列表

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

详细介绍

Slack MCP 服务

从 https://github.com/modelcontextprotocol/servers/tree/0ad83e8dda5f3a46f0157c6f2c45e03f397d11a1/src/slack 派生

将身份验证方式从机器人令牌改为用户令牌,以便在更多使用场景中使用此 MCP 服务,例如读取私信和代表用户发送消息。

用于 Slack API 的 MCP 服务,可让 Claude 与 Slack 工作区交互。

设置

  1. 创建 Slack App:

    • 访问 Slack Apps 页面
    • 点击“Create New App”
    • 选择“From scratch”
    • 将应用命名为“Slack MCP Server”,并选择你的工作区
  2. 配置用户令牌范围: 前往“OAuth & Permissions”,并为用户令牌添加以下范围:

    • channels:history - 查看公开频道中的消息及其他内容
    • channels:read - 查看频道基本信息
    • chat:write - 以用户身份发送消息
    • reactions:write - 为消息添加表情符号反应
    • users:read - 查看用户及其基本信息
    • users.profile:read - 查看用户的详细个人资料
    • groups:history - 查看私有频道中的消息及其他内容
    • groups:read - 查看频道基本信息
    • groups:write - 向私有频道发送消息
    • im:history - 查看私信中的消息及其他内容
    • im:read - 查看私信基本信息
    • im:write - 发送私信
    • mpim:history - 查看多人私信中的消息及其他内容
    • mpim:read - 查看多人私信基本信息
    • mpim:write - 发送多人私信
  3. 将应用安装到工作区:

    • 点击“Install to Workspace”并授权应用
    • 保存以 xoxp- 开头的“User OAuth Token”
  4. 运行 npm install 安装依赖。

工具

  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
    • 返回:详细的用户个人资料信息
在 Claude Desktop 中使用

将以下内容添加到 claude_desktop_config.json:

NPX
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-your-user-token"
      }
    }
  }
}
docker
{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "SLACK_USER_TOKEN"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-your-bot-token"
      }
    }
  }
}
环境变量
  1. SLACK_USER_TOKEN:必需。以 xoxp- 开头的 Bot User OAuth Token。
故障排除

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

  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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。