MCP 服务端(前端边缘 MCP 服务器与代理)

使用说明(简明要点,按步骤执行)

  • 项目简介

    • 该仓库实现了基于 Model Context Protocol 的后端 MCP 服务端体系,包含浏览器端的边缘节点(MCP-FE)以及服务端代理(apps/mcp-server)等组件。核心功能包括:通过 JSON-RPC 风格的 MCP 协议与客户端通信,托管和暴露 Resources、注册与执行 Tools,以及定义/渲染 Prompt 模板等能力,支持多传输通道(HTTP/WS/STDIO 等)和会话管理。
  • 主要功能点

    • 浏览器边缘代理(MCP-FE):在前端浏览器中作为边缘节点,提供按需查询上下文、注册工具、执行远程工具的能力。
    • 代理服务器(Node.js MCP Proxy):充当 AI 客户端与浏览器边缘之间的网关,统一处理 MCP 请求、WebSocket 连接、鉴权等。
    • MCP 服务端核心:基于 Model Context Protocol 的服务端框架,支持工具注册、工具调用分发、事件存储与查询等。
    • 会话管理与多标签路由:支持跨标签/多标签同时使用工具,具备标签管理、路由决策和工具调用的调度。
    • 安全与健壮性:提供基础的鉴权、连接状态广播、健康检查,以及对初始化与注册的队列化处理。
  • 安装步骤

    • 该仓库采用典型的 Nx/pnpm 构建,请在具备 Node.js 与 pnpm 的环境中执行:
      • 安装依赖并准备工作环境
      • 构建服务端代码
      • 启动服务端进程(详见下方“服务器配置”中的命令注释)
  • 服务器配置(供 MCP 客户端使用的启动信息) 说明:MCP 客户端需要一个配置来指向 MCP 服务器的启动命令及参数,以建立连接。以下为示例配置要点(以 JSON 表达,无代码块呈现,供理解使用): { "serverName": "mcp-server", "command": "node", "args": ["dist/apps/mcp-server/main.js", "--port=3001"], "notes": "本服务器在本地监听 3001 端口,客户端通过 WebSocket 连接 http://localhost:3001/mcp。实际部署中请将端口与地址替换为运行环境的实际值。" }

    说明:

    • serverName 用于标识服务器实例的名称。
    • command/args 对应运行服务器的命令及参数,客户端无需关心实现细节,只需要在连接时指向正确的地址(如 ws://host:port 或 http://host:port/mcp)。
    • 部署时可根据实际环境调整端口、主机及鉴权策略等。
  • 基本使用方法

    • 启动服务端(根据实际打包方式执行相应命令,例如 Node 启动脚本)。
    • 在前端/客户端配置中指向 MCP 服务器地址(示例:ws://your-host:3001)。
    • 客户端通过 MCP 协议向服务器注册工具、执行工具调用、查询资源和 Prompts,并接收 JSON-RPC 风格的响应。
    • 结合多标签路由,确保工具调用能在正确的浏览器标签中执行,并在跨标签场景下保持正确的上下文与引用计数。
  • 运行与开发注意

    • 该仓库包含完整的服务端、前端边缘代理,以及 MCP 协议的实现与对接逻辑,具备可运行的服务器端代码(非仅演示样例)。
    • 如需生产化部署,请完成鉴权、证书、稳定性与容量测试等环节,并按需调整重连、心跳与日志策略。

服务器信息