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 封装,或调整工具输入要求以匹配具体工作流。

服务器信息