Slack MCP Server with SSE Transport

Slack MCP Server with SSE Transport

site icon
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

常见问题解答

  1. 如何获取Slack Bot Token和Team ID?
  2. 创建Slack应用并配置适当的权限范围
  3. 安装应用到工作区并获取Bot User OAuth Token
  4. 从Slack网页版URL中提取Team ID

  5. 如何测试连接是否成功?

  6. 访问/health端点检查服务状态
  7. 访问/端点查看服务器信息

使用教程

使用依赖

  1. 安装Node.js 18或更高版本
  2. 准备Slack Bot Token和Slack Team ID
  3. (可选)安装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

调试方式

  1. 开发模式下自动重载:
npm run dev
  1. 检查服务端点:
  2. /sse - SSE事件接收端点
  3. /health - 健康检查端点
  4. / - 服务器信息页面
  5. 使用示例客户端连接测试:
const eventSource = new EventSource('http://localhost:3000/sse');
eventSource.onmessage = (event) => {
  console.log('Received message:', event.data);
};

许可证

该项目遵循 Unlicense 开源许可条款,请参阅 Unlicense 了解完整条款。