loading…
Search for a command to run...
loading…
A local-first MCP server that enables AI agents to read user-authorized Google Health API v4 data from Fitbit, Pixel Watch, and partners via OAuth, with tokens
A local-first MCP server that enables AI agents to read user-authorized Google Health API v4 data from Fitbit, Pixel Watch, and partners via OAuth, with tokens never leaving the machine.
⚡ One-command install with Delx Wellness for Hermes:
npx -y delx-wellness-hermes setup— preconfigures this connector and the other 8 in a dedicated Hermes profile.Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop — see the install section below.
Unofficial, local-first MCP server for the new Google Health API v4.
It lets Claude, Cursor, Hermes, OpenClaw and other MCP clients read user-authorized Google Health data from Fitbit, Pixel Watch and supported third-party sources through Google's OAuth 2.0 flow.
Beta status: Google recommends waiting until the end of May 2026 before officially launching Google Health API integrations because breaking changes may occur while developer feedback is incorporated. This connector is intentionally published as an early beta for builders who want to test the API now.
Unofficial project. Not affiliated with, endorsed by or supported by Google, Fitbit or Alphabet. Not a medical device. Not medical advice.
The highest-leverage contribution right now is real setup feedback from Fitbit, Pixel Watch, Android and Google Health API v4 users.
If you can test with a real account:
npx -y google-health-mcp-unofficial doctor and confirm the OAuth flow is clear.google_health_connection_status, google_health_data_inventory and google_health_daily_summary from your MCP client.Useful links:
Google Health API is the successor to Fitbit Web API: new OAuth, new base URL, v4 endpoint schema, standardized data types, reconciled streams and rollups.
This MCP gives agents a clean way to discover the API, check setup, authenticate locally and query data without pasting tokens into prompts or agent configs.
npx -y google-health-mcp-unofficial setup
npx -y google-health-mcp-unofficial auth
npx -y google-health-mcp-unofficial doctor
Then start your agent with:
google_health_connection_statusgoogle_health_data_inventorygoogle_health_privacy_auditgoogle_health_daily_summaryCreate a Google Cloud OAuth client, enable the Google Health API, and add:
http://127.0.0.1:3000/callback
Then run:
npx -y google-health-mcp-unofficial setup
npx -y google-health-mcp-unofficial auth
npx -y google-health-mcp-unofficial doctor
Recommended read-only scopes:
https://www.googleapis.com/auth/googlehealth.profile.readonly
https://www.googleapis.com/auth/googlehealth.settings.readonly
https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
https://www.googleapis.com/auth/googlehealth.sleep.readonly
https://www.googleapis.com/auth/googlehealth.nutrition.readonly
Standalone MCP config:
{
"mcpServers": {
"google_health": {
"command": "npx",
"args": ["-y", "google-health-mcp-unofficial"]
}
}
}
Start here:
google_health_connection_status - local config, token, scope and client readinessgoogle_health_data_inventory - supported domains, scopes, data type naming and agent flowgoogle_health_agent_manifest - machine-readable install/runtime guidegoogle_health_daily_summary - daily beta summary from rollups and reconciled streamsgoogle_health_weekly_summary - weekly beta reviewGoogle Health API methods:
google_health_get_identitygoogle_health_get_profilegoogle_health_get_settingsgoogle_health_list_data_pointsgoogle_health_reconcile_data_pointsgoogle_health_daily_rollupgoogle_health_rollupDiagnostics:
google_health_get_auth_urlgoogle_health_exchange_codegoogle_health_privacy_auditgoogle_health_cache_statusgoogle_health_revoke_accessgoogle_health_wellness_contextEndpoint paths use kebab case:
steps
sleep
heart-rate
daily-resting-heart-rate
daily-heart-rate-variability
active-zone-minutes
total-calories
weight
exercise
Filter expressions use snake case:
steps.interval.civil_start_time >= "2026-05-07"
heart_rate.sample_time.physical_time >= "2026-05-07T00:00:00Z"
sleep.interval.civil_start_time >= "2026-05-07"
Source families supported by the API:
users/me/dataSourceFamilies/all-sources
users/me/dataSourceFamilies/google-wearables
users/me/dataSourceFamilies/google-sources
~/.google-health-mcp/tokens.json with 0600 permissions.~/.google-health-mcp/config.json or GOOGLE_HEALTH_* environment variables.GOOGLE_HEALTH_PRIVACY_MODE=structured is the default.raw mode is explicit and should be used only for debugging or deep analysis.npx -y google-health-mcp-unofficial setup --client hermes --no-auth
npx -y google-health-mcp-unofficial auth
npx -y google-health-mcp-unofficial doctor --client hermes
hermes mcp test google_health
After config changes, use /reload-mcp or hermes mcp test google_health. Do not restart the gateway for normal data access.
git clone https://github.com/davidmosiah/google-health-mcp.git
cd google-health-mcp
npm install
npm test
MIT - see LICENSE.
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"google-health-mcp": {
"command": "npx",
"args": []
}
}
}