Fitbit MCP Server logo

Fitbit MCP Server

by TheDigitalNinja

The Fitbit MCP Server acts as a bridge between an LLM like Claude and the Fitbit API, allowing the LLM to request and retrieve health and fitness data from a user's Fitbit account. It exposes Fitbit data through tools compliant with the Model Context Protocol.

View on GitHub

Last updated: N/A

What is Fitbit MCP Server?

This server is a Model Context Protocol (MCP) server that provides an interface for Large Language Models (LLMs) like Claude to access and utilize data from the Fitbit API. It allows the LLM to request and retrieve health and fitness information from a user's Fitbit account.

How to use Fitbit MCP Server?

To use this server, you need to clone the repository, install dependencies, configure your Fitbit API credentials in a .env file, build the project, and then integrate it with Claude for Desktop by adding the server configuration to the claude_desktop_config.json file. After restarting Claude, the server will handle the Fitbit OAuth 2.0 authorization flow when first accessed.

Key features of Fitbit MCP Server

  • Fitbit API Integration using OAuth 2.0

  • MCP Compliance for LLM interaction

  • Extensible design for adding more Fitbit API endpoints

  • Support for retrieving weight, sleep, and profile data

  • Easy setup and integration with Claude for Desktop

Use cases of Fitbit MCP Server

  • Allowing an LLM to provide personalized health and fitness advice based on Fitbit data.

  • Enabling an LLM to track a user's progress towards fitness goals.

  • Using an LLM to analyze sleep patterns and suggest improvements.

  • Integrating Fitbit data into LLM-powered health and wellness applications.

FAQ from Fitbit MCP Server

What is MCP?

MCP stands for Model Context Protocol, a standard for allowing LLMs to interact with external tools and services.

How do I get Fitbit API credentials?

You need to register an application at dev.fitbit.com and set the OAuth 2.0 Application Type to Personal and the Callback URL to http://localhost:3000/callback.

What data can the LLM access?

Currently, the LLM can access weight data, sleep data, and profile information. Support for steps, heart rate, and activity data is planned.

Why do I need to use double backslashes in the claude_desktop_config.json file?

Double backslashes are required for paths on Windows in JSON files to properly escape the backslash character.

What if the browser doesn't open automatically for authorization?

If the browser doesn't open automatically, manually navigate to http://localhost:3000/auth in your web browser.