返回 MCP 目录
public公开dns本地运行

slack-mcp-server-sse

一个基于SSE传输的Slack MCP服务器,提供Slack API集成功能,支持通过HTTP接口与Slack工作区交互。

article

README

🚀 基于Slack的MCP服务器与SSE传输

这是一个支持Slack API集成的Model Context Protocol(MCP)服务器,采用Server-Sent Events(SSE)传输协议。借助该服务器,AI助手能通过简洁的HTTP接口与Slack工作区实现交互。

🚀 快速开始

此服务器允许AI助手通过简单的HTTP接口与Slack工作区交互,你可以按照以下步骤进行部署和使用:

  1. 完成先决条件的准备,如安装Node.js 18或更高版本、获取Slack机器人令牌和团队ID等。
  2. 配置环境变量,包括SLACK_BOT_TOKENSLACK_TEAM_ID等。
  3. 按照设置说明部署服务器,如克隆仓库、安装依赖、启动服务器。
  4. 使用支持SSE的客户端连接到服务器,如使用curl命令curl http://localhost:3000/sse

✨ 主要特性

  • SSE传输:采用服务器发送事件(SSE)而非stdio,可通过HTTP/HTTPS进行通信。
  • Slack API集成:提供对Slack API核心功能的访问。
  • 简单网络界面:包含基本Web界面和健康检查端点。
  • Docker支持:完全容器化,使用Docker轻松部署。
  • TypeScript实现:使用TypeScript编写,提供类型安全和更好的开发体验。
  • 跨平台兼容性:适用于任何支持SSE传输的MCP客户端。

📦 安装指南

先决条件

  • Node.js 18或更高版本
  • 带有适当权限的Slack机器人令牌
  • Slack团队ID
  • Docker(可选,用于容器化部署)

环境变量

| 变量 | 描述 | 默认值 | |------|------|-------| | SLACK_BOT_TOKEN | 您的Slack机器人用户OAuth令牌(以xoxb-开头) | 必需 | | SLACK_TEAM_ID | 您的Slack工作区/团队ID | 必需 | | PORT | 服务器运行的端口 | 3000 |

设置说明

获取Slack机器人令牌和团队ID

  1. 创建Slack应用:
  2. 为您的应用添加机器人用户:
    • 转到应用的设置页面
    • 导航至“机器人”部分
    • 启用机器人用户并获取令牌(显示为BOT_TOKEN
  3. 获取团队ID:
    • 在Slack中,找到您的工作区URL
    • 团队ID位于URL中,格式为TXXXXXX

部署服务器

  1. 克隆此仓库到本地机器
  2. 安装依赖项(如使用npm):npm install
  3. 启动服务器:node index.js

💻 使用示例

基础用法

可以使用任何支持SSE的客户端连接到服务器。例如,使用curl:

curl http://localhost:3000/sse

高级用法

以下是使用JavaScript的EventSource对象连接到服务器的示例:

const eventSource = new EventSource('http://localhost:3000/sse');

eventSource.onopen = () => {
  console.log('连接到SSE服务器');
};

eventSource.onmessage = (event) => {
  console.log('接收消息:', event.data);
  try {
    const data = JSON.parse(event.data);
    console.log('解析数据:', data);
  } catch (error) {
    console.log('原始消息(非JSON):', event.data);
  }
};

eventSource.onerror = (error) => {
  console.error('SSE连接错误:', error);
  eventSource.close();
};

📚 详细文档

连接到服务器

可以使用任何支持SSE的客户端连接到服务器。例如,使用curl:

curl http://localhost:3000/sse

功能特性

支持的操作

  • slack SendMessage
  • slack GetChannelHistory
  • slack GetUserProfile
  • slack GetUsers

📄 许可证

本项目采用MIT许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端