Read-only OAuth · local tokens · agent-native health context

Your body already sends signals. Your agent should know how to listen.

Fitbit MCP is an unofficial, open-source bridge that gives AI agents safe access to your Fitbit activity, sleep, heart-rate, HRV, SpO2, breathing-rate, weight and nutrition data through the official Fitbit Web API.

npx -y fitbit-mcp-unofficial setup
25tools
Sleep7h 10mstage-ready context
HRV48 mstrend, not diagnosis
Activity9,000steps + active minutes
Official APIFitbit Web API OAuth2
Local-firsttokens under ~/.fitbit-mcp
25 toolssleep, heart, HRV, weight, nutrition
Agent-readyClaude, Cursor, Hermes, OpenClaw

For humans

No API archaeology. No token pasted into agent configs.

Fitbit developer setup is the hard part. This page gives the exact callback, scopes and commands so a non-technical user can delegate the install safely.

01

Create your Fitbit app

Open the Fitbit developer console and add this callback URL.

http://127.0.0.1:3000/callback
Open Fitbit apps
03

Run setup

npx -y fitbit-mcp-unofficial setup
npx -y fitbit-mcp-unofficial auth
npx -y fitbit-mcp-unofficial doctor

The toolbelt

Processed health signals, shaped for agents.

Activitydaily summaries, activity logs, calories, distance, active minutes
Sleeplogs, duration, efficiency and stages when Fitbit provides them
Heartresting heart rate, zones and intraday samples when permitted
Recovery contextHRV, SpO2 and breathing rate availability by account/device
Bodyweight logs and body trend context
Nutritionfood and water logs for context-aware reflection

For agents

A manifest that tells agents how not to break things.

Agents should call fitbit_agent_manifest and fitbit_connection_status first. Hermes gets direct tool names and explicit reload guidance so it does not restart the gateway for normal Fitbit access.

Install the unofficial Fitbit MCP server for me.
Repo: github.com/davidmosiah/fitbitmcp
Scopes: activity heartrate profile settings sleep weight nutrition
Then run setup, auth and doctor.
Keep tokens local. No medical diagnosis.

Trust boundary

Health data is not a toy payload.

This MCP exposes processed Fitbit Web API data. It does not expose raw accelerometer telemetry, private Google endpoints, or clinical diagnosis. Raw JSON is explicit; summary and structured modes are safer defaults.

summaryminimal safe fields
structurednormalized agent data
rawexplicit upstream JSON
0600local token permissions

Open source quantified-self infrastructure

Make personal health agents safer, clearer and more useful.