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- 在工作区中搜索消息
🔧 技术细节
此服务器采用以下实现模式:
- 使用 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- 自动修复代码检查问题
贡献指南
- 叉克仓库
- 创建功能分支
- 运行测试和代码检查:
npm run lint - 提交更改
- 推送到分支
- 创建 Pull Request
Scan to contact