一个用于访问Slack API的MCP(模型上下文协议)服务器。此服务器允许AI助手通过标准化接口与Slack API进行交互。
该服务器支持传统的和现代的MCP传输方法:
可用工具:
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_profiles - 批量获取多个用户的资料信息(适用于批量操作)slack_search_messages - 使用强大的过滤器在工作区中搜索消息:
in_channelfrom_user, withbefore (YYYY-MM-DD), after (YYYY-MM-DD), on (YYYY-MM-DD), during (例如:"July", "2023")has (表情反应), is (保存/线程)npm install @ubie-oss/slack-mcp-server
注意:现在托管在GitHub注册表中,因此你需要你的个人访问令牌(PAT)。
你需要设置以下环境变量:
SLACK_BOT_TOKEN:Slack机器人用户OAuth令牌SLACK_USER_TOKEN:Slack用户OAuth令牌(某些功能如消息搜索需要)SLACK_SAFE_SEARCH(可选):当设置为true时,自动从搜索结果中排除私人频道、DM和群组DM。这在服务器端强制执行,客户端无法覆盖。你也可以创建一个.env文件来设置这些环境变量:
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_USER_TOKEN=xoxp-your-user-token
SLACK_SAFE_SEARCH=true # 可选:启用安全搜索模式
Stdio传输(默认):
npx @ubie-oss/slack-mcp-server
可流式传输HTTP传输:
npx @ubie-oss/slack-mcp-server -port 3000
你也可以用Node运行已安装的模块:
# Stdio传输
node node_modules/.bin/slack-m- cserver
# HTTP传输
node node_modules/.bin/slack-mcp-server -port 3000
命令行选项:
-port <number>:指定端口启动可流式传输HTTP传输-h, --help:显示帮助信息对于Stdio传输(Claude桌面等):
{
"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_SAFE_SEARCH": "true"
}
}
}
对于可流式传输HTTP传输(Web应用程序):
启动服务器:
SLACK_BOT_TOKEN=<your-bot-token> SLACK_USER_TOKEN=<your-user-token> npx @ubie-oss/slack-mcp-server -port 3000
连接到:http://localhost:3000/mcp
查看examples/README.md以获取详细的客户端示例。
此服务器采用以下实现模式:
使用Zod模式定义请求/响应
实现流程:
例如,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