Strava MCP Server

Acesse a API do Strava para consultar dados de atividades de atletas.

Documentação

Servidor MCP Strava

Python Package License: MIT Python 3.10 Install MCP Server

Um servidor Model Context Protocol (MCP) que fornece acesso à API do Strava. Ele permite que modelos de linguagem consultem dados de atividades de atletas da API do Strava.

Ferramentas Disponíveis

O servidor expõe as seguintes ferramentas:

Consultas de Atividades

  • get_activities(limit: int = 10): Obter as atividades recentes do atleta autenticado
  • get_activities_by_date_range(start_date: str, end_date: str, limit: int = 30): Obter atividades dentro de um intervalo de datas específico
  • get_activity_by_id(activity_id: int): Obter informações detalhadas sobre uma atividade específica
  • get_recent_activities(days: int = 7, limit: int = 10): Obter atividades dos últimos X dias

As datas devem ser fornecidas no formato ISO (YYYY-MM-DD).

Formato dos Dados de Atividade

O servidor retorna dados de atividade com nomes de campos e unidades consistentes:

CampoDescriçãoUnidade
nameNome da atividade-
sport_typeTipo de esporte-
start_dateData e hora de inícioISO 8601
distance_metresDistânciametros
elapsed_time_secondsTempo total decorridosegundos
moving_time_secondsTempo em movimentosegundos
average_speed_mpsVelocidade médiametros por segundo
max_speed_mpsVelocidade máximametros por segundo
total_elevation_gain_metresGanho total de elevaçãometros
elev_high_metresElevação mais altametros
elev_low_metresElevação mais baixametros
caloriesCalorias queimadaskcal
start_latlngCoordenadas de início[lat, lng]
end_latlngCoordenadas de fim[lat, lng]

Autenticação

Para usar este servidor, você precisará autenticar com a API do Strava. Siga estes passos:

  1. Crie um aplicativo na API do Strava:

    • Acesse Configurações da API do Strava
    • Crie um aplicativo para obter seu Client ID e Client Secret
    • Defina o Domínio de Callback de Autorização como localhost
  2. Obtenha seu refresh token:

    • Use o script get_strava_token.py incluído:
    python get_strava_token.py
    
    • Siga as instruções para autorizar seu aplicativo
    • O script salvará seus tokens em um arquivo .env
  3. Defina as variáveis de ambiente: O servidor requer as seguintes variáveis de ambiente:

    • STRAVA_CLIENT_ID: Seu Client ID da API do Strava
    • STRAVA_CLIENT_SECRET: Seu Client Secret da API do Strava
    • STRAVA_REFRESH_TOKEN: Seu Refresh Token da API do Strava

Uso

Claude for Desktop

Atualize seu claude_desktop_config.json (localizado em ~/Library/Application\ Support/Claude/claude_desktop_config.json no macOS e %APPDATA%/Claude/claude_desktop_config.json no Windows) para incluir o seguinte:

{
    "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 o Claude Web, você pode executar o servidor localmente e conectá-lo usando a extensão MCP.

Exemplos de Consultas

Após conectar, você pode fazer perguntas ao Claude como:

  • "Quais são minhas atividades recentes?"
  • "Mostre minhas atividades da semana passada"
  • "Qual foi minha corrida mais longa no último mês?"
  • "Obtenha detalhes sobre minha atividade de ciclismo mais recente"

Tratamento de Erros

O servidor fornece mensagens de erro legíveis para problemas comuns:

  • Formatos de data inválidos
  • Erros de autenticação da API
  • Problemas de conectividade de rede

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.