Slack MCP 服务器使用说明
项目简介
本项目 'slack-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM(大语言模型)客户端与 Slack 工作区之间的桥梁。通过此服务器,LLM 应用可以利用标准化的 MCP 协议,安全、便捷地调用 Slack API 提供的各项功能,例如发送消息、获取频道信息、添加反应等,从而扩展 LLM 在工作场景中的应用能力。
主要功能点
- 频道操作:
- 列出公开频道
- 获取频道历史消息
- 消息操作:
- 发送消息到频道
- 回复消息线程
- 添加消息反应(表情符号)
- 获取线程回复
- 用户操作:
- 列出工作区用户
- 获取用户个人资料
安装步骤
-
克隆仓库:
git clone https://github.com/Chandrakant0110/slack-mcp.git cd slack-mcp -
安装依赖: 根据您使用的包管理器选择以下命令之一:
npm install或者
yarn install -
构建项目: 编译 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 凭证。
-
打开 'index.ts' 文件: 在您的 'slack-mcp' 项目根目录下找到 'index.ts' 文件。
-
配置 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,避免泄露。建议使用环境变量等更安全的方式管理敏感信息,而不是直接修改代码中的硬编码值。
基本使用方法
-
启动 MCP 服务器: 在您的 'slack-mcp' 项目根目录下,运行以下命令启动服务器:
node dist/index.js服务器成功启动后,您应该能在终端看到 'Slack MCP Server running on stdio' 的提示信息。
-
在 MCP 客户端中使用: 在您的 MCP 客户端 (例如 Cursor 编辑器) 中,配置并连接到您刚刚启动的 Slack MCP 服务器。配置信息参考 服务器配置 章节。
-
调用 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 凭证。
信息
分类
通信与社交