Fitbit MCP Server

Integrations

  • Retrieves health and fitness data from a user's Fitbit account, including weight measurements, sleep logs, and user profile information. Currently supports endpoints for weight data by period, sleep data by date range, and profile details, with planned support for steps, heart rate, and activity data.

Servidor Fitbit MCP

Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) que actúa como puente entre un LLM (como Claude) y la API de Fitbit.

Permite al LLM solicitar y recuperar datos de salud y estado físico de la cuenta Fitbit de un usuario a través de herramientas definidas.

Características

  • Integración de API de Fitbit: se conecta de forma segura a la API de Fitbit mediante OAuth 2.0.
  • Cumplimiento de MCP: expone datos de Fitbit a través de herramientas compatibles con el Protocolo de contexto de modelo.
  • Extensible: diseñado para agregar fácilmente soporte para más puntos finales de API de Fitbit.

Puntos finales compatibles

  • Peso:
    • get_weight : Obtiene datos de peso brutos de un período especificado ( 1d , 7d , 30d , 3m , 6m , 1y ) que finaliza hoy. Requiere un parámetro period .
  • Dormir:
    • get_sleep_by_date_range : Obtiene datos sin procesar del registro de sueño para un rango de fechas específico (máximo 100 días). Requiere los parámetros startDate y endDate en formato YYYY-MM-DD .
  • Perfil:
    • get_profile : recupera la información del perfil Fitbit del usuario, incluidos detalles personales como nombre, edad, sexo, altura, peso e información de la cuenta.

Puntos finales planificados

  • Pasos
  • Frecuencia cardíaca
  • Actividad

Configuración

  1. Clonar el repositorio:
    git clone https://github.com/TheDigitalNinja/mcp-fitbit cd MCP-Server
  2. Dependencias de instalación:
    npm install
  3. Crear archivo de entorno:
    • Cree un archivo llamado .env en la raíz del proyecto ( mcp-fitbit/ ).
    • Añade tus credenciales de la aplicación Fitbit:
      FITBIT_CLIENT_ID=YOUR_FITBIT_CLIENT_ID FITBIT_CLIENT_SECRET=YOUR_FITBIT_CLIENT_SECRET
    • Puedes obtenerlos registrando una aplicación en dev.fitbit.com . Asegúrate de que el tipo de aplicación OAuth 2.0 sea Personal y que la URL de devolución de llamada sea http://localhost:3000/callback .
  4. Construir el proyecto:
    npm run build
    Esto compila los archivos fuente de TypeScript ( src/ ) en archivos JavaScript ( build/ ).

Integración con Claude para escritorio

Para utilizar este servidor Fitbit MCP con Claude para escritorio:

  1. Localice el archivo de configuración de Claude:
    • En Windows, abra el explorador de archivos y navegue hasta %AppData%\Claude\ .
    • Abra el archivo claude_desktop_config.json en un editor de texto.
  2. Agregar la configuración del servidor:
    • Busque la clave mcpServers en el archivo JSON (si no existe, es posible que deba agregarla).
    • Añade una entrada para el servidor Fitbit. Reemplaza C:\PATH\TO\PARENT\FOLDER\mcp-fitbit por la ruta absoluta del directorio donde clonaste este repositorio.
    { "mcpServers": { "fitbit": { "command": "node", "args": [ "C:\\PATH\\TO\\PARENT\\FOLDER\\mcp-fitbit\\build\\index.js" ] } // Add other servers here if you have them } // ... other Claude settings ... }
    • Importante: asegúrese de utilizar barras invertidas dobles ( \\ ) para las rutas en Windows en el archivo JSON.
  3. Guardar y reiniciar:
    • Guarde el archivo claude_desktop_config.json .
    • Reinicie la aplicación Claude for Desktop.
  4. Primera ejecución y autorización:
    • La primera vez que Claude se conecta al servidor (por ejemplo, cuando le hace una pregunta que requiere una herramienta Fitbit), el servidor iniciará el flujo de autorización Fitbit OAuth 2.0.
    • Podría aparecer brevemente una ventana de consola para el servidor.
    • El servidor intentará abrir http://localhost:3000/auth en su navegador web predeterminado.
    • Si el navegador no se abre automáticamente, navegue a esa URL manualmente.
    • Inicia sesión en tu cuenta de Fitbit y otorga permiso a la aplicación para los parámetros solicitados (Peso y Sueño).
    • Serás redirigido a http://localhost:3000/callback .
    • Aparecerá un mensaje de éxito en la pestaña del navegador, que luego podrá cerrarse.
    • El servidor ahora está autenticado y Claude puede usar las herramientas de Fitbit.

Herramientas disponibles

Una vez que el servidor esté en funcionamiento y autorizado, las siguientes herramientas estarán disponibles para el LLM conectado:

  • get_weight : obtiene datos de series temporales de peso sin procesar como una cadena JSON para un período específico que finaliza hoy.
    • Parámetro: period (cadena, obligatorio): Especifica la duración. Debe ser uno de los siguientes: "1d" , "7d" , "30d" , "3m" , "6m" , "1y" .
    • Ejemplo de uso (conceptual): get_weight(period="7d")
  • get_sleep_by_date_range : obtiene datos sin procesar del registro de sueño como una cadena JSON para un rango de fechas específico (máximo 100 días).
    • Parámetros:
      • startDate (cadena, obligatoria): especifica la fecha de inicio en formato YYYY-MM-DD .
      • endDate (cadena, obligatoria) - Especifica la fecha de finalización en formato YYYY-MM-DD .
    • Ejemplo de uso (conceptual): get_sleep_by_date_range(startDate="2025-04-01", endDate="2025-04-30")
  • get_profile : obtiene la información del perfil Fitbit del usuario como una cadena JSON.
    • Parámetros: No se requieren.
    • Ejemplo de uso (conceptual): get_profile()

Desarrollo

  • El código fuente se encuentra en el directorio src/ .
  • Ejecute npm run build después de realizar cambios en los archivos TypeScript.
  • Reinicie Claude for Desktop para asegurarse de que seleccione la última compilación si el servidor ya se estaba ejecutando a través de Claude.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor de protocolo de contexto de modelo que conecta los LLM (como Claude) con la API de Fitbit, lo que permite que el LLM solicite y recupere datos de salud y estado físico del usuario a través de herramientas definidas.

  1. Características
    1. Puntos finales compatibles
    2. Puntos finales planificados
  2. Configuración
    1. Integración con Claude para escritorio
      1. Herramientas disponibles
        1. Desarrollo

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server for tracking personal health and well-being, offering tools for workout logging, nutrition management, and daily journaling with AI-assisted analysis integration.
            Last updated -
            2
            Python
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides health data from the Senechal API to LLM applications, enabling AI assistants to access, analyze, and respond to personal health information.
            Last updated -
            Python
            GPL 3.0
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that provides language models with access to personal Whoop fitness data, allowing queries for cycles, recovery, strain, and workout information from the Whoop API.
            Last updated -
            2
            Python
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.
            Last updated -
            13
            2
            TypeScript
            MIT License

          View all related MCP servers

          ID: jcowqolhlh