Strava MCP Server
Accede a la API de Strava para consultar datos de actividades de atletas.
Documentación
Strava MCP Server
Un servidor Model Context Protocol (MCP) que proporciona acceso a la API de Strava. Permite a los modelos de lenguaje consultar los datos de actividades de los atletas desde la API de Strava.
Herramientas disponibles
El servidor expone las siguientes herramientas:
Consultas de actividades
get_activities(limit: int = 10): Obtener las actividades recientes del atleta autenticadoget_activities_by_date_range(start_date: str, end_date: str, limit: int = 30): Obtener actividades dentro de un rango de fechas específicoget_activity_by_id(activity_id: int): Obtener información detallada sobre una actividad específicaget_recent_activities(days: int = 7, limit: int = 10): Obtener actividades de los últimos X días
Las fechas deben proporcionarse en formato ISO (YYYY-MM-DD).
Formato de los datos de actividad
El servidor devuelve los datos de actividad con nombres de campos y unidades consistentes:
| Campo | Descripción | Unidad |
|---|---|---|
name | Nombre de la actividad | - |
sport_type | Tipo de deporte | - |
start_date | Fecha y hora de inicio | ISO 8601 |
distance_metres | Distancia | metros |
elapsed_time_seconds | Tiempo total transcurrido | segundos |
moving_time_seconds | Tiempo en movimiento | segundos |
average_speed_mps | Velocidad media | metros por segundo |
max_speed_mps | Velocidad máxima | metros por segundo |
total_elevation_gain_metres | Ganancia total de elevación | metros |
elev_high_metres | Elevación más alta | metros |
elev_low_metres | Elevación más baja | metros |
calories | Calorías quemadas | kcal |
start_latlng | Coordenadas de inicio | [lat, lng] |
end_latlng | Coordenadas de fin | [lat, lng] |
Autenticación
Para usar este servidor, necesitarás autenticarte con la API de Strava. Sigue estos pasos:
-
Crea una aplicación de la API de Strava:
- Ve a Configuración de la API de Strava
- Crea una aplicación para obtener tu ID de cliente y secreto de cliente
- Establece el Dominio de devolución de llamada de autorización a
localhost
-
Obtén tu token de actualización:
- Usa el script
get_strava_token.pyincluido:
python get_strava_token.py- Sigue las instrucciones para autorizar tu aplicación
- El script guardará tus tokens en un archivo
.env
- Usa el script
-
Establece las variables de entorno: El servidor requiere las siguientes variables de entorno:
STRAVA_CLIENT_ID: Tu ID de cliente de la API de StravaSTRAVA_CLIENT_SECRET: Tu secreto de cliente de la API de StravaSTRAVA_REFRESH_TOKEN: Tu token de actualización de la API de Strava
Uso
Claude para escritorio
Actualiza tu claude_desktop_config.json (ubicado en ~/Library/Application\ Support/Claude/claude_desktop_config.json en macOS y %APPDATA%/Claude/claude_desktop_config.json en Windows) para incluir lo siguiente:
{
"mcpServers": {
"strava": {
"command": "uvx",
"args": [
"strava-mcp-server"
],
"env": {
"STRAVA_CLIENT_ID": "YOUR_CLIENT_ID",
"STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
}
}
}
}
Claude Web
Para Claude Web, puedes ejecutar el servidor localmente y conectarlo usando la extensión MCP.
Ejemplos de consultas
Una vez conectado, puedes hacer preguntas a Claude como:
- "¿Cuáles son mis actividades recientes?"
- "Muéstrame mis actividades de la semana pasada"
- "¿Cuál fue mi carrera más larga en el último mes?"
- "Obtén detalles sobre mi última actividad de ciclismo"
Manejo de errores
El servidor proporciona mensajes de error legibles para problemas comunes:
- Formatos de fecha inválidos
- Errores de autenticación de la API
- Problemas de conectividad de red
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.