使用说明

项目简介

'bun-mcp-sse-transport' 是一个专为 Bun 运行时环境设计的 Model Context Protocol (MCP) 服务器传输层实现。它利用 Server-Sent Events (SSE) 技术,为 MCP 服务器提供了一种高效、实时的单向(服务器到客户端)通信机制。客户端到服务器的通信则通过标准的 HTTP POST 请求处理。

主要功能点

  • Bun 运行时优化: 专为 Bun 运行时环境构建,充分利用 Bun 的高性能和效率。
  • MCP 传输接口实现: 实现了 MCP 协议定义的传输层接口,确保与 MCP 服务器的兼容性。
  • SSE 连接管理: 负责管理 SSE 连接的建立、维护和关闭,并处理必要的 HTTP 头部设置。
  • JSON-RPC 消息处理: 能够处理通过 HTTP POST 请求接收的 JSON-RPC 格式的消息,并将其传递给 MCP 服务器进行处理。
  • 简易集成: 可以方便地与 Bun.serve 集成,快速搭建基于 SSE 传输的 MCP 服务器。

安装步骤

  1. 确保已安装 Bun.
  2. 在你的项目中,使用 bun 安装 'bun-mcp-sse-transport' 包:
    bun install bun-mcp-sse-transport

服务器配置

MCP 客户端需要配置连接到 MCP 服务器的信息。对于使用 'bun-mcp-sse-transport' 的 MCP 服务器,典型的配置信息如下 (JSON 格式):

{
  "serverName": "MyBunMCPServer",
  "command": "bun",
  "args": [
    "run",
    "example/echo-server.ts"
  ],
  "transport": {
    "type": "sse",
    "endpointUrl": "http://localhost:3000/sse",
    "messagePostUrl": "http://localhost:3000/messages"
  }
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的命令,这里使用 'bun' (假设 bun 命令在您的 PATH 环境变量中)。
  • 'args': 传递给启动命令的参数列表。
    • '"run"': Bun 的运行脚本命令。
    • '"example/echo-server.ts"': 示例服务器脚本的路径。请根据实际情况修改为您的服务器入口文件路径。
  • 'transport': 定义 MCP 客户端与服务器之间的传输协议。
    • 'type': 传输类型,这里为 '"sse"',表示使用 Server-Sent Events。
    • 'endpointUrl': SSE 连接的端点 URL,客户端通过 GET 请求连接到此 URL 以建立 SSE 连接。
    • 'messagePostUrl': 接收客户端消息的 HTTP POST 端点 URL。客户端将 JSON-RPC 消息通过 POST 请求发送到此 URL。

注意: 上述配置中的端口号 (3000) 和端点路径 ('/sse', '/messages') 均可在 'example/echo-server.ts' 文件中配置。请确保 MCP 客户端配置与服务器端的实际配置一致。

基本使用方法

  1. 创建 Bun MCP 服务器: 参考 'example/echo-server.ts',使用 '@modelcontextprotocol/sdk/server/mcp.js' 创建 MCP 服务器实例,并使用 'BunSSEServerTransport' 作为传输层连接到服务器。
  2. 启动服务器: 使用 'bun run example/echo-server.ts' (或您自定义的服务器启动命令) 启动 MCP 服务器。
  3. 客户端连接: MCP 客户端根据上述服务器配置信息,连接到 'endpointUrl' 建立 SSE 连接,并向 'messagePostUrl' 发送 JSON-RPC 请求。
  4. 服务器与客户端通信: 服务器通过 SSE 连接向客户端推送消息 (如 JSON-RPC 响应、通知等),客户端通过 HTTP POST 请求向服务器发送消息 (如 JSON-RPC 请求)。

信息

分类

通信与社交