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

bun-mcp-sse-transport

一个基于Bun运行时实现的MCP协议SSE传输模块,支持服务器到客户端的实时单向通信,并通过HTTP POST处理客户端到服务器的消息交互。

article

README

🚀 bun-mcp-sse-transport

本项目是一个基于Bun实现的Model Context Protocol (MCP)服务器发送事件(SSE)传输方案。借助该项目,可实现基于Bun运行时的MCP服务器与客户端之间的实时、单向通信,同时还能通过HTTP POST请求处理客户端到服务器的通信。

🚀 快速开始

以下是使用 bun-mcp-sse-transport 的快速示例代码:

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

// 创建SSE传输
const transport = new BunSSEServerTransport("/messages");

// 连接到MCP服务器
const server = new McpServer({ name: "MyServer", version: "1.0.0" });
server.connect(transport);

// 设置Bun HTTP服务器
Bun.serve({
  port: 3000,
  routes: {
    "/sse": () => transport.createResponse(),
    "/messages": (req) => transport.handlePostMessage(req)
  }
});

✨ 主要特性

  • 专为Bun运行时设计:充分发挥Bun运行时的性能优势。
  • 实现MCP传输接口:符合Model Context Protocol (MCP)标准。
  • 管理带有正确标头的SSE连接:确保SSE连接的稳定性和正确性。
  • 处理传入的JSON - RPC消息:高效处理客户端发送的JSON - RPC消息。
  • 与Bun.serve简单集成:方便快捷地集成到现有的Bun项目中。

🔧 技术细节

工作原理

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

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

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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