Skip to main content
Glama

garmin-mcp

Un servidor MCP de Garmin Connect orientado a la privacidad para el entrenamiento de triatlón. ~47 herramientas que cubren métricas diarias de salud, análisis de actividad, carga de entrenamiento, carrera, ciclismo, natación, entrenamiento de fuerza y creación de entrenamientos — además de análisis específicos de triatlón (entrenamientos de transición, equilibrio de volumen deportivo, instantáneas de forma física entre deportes).

Desplegado como servidor MCP remoto sobre HTTPS. Se conecta a Claude Desktop o Claude Code a través del transporte streamable-HTTP.

Configuración de autenticación de una sola vez

Ejecuta esto localmente una vez para generar los tokens:

  1. Instala localmente:

    pip install -e .
  2. Autentifícate con Garmin:

    garmin-mcp-auth

    Guarda los tokens en ~/.garminconnect/garmin_tokens.json e imprime el comando de exportación en base64.

  3. Copia el valor GARMIN_TOKENS_JSON=... impreso — lo necesitarás para el paso de secretos más abajo.

Related MCP server: Strava MCP

Despliegue en Fly.io

Requisitos previos: flyctl instalado y autenticado (flyctl auth login).

  1. Registra el nombre de la aplicación (solo la primera vez):

    flyctl apps create garmin-mcp

    Si garmin-mcp ya está ocupado en Fly.io (espacio de nombres global), usa un nombre único como garmin-mcp-yourname y actualiza el campo app en fly.toml para que coincida.

  2. Configura los secretos:

    flyctl secrets set \
      GARMIN_EMAIL=you@example.com \
      GARMIN_TOKENS_JSON=<base64-from-auth-step> \
      MCP_AUTH_TOKEN=$(openssl rand -hex 32)

    Guarda el valor MCP_AUTH_TOKEN generado — lo necesitarás para la configuración de Claude Desktop.

  3. Despliega:

    flyctl deploy
  4. Verifica:

    curl https://garmlink.fly.dev/health

    Resultado esperado: {"status":"ok"}

Despliegue automático mediante GitHub Actions

Después del primer despliegue manual, los envíos posteriores a main se despliegan automáticamente mediante GitHub Actions.

Añade FLY_API_TOKEN a los secretos de tu repositorio de GitHub:

flyctl tokens create deploy

Copia la salida y luego ve a: repositorio de GitHub → Configuración → Secretos y variables → Actions → Nuevo secreto de repositorio → nómbralo FLY_API_TOKEN.

Configuración de Claude Desktop

Agrégalo a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "garmin": {
      "url": "https://garmlink.fly.dev/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

Reemplaza <MCP_AUTH_TOKEN> por el valor que configuraste en el paso de secretos.

Habilidades de coaching

Ejecuta estos comandos de barra inclinada desde el directorio de este proyecto en Claude Code:

Comando

Propósito

/morning-check

Informe de preparación diaria (HRV, sueño, body battery)

/analyze-week

Revisión semanal de la carga de entrenamiento y el equilibrio deportivo

/race-readiness

Evaluación de la forma física previa a la competición en todas las disciplinas

/create-workout

Creador guiado de entrenamientos estructurados → envía a Garmin

Variables de entorno

Variable

Descripción

GARMIN_EMAIL

Tu correo electrónico de Garmin Connect

GARMIN_TOKENS_JSON

Archivo de tokens codificado en base64 (de garmin-mcp-auth)

MCP_AUTH_TOKEN

Token Bearer que protege el endpoint de MCP

PORT

Puerto del servidor (por defecto: 8000, establecido automáticamente por Fly.io)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that connects Garmin Connect data to Claude, enabling training analysis, recovery checks, and personalized plans based on real metrics like HRV, training load, and activities.
    21
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Unofficial MCP server bridging Garmin Connect to MCP clients and ChatGPT, providing tools to access health data, activities, and trends via a self-hosted API.
    11
    MIT