Harbor MCP Server Demo - Acme Shop

使用说明(简明版,便于快速接入与测试):

  • 项目简介

    • 该仓库包含基于 MCP 的服务端实现示例,旨在演示浏览器扩展如何托管 MCP 服务器、注册并执行工具、以及通过 HTTP/SSE 传输与客户端通信。示例包含一个 Acme Shop 的 MCP 服务,提供产品检索、详情查询、购物车等工具,以及一个基于 Harbor 架构的简单 HTTP SSE 传输服务器,方便在本地快速验证。
  • 主要功能点

    • MCP 服务器核心功能:实现对 ListTools、CallTool 等 MCP 请求的处理,返回结构化的工具信息和工具执行结果。
    • 工具(Tools)注册与调用:通过请求注册工具,并实现对自建/演示工具的执行。
    • HTTP SSE 传输端口:提供可通过浏览器访问的 SSE 端点,常用路径为 /mcp;健康检查端点 /health。
    • 演示用购物场景:包括商品检索、商品详情、添加至购物车、查看购物车等操作的工具实现。
    • 漫时演示:包含一个基于工作流的简单服务器,便于前端/客户端进行集成测试。
  • 安装步骤

      1. 下载仓库并进入相关示例目录;2) 运行演示服务器(示例 A):
      • node http-server.js
      • 访问 http://localhost:3001/mcp 以建立 MCP 服务连接
    • 说明:http-server.js 封装了一个 MCP 服务器,提供 SSE 传输端点,端口默认为 3001。示例展示了如何在浏览器环境中与 MCP 客户端进行交互。
    • 如需其它实现(如基于标准输入/输出的服务器),可参考 demo/web-agents/bring-your-chatbot/mcp-server/server.js,使用 Node 启动 Skript 通过 stdio 传输进行测试。
  • 服务器配置(JSON,供 MCP 客户端用于连接测试)

    • serverName: acme-shop-mcp
    • command: node
    • args: ["http-server.js"]
    • 说明:该配置用于 MCP 客户端在本地连接并启动 MCP 服务端。服务器名称用于标识,命令与参数对应本地启动方式。若用其它实现,请按照相应的启动命令与参数进行配置。
  • 基本使用方法

    • 启动服务:按上述命令在本地启动 MCP 服务器(示例中使用 http-server.js)。
    • 客户端连接:通过 MCP 客户端(如浏览器侧扩展或其他实现)建立 JSON-RPC 连接,向 ListTools 请求获取工具列表,使用 CallTool 执行工具。
    • 测试端点:在浏览器中打开 http://localhost:3001/mcp,查看是否成功建立连接及工具列表,使用工具执行示例数据。
    • 运行演示工具:参考 Acme Shop 的工具(search_products、get_product_details、add_to_cart、get_cart)进行交互测试,验证返回的 content 结构是否符合 MCP 的约定格式。

服务器信息