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

Tipo

Nombre

Descripción

Recurso

strava://activities

Lista de actividades

Recurso

strava://activities/{id}

Detalles de la actividad

Recurso

strava://athlete/zones

Zonas de entrenamiento

Recurso

strava://athlete/clubs

Clubes de atletas

Recurso

strava://gear/{gear_id}

Información del equipo

Herramienta

analyze_activity(activity_id)

Análisis de entrenamiento

Herramienta

analyze_training_load(activities)

Análisis de carga

Herramienta

get_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

Tipo

Herramienta

Descripción

Pelusa

fallar

Formato y análisis de código

Pruebas

prueba de python

Pruebas unitarias y de integración

Revestimiento

pytest-cov

Informe 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)

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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
            A
            license
            A
            quality
            Enables integration with OpenMetadata by wrapping its REST API for standardized interaction through the Model Context Protocol.
            Last updated -
            18
            MIT License
          • 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
            15
            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
            MIT License
            • Linux
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that enables users to access Strava fitness data, including user activities, activity details, segments, and leaderboards through a structured API interface.
            Last updated -
            3
            4
            MIT License
            • 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