Fitbitmcp MCP Server

Privacy-first, unofficial Fitbit MCP server for AI health, sleep, activity and heart-rate agents.

Local serverstdio

What is the Fitbitmcp MCP server?

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 short version

The tools it exposes

The server publishes 4 tools. What each one is for:

  • 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

What it needs from you

Configuration 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.

  • Node.js 20+ - A Fitbit app at https://dev.fitbit.com/apps with redirect URI http://127.0.0.1:3000/callback - Intraday heart-rate access requires the Fitbit app to be approved for intraday data (varies per app)

Getting it running

delx-wellness-hermes on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

How it compares

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.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
fitbit_connection_statusverify local setup before calling Fitbit
fitbit_data_inventoryinventory supported data domains, scopes, privacy modes and recommended first calls without calling Fitbit APIs.
fitbit_daily_summaryreadiness, activity, sleep and heart context for today
fitbit_weekly_summaryscorecard, comparison vs prior week, next-week plan

How to install the Fitbitmcp MCP server

{
  "mcpServers": {
    "fitbit": {
      "command": "npx",
      "args": ["-y", "fitbit-mcp-unofficial"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Node.js 20+ - A Fitbit app at https://dev.fitbit.com/apps with redirect URI http://127.0.0.1:3000/callback - Intraday heart-rate access requires the Fitbit app to be approved for intraday data (varies per app)
VariableDescriptionRequired
FITBIT_CLIENT_IDConfiguration value read at startup.Optional
FITBIT_CLIENT_SECRETCredential the server authenticates with.Yes

Example prompts to try

  • Use Fitbitmcp to fitbit connection status.
  • Use Fitbitmcp to fitbit data inventory.
  • Use Fitbitmcp to fitbit daily summary.

Frequently asked questions

It connects Fitbitmcp to MCP-compatible AI assistants such as Claude and Cursor, exposing 4 tools (fitbit_connection_status, fitbit_data_inventory, fitbit_daily_summary, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Fitbitmcp directly.