• 项目简介
    • Hydrolyze 内置一个基于 Model Context Protocol(MCP)的服务器实现,提供对外暴露的工具集、资源访问、以及可渲染的 Prompt 模板等能力,方便将泳数据分析与训练计划等上下文信息供给给大型语言模型(LLM)进行对话、推理和决策支持。
  • 主要功能点
    • MCP 服务器核心:实现 MCP 的服务器端框架,注册与暴露工具(Tools),支持 ListTools/CallTool 形式的 JSON-RPC 调用,以及资源获取、数据访问与提示模板渲染等功能。
    • 工具注册与执行:通过 MCP Server 注册诸如 get_swimmer_metrics、get_recent_swims、analyze_load_vs_performance、get_biometrics、get_goal_times、get_strava_sessions 等工具,并实现对这些工具的具体处理逻辑,允许 LLM 调用外部数据与功能。
    • 数据后端接入:使用 Supabase 作为数据源,提供 swimmers、swimRecords、strava_sessions、testSets、goal_times 等表的查询与写入能力。
    • 多来源数据整合:将泳记、Strava 数据、测试集、日志等整合为统一的输出,支持扩展的分析与预测模型(如 McEvoy-Galpin 相关分析)以提供上下文信息。
    • 兼容性与后端能力:提供与 MCP 客户端的 JSON-RPC 交互、任意工具的统一调度入口,以及适配多种传输与会话管理的后端实现(当前以 MCP SDK 和 stdio 传输为主)。
  • 安装步骤
    • 准备环境:请确保已安装 Node.js,仓库依赖已安装(例如通过 npm install)。
    • 启动 MCP 服务器:在项目目录中执行提供的启动命令,启动 Hydrolyze 的 MCP 服务器以对外提供服务。仓库中明确描述了通过 npm run mcp 启动 MCP 服务器。
    • 依赖与环境变量:服务器实现使用 Supabase 作为数据源,需配置环境变量如 VITE_SUPABASE_URL、SUPABASE_SERVICE_KEY 等,以确保数据访问能力正常工作。
  • 服务器配置(MCP 客户端配置示例)
    • 这是给 MCP 客户端的连接配置示例,描述服务器名称、启动命令及参数等信息,帮助客户端建立与 MCP 服务器的连接;实际连接参数请以以下 JSON 为参考并由客户端按需配置: { "server_name": "hydrolyze", "command": "npm", "args": ["run", "mcp"], "notes": "Hydrolyze 的 MCP 服务,启动后对外暴露 Tools/Prompts;确保依赖已安装并正确配置环境变量(如 VITE_SUPABASE_URL、SUPABASE_SERVICE_KEY 等)以便数据访问。" }
  • 基本使用方法
    • 启动后,MCP 客户端通过 JSON-RPC 调用来获取工具列表、执行工具、获取资源等。
    • 客户端通过调用 ListTools 请求获取服务器暴露的工具清单,通过 CallTool 请求调用具体工具,传入名称与参数即可获得处理结果。
    • 典型工作流:客户端查询可用工具 -> 选择所需工具并提供参数 -> MCP 服务器执行工具并返回结果 -> 客户端基于返回的数据进行上下文整合、推理或生成响应。
  • 适用性与可扩展性
    • Hydrolyze 的 MCP 实现覆盖了工具注册与执行、数据源接入、以及对外暴露能力的核心需求,并结合了多种数据源和分析能力,便于构建面向 LLM 的上下文服务与能力代理。

信息

分类

AI与计算