
Slack MCP Server with SSE Transport

2025.04.09
0
JavaScriptSlack集成团队协作消息自动化交流协作
Slack MCP Server with SSE Transport 是一个基于模型上下文协议(MCP)的服务,通过Server-Sent Events(SSE)传输方式提供Slack API集成。该服务允许AI助手通过简单的HTTP接口与Slack工作区进行交互。
View on GitHub
Overview
基本能力
产品定位
Slack MCP Server with SSE Transport 是一个中间件服务,旨在为AI助手提供与Slack平台的无缝集成能力。
核心功能
- SSE传输:使用Server-Sent Events(SSE)替代stdio,支持通过HTTP/HTTPS进行通信
- Slack API集成:提供对Slack核心API功能的访问
- 简单Web界面:包含基本的Web UI和健康检查端点
- Docker支持:完全容器化,便于部署
- TypeScript实现:基于TypeScript构建,提供类型安全和更好的开发体验
- 跨平台兼容性:支持任何兼容SSE传输的MCP客户端
适用场景
- AI助手与Slack工作区的集成
- 自动化Slack消息发送和回复
- Slack频道管理和消息监控
- 团队协作自动化
工具列表
工具名称 | 描述 | 必填参数 |
---|---|---|
slack_list_channels |
列出工作区中的公共频道(支持分页) | 无(可选:limit , cursor ) |
slack_post_message |
向Slack频道发送新消息 | channel_id , text |
slack_reply_to_thread |
回复特定的消息线程 | channel_id , thread_ts , text |
slack_add_reaction |
向消息添加表情反应 | channel_id , timestamp , reaction |
slack_get_channel_history |
获取频道最近的消息 | channel_id (可选:limit ) |
slack_get_thread_replies |
获取消息线程中的所有回复 | channel_id , thread_ts |
slack_get_users |
获取工作区中的所有用户列表 | 无(可选:cursor , limit ) |
slack_get_user_profile |
获取特定用户的详细资料信息 | user_id |
常见问题解答
- 如何获取Slack Bot Token和Team ID?
- 创建Slack应用并配置适当的权限范围
- 安装应用到工作区并获取Bot User OAuth Token
-
从Slack网页版URL中提取Team ID
-
如何测试连接是否成功?
- 访问
/health
端点检查服务状态 - 访问
/
端点查看服务器信息
使用教程
使用依赖
- 安装Node.js 18或更高版本
- 准备Slack Bot Token和Slack Team ID
- (可选)安装Docker用于容器化部署
安装教程
本地开发
npm install
npm run build
npm start
Docker部署
docker compose up --build
或使用预构建镜像:
docker run -p 3000:3000 \
-e SLACK_BOT_TOKEN=xoxb-your-slack-bot-token \
-e SLACK_TEAM_ID=your-slack-team-id \
ghcr.io/dvelopment/slack-mcp-server-sse:latest
调试方式
- 开发模式下自动重载:
npm run dev
- 检查服务端点:
/sse
- SSE事件接收端点/health
- 健康检查端点/
- 服务器信息页面- 使用示例客户端连接测试:
const eventSource = new EventSource('http://localhost:3000/sse');
eventSource.onmessage = (event) => {
console.log('Received message:', event.data);
};