健康数据分析MCP服务器

一个用于访问和分析存储在Google Drive电子表格中的健康指标数据的MCP服务器。

  • by gauravnadkarni
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 gauravnadkarni/google-drive-xlsx-health-data-mcp-server

使用说明

作者:高拉夫·纳德卡尼 nadkarnigaurav@gmail.com
仓库: https://github.com/gauravnadkarni/google-drive-xlsx-health-data-mcp-server.git

Google Drive健康数据MCP服务器

用于访问和分析存储在Google Drive电子表格中的健康指标数据的模型上下文协议(MCP)服务器。

📖 相关文章

📚 阅读随附的Medium文章: 我从零开始构建我的第一台MCP服务器学到了什么

在综合技术报告中了解此MCP服务器的架构、实现细节和实际使用案例。

特性

  • 健康数据集成:连接到Google Drive以访问健康指标数据
  • 多个数据视图:支持每日、每周、每月和季节性健康指标
  • 综合指标:跟踪各种健康指标,包括:
    • 活动数据
    • 心率
    • 睡眠模式
    • 营养信息
    • 用户配置文件数据

先决条件

  • Node.js(v16或更高版本)
  • npm或纱线
  • 启用Google Drive API的Google云平台项目
  • Google Drive API的服务帐户凭据
  • 健康数据谷歌表单文件(示例文件位于./uploads目录中)

安装

克隆存储库:

git clone https://github.com/gauravnadkarni/google-drive-xlsx-health-data-mcp-server.git
cd google-drive-xlsx-health-data-mcp-server

安装依赖项:

npm install

MCP服务器可以在两种模式下运行:

  1. STDIO模式: 本地进程通信,非常适合单用户桌面应用程序。

  2. HTTP模式: 远程服务器访问,支持多客户端和云部署。

建设项目

npm run build

运行服务器

要在STDIO模式下运行服务器:

MCP_TRANSPORT=stdio npm run start

要在HTTP模式下运行服务器,请执行以下操作:

MCP_TRANSPORT=http npm run start

在开发模式下运行项目

npm run dev

所需的环境配置:

GOOGLE_DRIVE_FILE_ID=
GOOGLE_CREDENTIALS_PATH=
PORT="3002"
MCP_TRANSPORT="stdio" #http or stdio
DOTENV_CONFIG_QUIET="true" # Set to true to suppress dotenv warnings (optional for http mode but required for stdio mode)

重要说明

  • 您应该在谷歌控制台中创建一个项目并启用谷歌驱动器api。
  • 创建服务帐户并下载凭据json文件,并将其放置在项目的根目录中。
  • 将健康数据文件上传到驱动器,并与服务帐户的电子邮件id共享。
  • 对于STDIO模式,您应该在客户端应用程序中设置GOOGLE_DRIVE_FILE_ID和GOOGLE_CREDENTIALS_PATH环境变量(例如claude代码mcp-json文件或mcp检查器)
  • 对于HTTP模式,您应该在服务器应用程序中设置GOOGLE_DRIVE_FILE_ID和GOOGLE_CREDENTIALS_PATH环境变量(例如.env文件)
  • STDIO模式是默认模式,如果没有设置MCP_TRANSPORT环境变量,它将在STDIO模式下运行。

谷歌云设置

  • 在Google Cloud Console中创建项目
  • 启用Google Drive API
  • 创建服务帐户并下载凭据JSON文件
  • 将凭据文件作为credentials.json放置在项目根目录中

电子表格设置

  • 将示例健康数据文件(来自./uploads目录)上传到您的Google Drive
  • 与您的服务帐户电子邮件共享文件(查看者权限)
  • 从Google Drive URL复制文件ID

克劳德桌面(STDIO模式) 添加到您的claude_desktop_config json:

{
  "mcpServers": {
    "health-data": {
      "command": "node",
      "args": ["/absolute/path/to/dist/server.js"],
      "env": {
        "GOOGLE_DRIVE_FILE_ID": "your_file_id",
        "GOOGLE_CREDENTIALS_PATH": "/path/to/credentials.json",
        "DOTENV_CONFIG_QUIET": "true"
      }
    }
  }
}

运行MCP检查器

npx @modelcontextprotocol/inspector

🛠️ 可用工具

服务器提供12个数据检索工具:

get_daily_metrics-特定日期的运行状况数据

get_date_range_metrics-跨日期范围的数据

get_activity_data-步数、锻炼、消耗的卡路里

get_sleep_data-睡眠质量和模式

get_heart_data-心率和恢复指标

get_nutrition_data-营养摄入跟踪

get_metric_history-特定指标的历史趋势

get_user_profile-用户信息和目标

get_weekly_data-每周汇总的健康数据

get_monthly_data-每月运行状况概览

get_sonal_data-季节模式分析

get_metric_range-跨日期的自定义度量分析

数据流

身份验证:服务帐户凭据验证Google Drive访问权限

数据检索:从云端硬盘下载并解析Excel电子表格

查询处理:工具根据LLM请求过滤和构建健康数据

响应格式:LLM分析的结构化JSON响应