Slack MCP Server(Slack模型上下文协议服务器)
实现模型上下文协议的服务器,使AI助手能够通过标准化接口与Slack API交互,提供消息传递、频道管理、用户信息检索等功能。
服务介绍
slack-mcp-server
一个用于访问 Slack API 的 MCP(Model Context Protocol) 服务器。该服务器允许 AI 助手通过标准化接口与 Slack API 进行交互。
功能
可用工具:
slack_list_channels- 列出工作区中的公共频道(支持分页)slack_post_message- 向 Slack 频道发布新消息slack_reply_to_thread- 回复 Slack 中特定的消息线程slack_add_reaction- 为消息添加反应表情slack_get_channel_history- 获取频道的最近消息slack_get_thread_replies- 获取消息线程中的所有回复slack_get_users- 检索工作区中所有用户的基本资料信息slack_get_user_profile- 获取用户的个人资料信息slack_search_messages- 在工作区中搜索消息
快速开始
安装
npm install @ubie-oss/slack-mcp-server
注意:现在它托管在 GitHub Registry 上,因此你需要你的 PAT (Personal Access Token)。
配置
你需要设置以下环境变量:
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
编辑适用于你客户端的 MCP 配置 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>"
}
}
}
实现模式
该服务器采用以下实现模式:
-
使用 Zod 模式定义请求/响应
- 请求模式:定义输入参数
- 响应模式:限制到必要的字段
-
实现流程:
- 使用 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- 自动修复代码格式问题
贡献指南
- Fork 仓库
- 创建你的功能分支
- 运行测试和代码检查:
npm run lint - 提交你的更改
- 推送到分支
- 创建 Pull Request