PulseMCP MCP Servers

使用说明(Markdown 格式)

  • 项目简介
    • 该仓库是一套基于 MCP(Model Context Protocol)的服务器端实现模板,旨在为 LLM 客户端提供统一的上下文资源、外部工具调用能力以及 Prompt 模板渲染能力。核心职责包括托管与管理 Resources(资源)、注册与执行 Tools(工具)、以及定义并渲染 Prompts(提示模板),并通过 JSON-RPC 与客户端进行通信。服务器端负责会话管理、能力声明,以及对传输协议的支持(如 Stdio、SSE、WebSocket)。
  • 主要功能点
    • 资源注册与读取:暴露可用资源并支持按 URI 读取内容(如配置、示例资源等)。
    • 工具注册与执行:通过工具工厂模式将工具注册到服务器,支持按工具组进行权限控制(只读、读写等),并通过 JSON-RPC 进行工具查询与调用。
    • 工具分组与权限:支持 ENABLED_TOOLGROUPS 环境变量,按只读、读写等分组控制工具暴露范围。
    • 服务端入口与类型定义:提供 createMCPServer,用于创建服务器实例并注册资源、工具等处理逻辑,支持注入外部客户端工厂以模拟或替换外部依赖。
    • 状态与日志:内置状态管理(如资源选取、锁定等)和日志工具,便于调试与运维。
    • 测试与示例:提供测试用 Mock、集成测试样例,以及对 Google Calendar、Gmail 等服务的实验性实现,帮助快速上手与扩展。
    • 多传输协议支持:在设计上支持多种传输协议,方便与不同类型的 MCP 客户端互操作。
  • 安装步骤
    • 安装依赖并构建服务器模板与示例服务:
      • 在仓库根目录或相应子包中安装依赖(如 npm install)。
      • 构建模板服务器(示例入口通常位于 libs/mcp-server-template/local/build/index.js)。
      • 根据需要构建其他实验性服务(如 Google Calendar、Gmail 示例服务器)。
  • 服务器配置(MCP 客户端启动 MCP 服务器所需的最小信息)
    • MCP 客户端的配置需要指定 MCP 服务器的启动命令与参数,以便启动服务并建立 JSON-RPC 连接。下列为一个示例配置,包含服务器名称、启动命令以及参数。请根据实际部署环境将路径替换为你本地/部署后的可执行路径。
    • 服务器名称:NAME-mcp-server
    • 启动命令(command):node
    • 启动参数(args):[ "./libs/mcp-server-template/local/build/index.js" ]
    • 说明:上面的路径为模板项目在构建后可能的默认输出位置;实际使用时请以你项目中生成的可执行入口为准。该配置仅用于 MCP 客户端在启动时知道如何启动 MCP 服务器进程并建立 JSON-RPC 通信。
  • 基本使用方法
    • 启动服务器后,MCP 客户端可以通过 JSON-RPC 向服务器请求:
      • 列出可用资源与能力
      • 列出可用工具及其描述
      • 调用具体工具并获取输出
    • 服务器端会管理会话、能力声明与资源/工具的状态。你可以通过环境变量控制暴露的工具分组,实现灵活的权限和功能开关。
    • 如需调试,请使用模板提供的测试客户端或 Mock 工具,逐步验证资源、工具的行为、以及输出格式。

服务器信息