返回市场
松弛用户MCP

松弛用户MCP

作者:lars-hagen9 星标更新:2025-02-09

项目介绍

Slack 用户 MCP 服务器

smithery 徽章

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

<a href="https://glama.ai/mcp/servers/wc0u5519qh"><img width="380" height="200" src="https://gips2.baidu.com/it/u=4246174547,731134760&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Slack 用户服务器 MCP 服务器" /></a>

工具

  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. 配置用户令牌范围: 导航到“OAuth 和权限”并添加以下范围:

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

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

与 Claude Desktop 结合使用

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

本地安装

首先安装并构建服务器:

git clone https://github.com/lars-hagen/slack-user-mcp.git
cd slack-user-mcp
npm install
npm run build

然后配置 Claude Desktop:

{
  "mcpServers": {
    "slack": {
      "command": "npm",
      "args": [
        "run",
        "--prefix",
        "/path/to/slack-user-mcp",
        "start"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

NPX

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack-user"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SLACK_TOKEN",
        "-e",
        "SLACK_TEAM_ID",
        "mcp/slack-user"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

通过 Smithery 安装

要通过 Smithery 自动安装 Slack 用户服务器给 Claude Desktop:

npx -y @smithery/cli install @lars-hagen/slack-user-mcp2 --client claude

故障排除

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

  1. 所有必需的范围都已添加到您的 Slack 应用中
  2. 应用已正确安装到您的工作区
  3. 令牌和工作区ID已正确复制到您的配置中
  4. 应用已被添加到需要访问的频道
  5. 您正在使用的是用户 OAuth 令牌(以 xoxp- 开头),而不是机器人令牌

构建

Docker 构建:

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

许可证

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