Skip to main content
Glama

mcp-server-strava

Integración de la API de Strava con el SDK del Protocolo de Contexto de Modelo (MCP)

CICódecsPitónLicencia: MITFallar

Integración para análisis de entrenamiento y recomendaciones basadas en datos de Strava utilizando el SDK Model Context Protocol.

🚀 Características

  • Análisis de entrenamientos de Strava
  • Recomendaciones de formación
  • Actualización automática de tokens
  • Limitación de velocidad para solicitudes de API

📋 Requisitos

⚙️ Instalación

# Клонируем репозиторий git clone https://github.com/rbctmz/mcp-server-strava.git cd mcp-server-strava # Установка через uv (рекомендуется) curl -LsSf https://astral.sh/uv/install.sh | sh uv pip install . # Установка в режиме разработки uv pip install -e ".[dev]"

Instalación del SDK de MCP

uv add "mcp[cli]"

🔧 Configuración

Configuración de la API de Strava

  1. Vaya a la página de configuración de la API
  2. Crear una aplicación:
    • Nombre de la aplicación: Integración de MCP Strava
    • Categoría: Análisis de entrenamiento
    • Sitio web: http://localhost
    • Dominio de devolución de llamada de autorización: localhost

Configuración del entorno

  1. Crea un archivo con variables de entorno:
    cp .env-template .env
  2. Obtener tokens de acceso:
    python scripts/auth.py
  3. Compruebe la configuración:
    mcp dev src/server.py curl -X GET "http://localhost:8000/activities"

📚 API y ejemplos

Recursos y herramientas

TipoNombreDescripción
Recursostrava://activitiesLista de actividades
Recursostrava://activities/{id}Detalles de la actividad
Recursostrava://athlete/zonesZonas de entrenamiento
Recursostrava://athlete/clubsClubes de atletas
Recursostrava://gear/{gear_id}Información del equipo
Herramientaanalyze_activity(activity_id)Análisis de entrenamiento
Herramientaanalyze_training_load(activities)Análisis de carga
Herramientaget_activity_recommendations()Recomendaciones

Ejemplos de uso

from mcp import ClientSession # Получение активностей async with ClientSession() as session: activities = await session.read_resource("strava://activities") activity = await session.read_resource("strava://activities/12345678") # Анализ тренировки result = analyze_activity(activity_id="12345678") """ { "type": "Run", "distance": 5000, "moving_time": 1800, "analysis": { "pace": 5.5, # мин/км "effort": "Средняя" } } """ # Анализ нагрузки summary = analyze_training_load(activities) """ { "activities_count": 10, "total_distance": 50.5, # км "total_time": 5.2, # часы "heart_rate_zones": { "easy": 4, # ЧСС < 120 "medium": 4, # ЧСС 120-150 "hard": 2 # ЧСС > 150 } } """ # Получение тренировочных зон async with ClientSession() as session: zones = await session.read_resource("strava://athlete/zones") """ { "heart_rate": { "custom_zones": true, "zones": [ {"min": 0, "max": 120, "name": "Z1 - Recovery"}, {"min": 120, "max": 150, "name": "Z2 - Endurance"}, {"min": 150, "max": 170, "name": "Z3 - Tempo"}, {"min": 170, "max": 185, "name": "Z4 - Threshold"}, {"min": 185, "max": -1, "name": "Z5 - Anaerobic"} ] }, "power": { "zones": [ {"min": 0, "max": 180}, {"min": 181, "max": 250}, {"min": 251, "max": 300}, {"min": 301, "max": 350}, {"min": 351, "max": -1} ] } } """

🛠 Desarrollo

CI/CD y seguridad

  • Cobertura
  • Pruebas
  • Fallar
Comprobaciones en acciones de GitHub
TipoHerramientaDescripción
PelusafallarFormato y análisis de código
Pruebasprueba de pythonPruebas unitarias y de integración
Revestimientopytest-covInforme de cobertura de código
Seguridad y secretos
  1. Protección de token:
    • .env a .gitignore
    • Secretos de GitHub para CI/CD
    • Limitación de velocidad: 100 solicitudes/15 min
  2. Configuración de secretos:
    # В GitHub: Settings → Secrets → Actions STRAVA_CLIENT_ID=<client_id> STRAVA_CLIENT_SECRET=<client_secret> STRAVA_REFRESH_TOKEN=<refresh_token>

Contribuyendo

  1. Bifurcar el repositorio
  2. Instalar dependencias: uv pip install -e ".[dev]"
  3. Crear una rama: git checkout -b feature/name
  4. Comprueba los cambios:
    ruff format . ruff check . pytest --cov=src
  5. Crear una solicitud de extracción

📫 Soporte

📄 Licencia

Instituto Tecnológico de Massachusetts (MIT)

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integración de la API de Strava con el SDK del protocolo de contexto de modelo

  1. 🚀 Características
    1. 📋 Requisitos
      1. ⚙️ Instalación
        1. Instalación del SDK de MCP
      2. 🔧 Configuración
        1. Configuración de la API de Strava
        2. Configuración del entorno
      3. 📚 API y ejemplos
        1. Recursos y herramientas
        2. Ejemplos de uso
      4. 🛠 Desarrollo
        1. CI/CD y seguridad
        2. Contribuyendo
      5. 📫 Soporte
        1. 📄 Licencia

          Related MCP Servers

          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server implementation for interacting with Salesforce through its REST API.
            Last updated -
            4
            34
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol gateway that connects to RFK Jr-related endpoints, supporting both STDIO and SSE transport methods.
            Last updated -
            Python
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that provides language models with access to Strava API data, allowing them to query and analyze athlete activities from Strava.
            Last updated -
            4
            13
            Python
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables language models to interact with Strava data, including activities, athlete statistics, routes, achievements, and social features.
            Last updated -
            2
            Python
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          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/rbctmz/mcp-server-strava'

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