Strava MCP Server
Acesse a API do Strava para consultar dados de atividades de atletas.
Documentação
Servidor MCP Strava
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 autenticadoget_activities_by_date_range(start_date: str, end_date: str, limit: int = 30): Obter atividades dentro de um intervalo de datas específicoget_activity_by_id(activity_id: int): Obter informações detalhadas sobre uma atividade específicaget_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:
| Campo | Descrição | Unidade |
|---|---|---|
name | Nome da atividade | - |
sport_type | Tipo de esporte | - |
start_date | Data e hora de início | ISO 8601 |
distance_metres | Distância | metros |
elapsed_time_seconds | Tempo total decorrido | segundos |
moving_time_seconds | Tempo em movimento | segundos |
average_speed_mps | Velocidade média | metros por segundo |
max_speed_mps | Velocidade máxima | metros por segundo |
total_elevation_gain_metres | Ganho total de elevação | metros |
elev_high_metres | Elevação mais alta | metros |
elev_low_metres | Elevação mais baixa | metros |
calories | Calorias queimadas | kcal |
start_latlng | Coordenadas de início | [lat, lng] |
end_latlng | Coordenadas de fim | [lat, lng] |
Autenticação
Para usar este servidor, você precisará autenticar com a API do Strava. Siga estes passos:
-
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
-
Obtenha seu refresh token:
- Use o script
get_strava_token.pyincluído:
python get_strava_token.py- Siga as instruções para autorizar seu aplicativo
- O script salvará seus tokens em um arquivo
.env
- Use o script
-
Defina as variáveis de ambiente: O servidor requer as seguintes variáveis de ambiente:
STRAVA_CLIENT_ID: Seu Client ID da API do StravaSTRAVA_CLIENT_SECRET: Seu Client Secret da API do StravaSTRAVA_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.