Strava MCP Server
Acesse a API do Strava para interagir com atividades, informações do atleta e outros dados do Strava.
GitHub
6
Experimente este MCPPatrocinadoDocumentação
Servidor MCP Strava
Um servidor Model Context Protocol (MCP) que fornece acesso à API do Strava. Este servidor permite que modelos de linguagem interajam com dados do Strava, incluindo atividades, informações de atletas e muito mais.
Recursos
- 🏃♂️ Rastreamento e análise de atividades
- 📊 Estatísticas de atletas
- 🗺️ Visualização de rotas
- 🏆 Rastreamento de conquistas
- 🤝 Recursos sociais (elogios, comentários)
Pré-requisitos
- Python 3.12+
- Credenciais da API do Strava
- pip (instalador de pacotes Python)
Instalação
- Clone o repositório:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
- Crie um ambiente virtual:
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Instale as dependências:
pip install -r requirements.txt
Configuração
- Crie um arquivo
config/.envcom suas credenciais da API do Strava:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
- Para obter credenciais da API do Strava:
- Acesse https://www.strava.com/settings/api
- Crie um novo aplicativo
- Anote o Client ID e o Client Secret
- Siga o fluxo OAuth 2.0 para obter seu refresh token
Uso
Usando com Claude
Depois de conectado, você pode interagir com seus dados do Strava por meio do Claude de várias maneiras:
Consultas de Atividades
- "Mostre minhas atividades recentes"
- "Obtenha detalhes sobre minha última corrida"
- "Qual foi meu passeio mais longo neste mês?"
- "Mostre atividades em que estabeleci recordes pessoais"
- "Exiba o mapa da rota da minha atividade mais recente"
Análise de Desempenho
- "Qual é meu ritmo médio de corrida neste ano?"
- "Compare meu desempenho no ciclismo entre o mês passado e este mês"
- "Mostre minhas zonas de frequência cardíaca do treino de ontem"
- "Qual é meu ganho total de elevação em todas as atividades?"
- "Calcule minha quilometragem semanal de corrida"
Interações Sociais
- "Quem deu elogios na minha atividade mais recente?"
- "Mostre comentários na minha corrida de maratona"
- "Liste todas as atividades do meu clube"
- "Encontre atividades que fiz com amigos"
Rastreamento de Conquistas
- "Liste todas as minhas conquistas de segmento"
- "Mostre meus recordes pessoais em segmentos locais"
- "Quais conquistas ganhei esta semana?"
- "Exiba meu progresso nas metas anuais"
Dados Disponíveis por meio do Claude
-
Detalhes da Atividade:
- Distância, duração, ritmo
- Mapas de rota e perfis de elevação
- Dados de frequência cardíaca, potência e cadência
- Informações de divisões e voltas
- Condições climáticas durante a atividade
-
Estatísticas do Atleta:
- Totais do ano até a data e de todos os tempos
- Recordes pessoais e conquistas
- Carga de treino e tendências de condicionamento físico
- Uso e manutenção de equipamentos
-
Dados Sociais:
- Elogios e comentários
- Atividades do clube e rankings
- Atividades e desafios de amigos
- Esforços em segmentos e classificações
-
Informações de Rota:
- Mapas detalhados com dados de elevação
- Análise de segmentos
- Rotas e segmentos populares
- Planejamento e análise de rotas
Como Servidor MCP
Atualize sua configuração do 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
- Inicie o servidor:
./run_server.sh
- Acesse a API em
http://localhost:8000
Endpoints disponíveis:
- GET
/activities/recent- Listar atividades recentes - GET
/activities/{id}- Obter detalhes da atividade - GET
/activities/{id}/map- Obter visualização do mapa da atividade - GET
/athlete/stats- Obter estatísticas do atleta
Desenvolvimento
Estrutura do Projeto
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
Contribuindo
- Faça um fork do repositório
- Crie um branch de recurso
- Faça commit das suas alterações
- Envie para o branch
- Crie um Pull Request
Segurança
- Nunca faça commit de arquivos
.envou credenciais da API - O arquivo
.gitignoreestá configurado para impedir que dados sensíveis sejam commitados - Use variáveis de ambiente para toda configuração sensível
Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
- Documentação da API do Strava
- Especificação do Model Context Protocol (MCP)
- Contribuidores e mantenedores