Slack MCP Server

Slack MCP Server

🚀 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": "",
"SLACK_BOT_TOKEN": "",
"SLACK_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
  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-10-03 15:39

相似服务问题

相关AI产品