使用说明
项目简介
'slack-mcp' 是一个基于Python和FastMCP库构建的MCP服务器,旨在通过Model Context Protocol (MCP) 标准将Slack工作空间的功能(如发送消息、管理频道和用户、搜索等)暴露给LLM客户端。它实现了MCP服务器的核心功能,允许LLM通过调用工具与Slack进行交互,并内置了对Slack API速率限制的处理。
主要功能点
- 消息操作: 发送消息到频道或私信(支持文本和富文本),更新和删除由Bot发送的消息。
- 频道管理: 列出、创建新频道(公共或私有),邀请用户加入频道,获取频道详细信息。
- 用户管理: 列出用户列表,根据名称查找用户,获取用户详细资料。
- 内容访问: 读取频道消息历史或特定线程,搜索工作空间内的消息。
- 文件上传: 上传文件到指定频道。
- 速率限制处理: 自动处理Slack API的速率限制响应,并向客户端返回等待时间和预计可用时间。
安装步骤
- 克隆仓库:
git clone https://github.com/aptecoSmith/slack-mcp.git cd slack-mcp - 创建并激活虚拟环境:
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate - 安装依赖:
pip install -r requirements.txt - 设置环境变量: 复制'.env.example' 文件为 '.env',并在其中填入您的Slack Bot令牌 ('SLACK_BOT_TOKEN')。您的Bot令牌应以 'xoxb-' 开头。如果需要,也可在此设置 Supabase 相关的环境变量。
cp .env.example .env # 编辑 .env 文件,填入 SLACK_BOT_TOKEN
服务器配置
MCP客户端(如Windsurf)需要配置如何启动并连接到此MCP服务器。典型的MCP客户端JSON配置文件中,需要指定服务器的名称、启动命令 (command) 和参数 (args)。
以下是MCP客户端配置中关于'slack-mcp'服务器的示例说明:
- 如果直接在安装了依赖的Python环境中运行,您可以配置 'command' 为 'python','args' 参数列表包含 '"-m", "slack_mcp.main"'。您需要在运行MCP客户端的环境中设置 'SLACK_BOT_TOKEN' 环境变量。
- 如果使用Docker运行(推荐方式,已包含构建镜像的脚本),您可以配置 'command' 为 'docker','args' 参数列表包含 '"run", "--rm", "-i", "-e", "SLACK_BOT_TOKEN=您的实际令牌", "slack-mcp"'。'--rm' 参数表示容器停止时自动移除,'-i' 参数允许通过标准输入/输出进行通信 (stdio),'-e' 用于传递Slack Bot令牌环境变量。'"slack-mcp"' 是镜像名称。
请根据您的实际运行环境和需求,将相应的命令和参数填入MCP客户端的配置文件中。
基本使用方法
在MCP客户端(如Windsurf)中配置并成功启动'slack-mcp'服务器后,LLM即可通过该客户端调用服务器暴露的Slack相关工具。例如,LLM可以通过调用 'send_message' 工具来发送消息,调用 'get_channels' 来获取频道列表等。MCP客户端负责将LLM的工具调用请求转换为JSON-RPC请求发送给'slack-mcp'服务器,并处理服务器返回的响应或错误(包括速率限制错误)。
信息
分类
通信与社交