Google Health MCP
This server lets AI agents securely read user-authorized Google Health API v4 data (Fitbit, Pixel Watch, partners) locally via OAuth, with tokens never leaving your machine.
Authentication & Setup
Generate an OAuth URL (
google_health_get_auth_url), exchange codes for tokens (google_health_exchange_code) stored locally with0600permissions, and revoke access (google_health_revoke_access).
Health Data Access
List data points (
google_health_list_data_points) — query steps, sleep, heart rate, weight, exercise, etc.Reconcile data streams (
google_health_reconcile_data_points) — merge streams across all-sources, google-wearables, or google-sources.Daily rollup (
google_health_daily_rollup) — aggregate data over civil days.Physical-time rollup (
google_health_rollup) — aggregate over arbitrary time intervals.
User Profile & Identity
Retrieve identity (
google_health_get_identity), profile (google_health_get_profile), and settings like units/timezone (google_health_get_settings).
Summaries & Reports
Daily summary (
google_health_daily_summary) and weekly summary (google_health_weekly_summary) for aggregated health metrics.Wellness context (
google_health_wellness_context) — normalize health data into a standardized shape for recommendation engines, including soreness/injury flags.
Discovery & Diagnostics
Connection status (
google_health_connection_status) — check config, token file, privacy mode, and scope readiness.Data inventory (
google_health_data_inventory) and capabilities (google_health_capabilities) — explore supported types, scopes, and recommended workflows.Agent manifest (
google_health_agent_manifest) — machine-readable install/runtime guide for AI agents.Cache status (
google_health_cache_status) — inspect optional local SQLite cache.Privacy audit (
google_health_privacy_audit) — review privacy posture without exposing secrets.
Privacy & Security
Three privacy modes:
summary,structured(default), andraw.Tokens stored at
~/.google-health-mcp/tokens.json; access tokens, refresh tokens, and client secrets are never returned to the agent.GPS redaction enabled by default.
Allows access to health data from Android devices like Pixel Watch via the Google Health API, including activity, sleep, and health metrics.
Enables reading user-authorized health data from Fitbit devices through the Google Health API, such as steps, sleep, heart rate, and exercise.
Provides tools to read authorized health data from the Google Health API v4, including data from Fitbit, Pixel Watch, and other supported sources.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Health MCPshow my daily summary for yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚡ 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.
Google Health MCP
Local-first MCP server that gives your AI agent user-authorized Google Health API v4 data — Fitbit, Pixel Watch and partners — over OAuth.
Install one connector —
npx -y google-health-mcp-unofficial setupRun it in Claude · Cursor · ChatGPT · Hermes · OpenClaw — see the client examples.
Local-first — your tokens never leave your machine (privacy).
Which connector should I use? — see the front-door guide.
Beta status: Google Health API v4 is live for builders but still evolving. Google's release notes show scope and data-type changes continuing after launch, so this connector stays in early beta and points testers to safe read-only validation paths before public production use.
Unofficial project. Not affiliated with, endorsed by or supported by Google, Fitbit or Alphabet. Not a medical device. Not medical advice.
Why this exists
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.
Related MCP server: google-health-mcp-server
Quickstart in 60 seconds
Create a Google Cloud OAuth client, enable the Google Health API, and add the redirect http://127.0.0.1:3000/callback. Then:
npx -y google-health-mcp-unofficial setup --scope-preset full # writes local config
npx -y google-health-mcp-unofficial auth # OAuth, tokens saved locally
npx -y google-health-mcp-unofficial doctor # verifies you're readydoctor --live calls safe Google Health identity/profile/settings endpoints after auth to prove the API is reachable — the connection proof for this beta. Full install details (scope presets, MFA, recovery) are in the Install section below.
Try it with your agent
Three things to ask first, based on tools this connector actually ships:
Use google_health_connection_status to check setup, then run
google_health_data_inventory. Tell me which Google Health domains
and scopes I have authorized.Call google_health_daily_summary for today, then google_health_weekly_summary.
Separate observed data from suggestions and stay non-medical.Run google_health_privacy_audit, then summarize exactly what is stored
locally and what would be sent to Google on the next call.Tools
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_data_type_coverage— static coverage plan, or explicit live read-only validation for issue #3google_health_daily_summary— daily beta summary from rollups and reconciled streamsgoogle_health_weekly_summary— weekly beta reviewgoogle_health_privacy_audit— what is stored locally and what is sent to Google
The full tool catalog — Google Health API methods, agent manifest, diagnostics and data-type naming notes (kebab-case endpoints, snake_case filters, source families) — lives in docs/tools.md.
Privacy & what runs offline
OAuth tokens are stored locally at
~/.google-health-mcp/tokens.jsonwith0600permissions.Secrets can live in
~/.google-health-mcp/config.jsonorGOOGLE_HEALTH_*environment variables.Tools never return access tokens, refresh tokens or client secrets.
GOOGLE_HEALTH_PRIVACY_MODE=structuredis the default;rawmode is explicit and should be used only for debugging or deep analysis.support --redactedprints a copy-paste support bundle for GitHub issues without tokens, secrets, local paths or health measurements.support --feedback --jsonprints an anonymous setup-feedback bundle for beta testers and MCP client reports.coverage --live --jsonprints only redacted data-type status and point-count buckets; it never includes raw Google Health payloads.
See the full agent demo →
Want to see an agent actually reason over this connector alongside the rest of the stack? The shared, reproducible demo answers the anchor question "Should I train hard today?":
npx -y delx-living-body demodelx-living-body composes whatever connectors it detects locally with rule-based (offline) synthesis — readiness-first and non-medical. For this connector specifically, npx -y google-health-mcp-unofficial doctor --live is the local proof that your Google Health auth is wired correctly.
Beta Testers Wanted
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:
Run
npx -y google-health-mcp-unofficial doctorand confirm the OAuth flow is clear.Run
npx -y google-health-mcp-unofficial support --feedback --jsonand paste the anonymous bundle into issue #4.Run
npx -y google-health-mcp-unofficial coverage --jsonfor the static issue #3 plan.After OAuth, run
npx -y google-health-mcp-unofficial coverage --live --jsonand paste the reviewed, redacted report into issue #3.Try
google_health_connection_status,google_health_data_inventoryandgoogle_health_daily_summaryfrom your MCP client.Open an issue for missing data types, confusing setup steps, client-specific friction or privacy concerns.
Do not paste OAuth tokens, client secrets, local paths or personal health measurements into public issues.
Useful links:
Install
Create a Google Cloud OAuth client, enable the Google Health API, and add the local redirect:
http://127.0.0.1:3000/callbackThen run:
npx -y google-health-mcp-unofficial setup --scope-preset full
npx -y google-health-mcp-unofficial auth
npx -y google-health-mcp-unofficial doctorScope presets keep OAuth consent easier to reason about — basic, activity, sleep and full. The full preset list, the exact read-only scope URLs and the OAuth endpoints live in docs/oauth.md.
If setup gets stuck:
npx -y google-health-mcp-unofficial doctor --fix # repairs local config/token permissions (chmod 600 where supported)
npx -y google-health-mcp-unofficial doctor --live # calls safe identity/profile/settings endpoints to prove the API is reachable
npx -y google-health-mcp-unofficial coverage --live --json # redacted read-only data-type coverage for issue #3
npx -y google-health-mcp-unofficial support --redacted # copy-paste support bundle, no tokens/secrets/measurements
npx -y google-health-mcp-unofficial support --feedback --json # anonymous setup feedback for issue #4Standalone MCP config:
{
"mcpServers": {
"google_health": {
"command": "npx",
"args": ["-y", "google-health-mcp-unofficial"]
}
}
}Hermes
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 --fix
npx -y google-health-mcp-unofficial doctor --client hermes --live
hermes mcp test google_healthAfter config changes, use /reload-mcp or hermes mcp test google_health. Do not restart the gateway for normal data access.
Development
git clone https://github.com/davidmosiah/google-health-mcp.git
cd google-health-mcp
npm install
npm testLinks
Google Health API: https://developers.google.com/health
Release notes: https://developers.google.com/health/release-notes
REST reference: https://developers.google.com/health/reference/rest
Data types: https://developers.google.com/health/data-types
Migration guide: https://developers.google.com/health/migration
Delx Wellness registry: https://github.com/davidmosiah/delx-wellness
See also
The full Delx Wellness connector library:
Provider | Package | Repo |
WHOOP | ||
Oura | ||
Garmin | ||
Strava | ||
Fitbit | ||
Withings | ||
Apple Health | ||
Polar | ||
Nourish (nutrition) |
One-command setup for Hermes — preconfigures every connector above plus wellness skills + onboarding: delx-wellness-hermes.
📧 Contact & Support
📨 support@delx.ai — general questions, integration help, partnerships
🐛 Bug reports / feature requests — GitHub Issues
🐦 Updates — @delx369 on X
🌐 Site — wellness.delx.ai
License
MIT - see LICENSE.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidmosiah/google-health-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server