Skip to main content
Glama

garmin_mcp — Conector Garmin con autorización (experiencia tipo Strava)

Agregas el conector en claude.ai → Claude abre una pantalla de autorización → inicias sesión con Garmin una sola vez → autorizas → conectado. Sin contraseñas en variables ni secrets en la URL. Incluye tu plan de TrainingPeaks (leído del calendario Garmin vía la conexión TP → Garmin).

Cómo funciona la autorización

El servidor implementa OAuth 2.1 (registro dinámico + PKCE), que es lo que claude.ai usa con conectores como Strava. Al conectar:

  1. Claude te redirige a la pantalla /login de TU servidor

  2. Pones tu email/contraseña de Garmin (+ código MFA si lo tienes activado)

  3. El servidor inicia sesión con Garmin, guarda solo los tokens de sesión (tu contraseña no se almacena) y te regresa a Claude ya autorizado

  4. Claude recibe un access token propio del conector (válido 30 días, con refresh automático) — nunca ve tus credenciales de Garmin

Related MCP server: garmin-mcp

Despliegue en Railway (~10 min)

  1. Repo en GitHub con: server_oauth.py, requirements.txt, Dockerfile

  2. railway.app → New Project → Deploy from GitHub repo

  3. Settings → Networking → Generate Domain (ej. xxxx.up.railway.app)

  4. Variables → agrega solo una:

    • PUBLIC_URL = https://xxxx.up.railway.app (tu dominio del paso 3)

  5. (Opcional, recomendado) agrega un Volume montado en /data para que la sesión sobreviva reinicios del contenedor

  6. Redeploy

Conectar en claude.ai

  1. Configuración → Conectores → Agregar conector personalizado

  2. URL: https://xxxx.up.railway.app/mcp

  3. Claude detecta el OAuth solo → botón Conectar → pantalla de login → autoriza

  4. Aparece "garmin_mcp" con 11 herramientas de solo lectura

Herramientas

Herramienta

Qué devuelve

garmin_get_scheduled_workouts

Plan de TrainingPeaks + workouts planeados

garmin_get_workout_detail

Estructura del workout (intervalos, targets)

garmin_list_activities / garmin_get_activity

Actividades y splits

garmin_get_sleep / garmin_get_hrv

Sueño, fases, sleep score, HRV

garmin_get_body_battery / garmin_get_training_readiness

Recuperación

garmin_get_training_status

Carga, VO2max

garmin_get_daily_stats / garmin_get_heart_rates-equiv

Estrés, pasos, FC

garmin_get_week_summary

7 días: sueño, estrés, Body Battery

Seguridad

  • Solo lectura; nada se modifica en tu cuenta Garmin.

  • Tu contraseña se usa una vez en TU servidor y no se guarda; solo tokens de sesión.

  • Es un servidor de un solo usuario: no compartas la URL públicamente — quien la conecte y complete el login con SUS credenciales no verá tus datos, pero para desconectar/revocar: elimina el conector en Claude y borra el volumen /data.

  • Garmin no ofrece API oficial para individuos; esto usa la librería comunitaria garminconnect. No es un producto oficial de Garmin.

Probado

Flujo completo verificado: discovery OAuth → registro dinámico de cliente → authorize con PKCE → pantalla de login → emisión de código → intercambio por token → llamada MCP autenticada → rechazo 401 sin token.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides read access to Garmin Connect health and training data (sleep, heart rate, stress, HRV, activities) and supports writes like creating workouts, editing activities, and exporting files.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables triathlon coaches and athletes to interact with Garmin Connect, including retrieving health/activity data, building and uploading structured workouts (cycling, running, swimming, brick), and accessing coaching analytics like readiness, load, and performance trends.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLMs and MCP clients to securely access your Garmin Connect health and running data, including daily wellness metrics, activity details, training status, and race predictions, for personalized coaching and analysis.
    MIT