使用说明
项目简介
本项目 'slack-mcp-server' 是一个 Model Context Protocol (MCP) 服务器的实现,旨在作为连接大型语言模型 (LLM) 客户端(如 Claude Desktop)与 Slack 工作区的桥梁。通过此服务器,LLM 可以安全地访问 Slack 的部分功能,例如发送消息到频道以及查询 Slack 用户列表。
主要功能点
- 发送 Slack 消息: 允许 LLM 通过 'slack_post_message' 工具向指定的 Slack 频道发送消息。
- 获取 Slack 用户列表: 允许 LLM 通过 'slack_get_users' 工具查询 Slack 工作区中的用户列表。
- MCP 协议兼容: 基于 '@modelcontextprotocol/sdk' 开发,遵循 MCP 协议标准,可与任何兼容 MCP 协议的客户端进行通信。
- Stdio 传输: 使用 Stdio 作为默认的传输协议,简化本地开发和部署。
安装步骤
- 前提条件: 确保已安装 Node.js 和 npm。
- 克隆仓库: 将 'slack-mcp-server' 仓库克隆到本地。
git clone https://github.com/AVIMBU/slack-mcp-server.git cd slack-mcp-server - 安装依赖: 使用 npm 安装项目依赖。
npm install - 构建项目: 构建 TypeScript 代码到 JavaScript。
npm run build
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供以下配置信息。请注意,以下配置为 JSON 格式,您需要将其添加到您的 MCP 客户端的服务器配置文件中。
{ "mcpServers": { "mcp-slack-local": { // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 node "args": ["/path/to/project/dist/index.js"], // 启动命令的参数,指向编译后的 index.js 文件路径,请替换为您的项目 dist 目录的绝对路径 "env": { // 环境变量配置 "SLACK_BOT_USER_OAUTH_TOKEN": "YOUR_SLACK_BOT_TOKEN", // Slack Bot User OAuth Token,请替换为您的 Slack Bot Token "SLACK_TEAM_ID": "YOUR_SLACK_TEAM_ID" // Slack Team ID,请替换为您的 Slack Team ID } } } }
配置参数说明:
- 'mcp-slack-local': 服务器的名称,您可以自定义,用于在 MCP 客户端中标识此服务器。
- 'command': 运行服务器的命令,通常为 'node',因为这是一个 Node.js 项目。
- 'args': 命令的参数,指向编译后的 'index.js' 文件。请务必将 '/path/to/project/dist/index.js' 替换为您本地项目 'dist/index.js' 文件的实际绝对路径。
- 'env': 环境变量配置,用于传递 Slack API 密钥和 Team ID。
- 'SLACK_BOT_USER_OAUTH_TOKEN': 必需。您的 Slack Bot User OAuth Token。您需要在 Slack 应用管理后台创建应用并获取 Bot Token,并为其添加 'chat:write' 和 'users:read' 权限。
- 'SLACK_TEAM_ID': 必需。您的 Slack 工作区的 Team ID。
基本使用方法
-
启动服务器: 在项目根目录下,运行以下命令启动 MCP 服务器。
node dist/index.js或者,如果您在开发环境中,可以使用 'npm run watch' 在监听文件更改的同时自动构建并运行服务器。
npm run watch -
配置 MCP 客户端: 将上述服务器配置 JSON 添加到您的 MCP 客户端配置文件中,并确保已正确设置 'args' 中的路径和 'env' 中的环境变量。
-
在 MCP 客户端中使用: 在 MCP 客户端中,您可以使用以下示例提示来测试功能:
- 'Can you list all users of my Slack team?' (调用 'slack_get_users' 工具)
- 'Can you send a welcome message to my Slack Channel with the ID '<channel id>'?' (调用 'slack_post_message' 工具,请替换 '<channel id>' 为实际的 Slack 频道 ID)
客户端会将这些自然语言指令转换为对 MCP 服务器的工具调用请求,服务器会执行相应的 Slack API 操作并将结果返回给客户端。
信息
分类
通信与社交