Elysia-mcp:Bun 和 Elysia 的 MCP 服务器实现

项目简介

Elysia-mcp 是一个使用 Bun 运行时和 Elysia Web 框架构建的 Model Context Protocol (MCP) 服务器。它旨在提供一个高性能、标准化的后端服务,使 LLM 客户端能够访问和利用上下文信息、外部工具以及可定制的 Prompt 模板。该服务器通过 Server-Sent Events (SSE) 协议与客户端通信,实现了完整的 MCP 协议,包括资源管理、工具注册和 Prompt 模板定义等核心功能。

主要功能点

  • 资源管理 (Resources):支持托管和管理各种类型的资源,例如配置文件、用户数据等,并允许 LLM 客户端通过 URI 访问这些资源。示例仓库中预置了静态资源(config)和动态资源(user-profile)。
  • 工具注册与执行 (Tools):允许注册外部功能(Tools),例如计算器、天气查询等,使 LLM 客户端能够调用这些工具扩展自身的能力。示例仓库中包含了计算器 (calculate) 和天气查询 (get-weather) 工具。
  • Prompt 模板 (Prompts):支持定义和渲染 Prompt 模板,以便根据不同的场景和需求,生成定制化的 LLM 交互 Prompt。示例仓库中提供了自我介绍 (introduce-yourself) 和数据分析 (analyze-data) Prompt 模板。
  • 高性能: 基于 Bun 运行时和 Elysia 框架,提供出色的性能和效率。
  • SSE 传输: 使用 Server-Sent Events (SSE) 作为主要的客户端通信协议。
  • 易于使用: 提供了简洁的 API 和清晰的示例代码,方便开发者快速搭建 MCP 服务器。
  • TypeScript 支持: 使用 TypeScript 开发,提供完善的类型定义和开发体验。

安装步骤

  1. 安装 Bun: 确保你的系统上已经安装了 Bun 运行时环境。
  2. 克隆仓库: 使用 Git 克隆 Elysia-mcp 仓库到本地:
    git clone https://github.com/keithagroves/Elysia-mcp.git
    cd Elysia-mcp
  3. 安装依赖: 在仓库目录下运行以下命令安装项目依赖:
    bun install

服务器配置

MCP 客户端需要配置以下信息才能连接到 Elysia-mcp 服务器。以下是一个 JSON 格式的配置示例,你可以根据实际情况进行调整:

{
  "serverName": "bun-elysia-mcp-server",  // MCP 服务器名称,与代码中 McpServer 实例化的 name 属性一致
  "command": "bun",                      // 启动服务器的命令,这里使用 bun 运行时
  "args": ["start"],                     // 启动命令的参数,"start" 脚本在 package.json 中定义,用于启动服务器
  "transport": "sse",                    // 使用 SSE 传输协议
  "endpointUri": "http://localhost:3001/sse?sessionId={sessionId}", // SSE 连接端点,sessionId 会由客户端自动生成并替换
  "messageUri": "http://localhost:3001/messages?sessionId={sessionId}" // 消息发送端点,sessionId 会由客户端自动生成并替换
}

基本使用方法

  1. 启动服务器: 在仓库目录下,使用以下命令启动 Elysia-mcp 服务器:

    bun start

    或者使用以下命令启动开发模式,支持热重载:

    bun dev

    服务器默认运行在 'http://localhost:3001'。你将在控制台看到 'MCP server running at http://localhost:3001' 的提示信息。

  2. 连接 MCP 客户端: 配置你的 MCP 客户端,使其连接到 Elysia-mcp 服务器的 '/sse' 端点 ('http://localhost:3001/sse')。客户端会通过 SSE 协议与服务器建立连接,并开始进行 MCP 协议通信。

  3. 使用 MCP Inspector (调试): 你可以使用 MCP 官方提供的 Inspector 工具来调试和测试你的 Elysia-mcp 服务器。运行以下命令启动 Inspector:

    npx @modelcontextprotocol/inspector

    然后在 Inspector 中配置连接到 'http://localhost:3001/sse',即可查看服务器提供的资源、工具和 Prompt,并进行测试调用。

通过以上步骤,你就可以成功搭建并使用 Elysia-mcp 服务器,为你的 LLM 应用提供强大的上下文服务支持。

信息

分类

AI与计算