Skip to main content
Glama

Servidor Strava MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a la API de Strava. Este servidor permite que los modelos de lenguaje interactúen con los datos de Strava, incluyendo actividades, información de los atletas y más.

Características

  • 🏃‍♂️ Seguimiento y análisis de actividad

  • 📊 Estadísticas de los atletas

  • 🗺️ Visualización de rutas

  • 🏆 Seguimiento de logros

  • 🤝 Funciones sociales (felicitaciones, comentarios)

Related MCP server: Whoop MCP Server

Prerrequisitos

  • Python 3.12+

  • Credenciales de la API de Strava

  • pip (instalador de paquetes de Python)

Instalación

  1. Clonar el repositorio:

git clone https://github.com/yourusername/strava_mcp.git cd strava_mcp
  1. Crear un entorno virtual:

python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate
  1. Instalar dependencias:

pip install -r requirements.txt

Configuración

  1. Crea un archivo config/.env con tus credenciales de API de Strava:

STRAVA_CLIENT_ID=your_client_id STRAVA_CLIENT_SECRET=your_client_secret STRAVA_REFRESH_TOKEN=your_refresh_token
  1. Para obtener las credenciales de la API de Strava:

    • Vaya a https://www.strava.com/settings/api

    • Crear una nueva aplicación

    • Anote el ID del cliente y el secreto del cliente

    • Siga el flujo de OAuth 2.0 para obtener su token de actualización

Uso

Usando con Claude

Una vez conectado, podrás interactuar con tus datos de Strava a través de Claude de varias maneras:

Consultas de actividad

  • "Muéstrame mis actividades recientes"

  • "Obtener detalles sobre mi última carrera"

  • "¿Cuál fue mi viaje más largo este mes?"

  • "Muéstrame actividades donde establecí récords personales"

  • "Mostrar el mapa de ruta de mi última actividad"

Análisis de rendimiento

  • "¿Cuál es mi ritmo promedio de carrera este año?"

  • "Compara mi rendimiento ciclista entre el mes pasado y este mes"

  • "Muéstrame mis zonas de frecuencia cardíaca del entrenamiento de ayer"

  • "¿Cuál es mi ganancia de elevación total para todas las actividades?"

  • Calcula mi kilometraje semanal para correr

Interacciones sociales

  • "¿Quién me dio elogios por mi última actividad?"

  • "Muéstrame comentarios sobre mi maratón"

  • "Enumerar todas las actividades de mi club"

  • "Encuentra actividades que hice con amigos"

Seguimiento de logros

  • "Enumerar todos mis logros del segmento"

  • "Mostrar mis récords personales en segmentos locales"

  • ¿Qué logros obtuve esta semana?

  • "Mostrar mi progreso en los objetivos anuales"

Datos disponibles a través de Claude

  1. Detalles de la actividad:

    • Distancia, duración, ritmo

    • Mapas de rutas y perfiles de elevación

    • Datos de frecuencia cardíaca, potencia y cadencia

    • Información sobre vueltas y tiempos parciales

    • Condiciones climáticas durante la actividad

  2. Estadísticas de atletas:

    • Totales del año hasta la fecha y de todos los tiempos

    • Récords y logros personales

    • Carga de entrenamiento y tendencias de fitness

    • Uso y mantenimiento de equipos

  3. Datos sociales:

    • Felicitaciones y comentarios

    • Actividades del club y tablas de clasificación

    • Actividades y desafíos entre amigos

    • Esfuerzos y clasificaciones de segmentos

  4. Información de ruta:

    • Mapas detallados con datos de elevación

    • Análisis de segmentos

    • Rutas y segmentos populares

    • Planificación y análisis de rutas

Como servidor MCP

Actualice la configuración de Claude Desktop:

{ "mcpServers": { "Strava": { "command": "python", "args": ["src/strava_server.py"], "cwd": "/path/to/strava_mcp", "env": { "STRAVA_CLIENT_ID": "your_client_id", "STRAVA_CLIENT_SECRET": "your_client_secret", "STRAVA_REFRESH_TOKEN": "your_refresh_token" } } } }

Como servidor HTTP

  1. Iniciar el servidor:

./run_server.sh
  1. Acceda a la API en http://localhost:8000

Puntos finales disponibles:

  • GET /activities/recent - Lista de actividades recientes

  • GET /activities/{id} - Obtener detalles de la actividad

  • GET /activities/{id}/map - Obtener la visualización del mapa de actividades

  • GET /athlete/stats - Obtener estadísticas de atletas

Desarrollo

Estructura del proyecto

strava_mcp/ ├── src/ │ ├── strava_server.py # MCP server implementation │ ├── strava_http_server.py # HTTP API server │ ├── map_utils.py # Map visualization utilities │ └── templates.py # HTML templates ├── config/ │ └── .env # Environment variables (not in git) ├── requirements.txt # Python dependencies └── run_server.sh # Server startup script

Contribuyendo

  1. Bifurcar el repositorio

  2. Crear una rama de características

  3. Confirme sus cambios

  4. Empujar hacia la rama

  5. Crear una solicitud de extracción

Seguridad

  • Nunca confirmes archivos .env ni credenciales de API

  • El archivo .gitignore está configurado para evitar que se envíen datos confidenciales

  • Utilice variables de entorno para todas las configuraciones sensibles

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

  • Documentación de la API de Strava

  • Especificación del Protocolo de Contexto de Modelo (MCP)

  • Colaboradores y mantenedores

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ctvidic/strava-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server