Slack MCP 服务器使用说明

项目简介

本项目 'slack-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM(大语言模型)客户端与 Slack 工作区之间的桥梁。通过此服务器,LLM 应用可以利用标准化的 MCP 协议,安全、便捷地调用 Slack API 提供的各项功能,例如发送消息、获取频道信息、添加反应等,从而扩展 LLM 在工作场景中的应用能力。

主要功能点

  • 频道操作:
    • 列出公开频道
    • 获取频道历史消息
  • 消息操作:
    • 发送消息到频道
    • 回复消息线程
    • 添加消息反应(表情符号)
    • 获取线程回复
  • 用户操作:
    • 列出工作区用户
    • 获取用户个人资料

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Chandrakant0110/slack-mcp.git
    cd slack-mcp
  2. 安装依赖: 根据您使用的包管理器选择以下命令之一:

    npm install

    或者

    yarn install
  3. 构建项目: 编译 TypeScript 代码:

    npm run build

    或者

    yarn build

服务器配置

MCP 客户端需要配置以下信息以连接到 Slack MCP 服务器。请将以下 JSON 配置添加到您的 MCP 客户端配置中 (例如 Cursor 编辑器的 MCP Tool 配置):

{
  "serverName": "slack-mcp",  // MCP 服务器名称,可以自定义
  "command": "node",          // 运行 MCP 服务器的命令,这里使用 Node.js 运行
  "args": [                   // 启动命令的参数
    "/path/to/slack-mcp/dist/index.js" // MCP 服务器入口文件路径,请替换为实际路径
  ],
  "configuration": {         // (可选)  服务器特定的配置,本示例中无需配置
  }
}

请务必替换 '/path/to/slack-mcp/dist/index.js' 为您本地 'slack-mcp' 项目 'dist/index.js' 文件的绝对路径。

Slack API 凭证配置:

在运行服务器之前,您需要配置 Slack API 凭证。

  1. 打开 'index.ts' 文件: 在您的 'slack-mcp' 项目根目录下找到 'index.ts' 文件。

  2. 配置 Slack Bot Token 和 Team ID: 在 'SlackClient' 类中,找到以下两行代码:

    public static readonly BOT_TOKEN = "enter-your-bot-token-here";
    public static readonly TEAM_ID = "enter-your-team-id-here";

    将 '"enter-your-bot-token-here"' 替换为您的 Slack Bot Token,将 '"enter-your-team-id-here"' 替换为您的 Slack Team ID

    如何获取 Slack Bot Token 和 Team ID:

    • 创建 Slack App 并获取 Bot Token: 您需要在 Slack 工作区创建一个 Slack App,并为其添加 Bot 用户。在 App 的设置页面中,您可以找到并复制 Bot Token。
    • 获取 Slack Team ID: Team ID 通常可以在 Slack 工作区的 URL 中找到,或者在工作区设置中查找。

    安全提示: 请妥善保管您的 Slack Bot Token,避免泄露。建议使用环境变量等更安全的方式管理敏感信息,而不是直接修改代码中的硬编码值。

基本使用方法

  1. 启动 MCP 服务器: 在您的 'slack-mcp' 项目根目录下,运行以下命令启动服务器:

    node dist/index.js

    服务器成功启动后,您应该能在终端看到 'Slack MCP Server running on stdio' 的提示信息。

  2. 在 MCP 客户端中使用: 在您的 MCP 客户端 (例如 Cursor 编辑器) 中,配置并连接到您刚刚启动的 Slack MCP 服务器。配置信息参考 服务器配置 章节。

  3. 调用 Slack 工具: 连接成功后,您就可以在 MCP 客户端中使用预定义的 Slack 工具了。工具列表及其参数说明如下:

    • 'slack_list_channels': 列出公开频道。可选参数 'limit' (数量限制), 'cursor' (分页游标)。
    • 'slack_post_message': 发送消息到频道。必需参数 'channel_id' (频道 ID), 'text' (消息内容)。
    • 'slack_reply_to_thread': 回复消息线程。必需参数 'channel_id' (频道 ID), 'thread_ts' (线程时间戳), 'text' (回复内容)。
    • 'slack_add_reaction': 添加消息反应。必需参数 'channel_id' (频道 ID), 'timestamp' (消息时间戳), 'reaction' (表情符号名称,不带冒号)。
    • 'slack_get_channel_history': 获取频道历史消息。必需参数 'channel_id' (频道 ID)。可选参数 'limit' (数量限制)。
    • 'slack_get_thread_replies': 获取线程回复。必需参数 'channel_id' (频道 ID), 'thread_ts' (线程时间戳)。
    • 'slack_get_users': 列出工作区用户。可选参数 'limit' (数量限制), 'cursor' (分页游标)。
    • 'slack_get_user_profile': 获取用户个人资料。必需参数 'user_id' (用户 ID)。

    您可以在 MCP 客户端中通过指定工具名称和参数来调用这些 Slack 功能。具体的调用方式请参考您使用的 MCP 客户端的文档。

注意事项

  • 确保您的 Slack Bot App 拥有必要的 OAuth scopes,以便执行您想要使用的 Slack API 功能。
  • 请仔细阅读代码中的安全提示,妥善管理您的 Slack API 凭证。

信息

分类

通信与社交