Slack Mcp Server Sse

Slack Mcp Server Sse

🚀 基于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许可证。

  • 0 关注
  • 0 收藏,32 浏览
  • system 提出于 2025-10-03 12:18

相似服务问题

相关AI产品