fitbit-google-health-mcp
Provides read-only access to Fitbit-synced health data, including daily summaries, sleep, activity, body metrics, and recovery insights via the Google Health API.
Uses Google Cloud's Health API v4 to retrieve and analyze Fitbit-synced health data with tools for metrics, summaries, trends, and data quality.
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., "@fitbit-google-health-mcpWhat was my sleep summary and heart rate trends for the past week?"
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.
fitbit-google-health-mcp
Read-only MCP access to Fitbit-synced health data through Google Health API v4. This is not a direct Fitbit Web API integration. The server is MCP-only: there is no dashboard, database, health-data cache, write operation, or arbitrary HTTP tool.
It isolates unavailable metrics so one Google Health API limitation does not fail an entire request.
Setup
Create a Google Cloud project and enable the Google Health API.
Configure an OAuth consent screen and add your Google/Fitbit account as a test user.
Create a Web application OAuth client with this exact redirect URI:
http://127.0.0.1:42813/oauth/callbackCopy
.env.exampleto.envand fill in the client ID and secret. Never commit.envor OAuth tokens.Install and build:
pnpm install pnpm buildAuthorize the account:
set -a; source .env; set +a pnpm authAdd the server to your MCP client using the built
dist/src/index.jsand the same environment variables.run.shis a convenient stdio launcher.
The Fitbit Air must already be paired to the Fitbit mobile app. Fitbit devices sync through the Fitbit app; they do not expose a direct third-party Bluetooth path. Open the Fitbit app and sync before asking the MCP for new readings.
Related MCP server: google-health-mcp-server
Tools
get_data_source_info: provider, data path, read-only boundary, and limitations. Call this first when interpreting results.list_available_metrics: the broad Google Health v4 catalog implemented by this server.get_metrics: query any supported data types over a range, raw or daily aggregate.get_daily_summary: common daily metrics in one call.get_profile,get_devices,get_settings: connected account metadata.get_recent_metrics: recent-range queries with per-metric failure isolation.get_health_snapshot: compact current-day summary.get_trends: numeric averages, ranges, and changes.get_sleep_summary: normalized sleep sessions and stages.get_sync_status: account, devices, and recent-data availability.compare_periods: compare the current period with the prior period.get_data_quality: report coverage, missing data, sources, and API limitations.get_activity_summary: normalized movement and activity trends.get_recovery_summary: informational sleep, heart, oxygen, and respiration summary.get_body_metrics: normalized weight, body-fat, temperature, height, and glucose data.
The server requests read-only scopes only. It does not expose write, delete, webhook, or arbitrary HTTP tools.
Development
pnpm install
pnpm checkThe project requires Node 20+ and pnpm. Run pnpm auth once to create the local OAuth token, then use pnpm start or ./run.sh with your MCP client.
Privacy and security
This server handles sensitive health data. Keep OAuth credentials private, use a restricted Google Cloud test-user list, and never paste token contents into issues or logs. Tokens default to ~/.config/fitbit-mcp/tokens.json (or $XDG_CONFIG_HOME/fitbit-mcp/tokens.json) with owner-only permissions. Set FITBIT_MCP_TOKEN_PATH for another secure location.
The server does not diagnose conditions or provide medical advice. Metric availability varies; unavailable results are missing data, not zero.
Notes
Metric presence varies by Fitbit device, account, country, permissions, and recent sync. Google Health API query ranges are constrained: heart-rate, active-minutes, total-calories, and heart-rate-zone queries should be kept to 14 days or less; most other types support up to 90 days per request. Historical data can be fetched in multiple ranges.
Recent and summary tools accept an IANA timezone such as America/Detroit. Raw API records are preserved, while summary tools add normalized distance, weight, calorie, and sleep-duration fields. Missing data is reported explicitly and is never interpreted as zero.
OpenClaw
Register the local stdio server without a hardcoded tool allowlist so newly added read-only tools become available automatically:
openclaw mcp add fitbit-google-health \
--command /Users/rithvik/fitbit-mcp/run.sh \
--cwd /Users/rithvik/fitbit-mcp
openclaw mcp doctor fitbit-google-health --probe
openclaw mcp reloadUse an OpenClaw tool filter only when you intentionally want to restrict the agent. The get_data_source_info tool is the canonical way for an agent to understand that this server uses Google Health API v4 and may contain Fitbit-synced records rather than direct Fitbit Web API records.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA 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.Last updated2628333MIT
- AlicenseAqualityBmaintenanceMCP server to read daily activity, sleep, heart rate, and body metrics from Google Health API, allowing AI assistants like Claude to access your health data. Optionally syncs health metrics to an Obsidian vault.Last updated5MIT
- AlicenseAqualityBmaintenanceRead-only MCP server exposing daily health facts, 7/28-day baselines, and deterministic daily pulse from Google Health API data.Last updated72MIT
- AlicenseAqualityBmaintenanceAn MCP server that locally authenticates with Google Health API v4 and provides read-only access to Fitbit, Pixel Watch, and other health data for AI agents.Last updated298111MIT
Related MCP Connectors
MCP server for Withings health data — sleep, activity, heart, and body metrics.
HealthData.gov MCP — wraps HealthData.gov CKAN API (free, no auth)
Securely access and manage FHIR healthcare data stored in Medplum.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/rickygarim/fitbit-google-health-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server