Back to MCP directory
publicPublicdnsLocal runtime

Slack MCP Server

一个基于MCP协议的Slack API服务端,为AI助手提供标准化接口与Slack平台交互,支持消息发送、频道管理、用户查询等功能。

article

README

🚀 slack - mcp - server

一个用于访问 Slack API 的 MCP(模型上下文协议) 服务器。此服务器允许 AI 助手通过标准化接口与 Slack API 进行交互,为 AI 与 Slack 的集成提供了便利。

🚀 快速开始

📦 安装指南

npm install @ubie-oss/slack-mcp-server

⚠️ 重要提示

该包现在托管在 GitHub Registry 上,因此需要使用你的 GitHub 个人访问令牌(PAT)。

配置

你需要设置以下环境变量:

  • SLACK_BOT_TOKEN:Slack 机器人用户OAuth令牌
  • SLACK_USER_TOKEN:Slack 用户OAuth令牌(某些功能如消息搜索所需)

你也可以创建一个 .env 文件来设置这些环境变量:

SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_USER_TOKEN=xoxp-your-user-token

使用

启动 MCP 服务器

直接运行:

npx @ubie-oss/slack-mcp-server

或者,通过 Node 执行已安装的模块:

node node_modules/.bin/slack-mcp-server

编辑客户端配置 JSON:

{
  "slack": {
    "command": "npx",
    "args": [
      "-y",
      "@ubie-oss/slack-mcp-server"
    ],
    "env": {
      "NPM_CONFIG_//npm.pkg.github.com/:_authToken": "<your-github-pat>",
      "SLACK_BOT_TOKEN": "<your-bot-token>",
      "SLACK_USER_TOKEN": "<your-user-token>"
    }
  }
}

✨ 主要特性

可用工具:

  • slack_list_channels - 列出工作区中的公共频道,支持分页
  • slack_post_message - 向 Slack 频道发送新消息
  • slack_reply_to_thread - 回复特定的消息线程
  • slack_add_reaction - 在消息上添加表情符号
  • slack_get_channel_history - 获取频道中的最近消息
  • slack_get_thread_replies - 获取消息线程中的所有回复
  • slack_get_users - 检索工作区中所有用户的简要配置文件信息
  • slack_get_user_profile - 获取特定用户的个人资料信息
  • slack_search_messages - 在工作区中搜索消息

🔧 技术细节

此服务器采用以下实现模式:

  1. 使用 Zod 模式定义请求/响应
    • 请求模式:定义输入参数
    • 响应模式:限制必要的字段返回
  2. 实现流程:
    • 使用 Zod 模式验证请求
    • 调用 Slack WebAPI
    • 使用 Zod 模式解析响应,仅保留必要字段
    • 返回 JSON 格式的响应

例如,slack_list_channels 的实现使用 ListChannelsRequestSchema 验证请求,调用 slackClient.conversations.list,并返回通过 ListChannelsResponseSchema 解析的响应,仅包含必要的字段。

📚 详细文档

开发

可用脚本

  • npm run dev - 以开发模式启动服务器,并启用热重载
  • npm run build - 构建项目用于生产环境
  • npm run start - 启动生产服务器
  • npm run lint - 运行代码检查(ESLint 和 Prettier)
  • npm run fix - 自动修复代码检查问题

贡献指南

  1. 叉克仓库
  2. 创建功能分支
  3. 运行测试和代码检查:npm run lint
  4. 提交更改
  5. 推送到分支
  6. 创建 Pull Request
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client