Privacy-first, unofficial Fitbit MCP server for AI health, sleep, activity and heart-rate agents.
Most developer tooling work still happens through a UI a human drives. Fitbitmcp MCP server moves it into the conversation instead. Privacy-first, unofficial Fitbit MCP server for AI health, sleep, activity and heart-rate agents.
The server publishes 4 tools. What each one is for:
fitbit_connection_status — verify local setup before calling Fitbitfitbit_data_inventory — inventory supported data domains, scopes, privacy modes and recommended first calls without calling Fitbit APIsfitbit_daily_summary — readiness, activity, sleep and heart context for todayfitbit_weekly_summary — scorecard, comparison vs prior week, next-week planConfiguration is passed through the environment: FITBIT_CLIENT_ID, FITBIT_CLIENT_SECRET. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
http://127.0.0.1:3000/callback - Intraday heart-rate access requires the Fitbit app to be approved for intraday data (varies per app)delx-wellness-hermes on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Fitbitmcp's toolset — fitbit_connection_status, fitbit_data_inventory, fitbit_daily_summary and 1 more — is a fair guide to whether it matches your workflow. It is maintained by davidmosiah; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| fitbit_connection_status | verify local setup before calling Fitbit |
| fitbit_data_inventory | inventory supported data domains, scopes, privacy modes and recommended first calls without calling Fitbit APIs. |
| fitbit_daily_summary | readiness, activity, sleep and heart context for today |
| fitbit_weekly_summary | scorecard, comparison vs prior week, next-week plan |
{
"mcpServers": {
"fitbit": {
"command": "npx",
"args": ["-y", "fitbit-mcp-unofficial"]
}
}
}Configuration as documented by the project. Restart the client after saving.
http://127.0.0.1:3000/callback - Intraday heart-rate access requires the Fitbit app to be approved for intraday data (varies per app)| Variable | Description | Required |
|---|---|---|
| FITBIT_CLIENT_ID | Configuration value read at startup. | Optional |
| FITBIT_CLIENT_SECRET | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.