SSE传输实现

一个基于Bun运行时、为模型上下文协议(MCP)提供的服务器发送事件(SSE)传输实现,支持实时单向通信和HTTP POST请求处理。

  • by tigranbs
  • TypeScript
  • 云端部署
  • 13 星标
  • 更新于
在 GitHub 查看 tigranbs/bun-mcp-sse-transport

使用说明

bun-mcp-sse 运输

使用Bun的模型上下文协议(MCP)的服务器发送事件(SSE)传输实现。

概述

此包为MCP服务器提供了特定于Bun的SSE传输实现。它使用SSE协议实现了服务器到客户端的实时单向通信,客户端到服务器的通信通过HTTP POST请求处理。

主要特点

  • 专为Bun运行时构建
  • 实现MCP传输接口
  • 使用适当的标头管理SSE连接
  • 处理传入的JSON-RPC消息
  • 与Bun.serve简单集成

快速使用

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { BunSSEServerTransport } from "bun-mcp-sse-transport";

// Create SSE transport
const transport = new BunSSEServerTransport("/messages");

// Connect to MCP server
const server = new McpServer({ name: "MyServer", version: "1.0.0" });
server.connect(transport);

// Set up Bun HTTP server
Bun.serve({
  port: 3000,
  routes: {
    "/sse": () => transport.createResponse(),
    "/messages": (req) => transport.handlePostMessage(req)
  }
});

运作原理

  1. 当客户端连接到 /sse,服务器创建SSE连接
  2. 服务器发送客户端应POST消息的端点URL
  3. 客户端向端点URL发送JSON-RPC消息
  4. 服务器接收这些消息并将其传递给MCP服务器
  5. MCP服务器处理消息并通过SSE连接发送响应

此实现遵循MCP标准,同时利用Bun的流媒体功能进行高效的实时通信。