Slack MCP Server
使用说明(Markdown格式)
-
项目简介
- 此项目实现了一个基于 MCP 的服务器端,专门用于 Slack 工作区的后端集成。它暴露 Slack 的大量操作为 MCP 工具,允许 LLM 客户端通过统一的接口读取资源、调用工具以及获取/渲染提示模板,并通过 JSON-RPC 与客户端通信。
-
主要功能点
- MCP 服务器实现:提供注册、路由与执行 MCP 工具的能力,支持标准的工具清单与调度调用。
- Slack API 封装:将 Slack 的频道、消息、用户、文件、工作区等 API 封装为可通过 MCP 调用的工具。
- 资源与工具管理:通过 Slack API 提供的资源访问接口,供 LLM 客户端查询和操作。
- 安全与会话:通过 TokenManager 加载并管理 Slack Token,确保服务器在对外提供能力时具备鉴权能力。
- 异步 IO 与 CLI/StdIO 模式:使用异步实现,支持通过 Claude Desktop(StdIO 或其他传输)进行通信。
-
安装步骤
- 使用 Python 3.10+,安装并准备运行环境。
- 安装并配置所需依赖(uv/uvicorn 等工具链及项目依赖)。
- 设置 Slack Bot Token(SLACK_BOT_TOKEN)和可选的 User Token(SLACK_USER_TOKEN),以及可选的签名密钥与团队信息(SLACK_SIGNING_SECRET、SLACK_TEAM_ID)。
- 将仓库中的依赖安装并初始化环境,确保 Slack 认证可用。
-
服务器配置(MCP 客户端连接信息) 说明:以下 JSON 配置用于 Claude Desktop 等 MCP 客户端连接到该 MCP 服务器。配置重点在于服务器名称、启动命令及参数,供 MCP 客户端在启动时使用。请将其中的路径替换为实际部署路径。
{ "serverName": "slack-mpm", "command": "uv", "args": ["run", "--directory", "/absolute/path/to/slack-mpm", "slack-mpm", "mcp"] }
注释:
- serverName: MCP 服务器在客户端侧的标识符,可用于区分多服务器环境。
- command: 启动服务器所用命令,这里采用 uv(或任意已安装的启动器)。
- args: 启动参数,指定工作目录、可执行的脚本以及 MCP 模式入口(mcp)。
- 路径请替换为实际部署时 slack-mpm 项目的绝对路径。
-
基本使用方法
- 准备:确保 Slack Bot Token 已正确配置在环境变量/.env.local 等位置,并确保 Slack 工作区可访问。
- 启动 MCP 服务器:执行配置后,通过 MCP 客户端连接,服务器将暴露 Slack 的工具集供 LLM 调用。
- 调用工具:通过 MCP 客户端调用工具(如 list_channels、send_message 等),服务器将路由请求到 Slack API 并返回结果。
- 维护与扩展:服务器在需要时可扩展新的 Slack API 封装,或调整工具输入要求以匹配具体工作流。