Strava MCP Server

Um servidor que se conecta à API do Strava, permitindo que modelos de linguagem acessem dados e funcionalidades do Strava.

Documentação

Servidor MCP do Strava

Fale com seus dados do Strava usando IA.

Conecte o Claude à sua conta do Strava e faça perguntas em linguagem natural: "Quantos quilômetros corri este mês?", "Analise meu último pedal" ou "Mostre-me meus segmentos mais rápidos."

MseeP.ai Security Assessment Badge

Strava Server MCP server

O Que Você Pode Fazer Com Isso?

Depois de conectar, basta conversar com o Claude como se estivesse falando com um amigo que tem acesso a todos os seus dados do Strava:

🏃 Acompanhe Seu Progresso

"Quantos quilômetros corri este mês?"

"Compare minhas estatísticas de corrida de janeiro a dezembro"

"Qual foi meu pedal mais longo de todos?"

📊 Analise Seus Treinos

"Detalhe meu último treino de ciclismo - mostre potência, frequência cardíaca e cadência"

"Como ficaram minhas zonas de frequência cardíaca durante a corrida de ontem?"

"Qual foi meu ritmo médio em cada volta do meu treino intervalado?"

🗺️ Explore Rotas e Segmentos

"Quais são os segmentos de ciclismo mais populares perto do Central Park?"

"Mostre meus segmentos favoritos"

"Exporte minha rota de domingo de manhã como arquivo GPX"

🏆 Obtenha Insights de Treinamento

"Analise minha carga de treino desta semana"

"Como está meu condicionamento atual comparado ao mês passado?"

"Me dê um resumo do meu desempenho no ciclismo este ano"


Início Rápido (3 Passos)

Passo 1: Adicionar ao Claude Desktop

Abra o arquivo de configuração do Claude Desktop:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Adicione isto ao arquivo:

{
  "mcpServers": {
    "strava": {
      "command": "npx",
      "args": ["-y", "@r-huijts/strava-mcp-server"]
    }
  }
}

Passo 1 (alternativa): Adicionar ao Claude Code

Você pode adicionar este servidor MCP ao Claude Code com o seguinte comando:

claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server

Você pode confirmar a instalação bem-sucedida da seguinte forma:

% claude mcp list
Checking MCP server health...

strava: npx @r-huijts/strava-mcp-server - ✓ Connected

Passo 2: Reinicie o Claude Desktop

Feche e reabra o Claude Desktop para carregar a nova configuração.

Passo 3: Conecte Sua Conta do Strava

Basta dizer ao Claude:

"Conecte minha conta do Strava"

Uma janela do navegador será aberta. Insira suas credenciais da API do Strava, autorize o aplicativo e pronto!

É isso! Comece a perguntar sobre suas atividades.


Conectando Sua Conta do Strava

Configuração Inicial

Quando você disser "Conecte minha conta do Strava", aqui está o que acontece:

  1. Uma janela do navegador abre mostrando uma página de configuração
  2. Insira suas credenciais da API do Strava (Client ID e Client Secret)
  3. Clique em "Continuar para o Strava" - você será redirecionado para o Strava
  4. Autorize o aplicativo no site do Strava
  5. Veja a mensagem de sucesso - você pode fechar o navegador
  6. Pronto! O Claude confirma que você está conectado

Suas credenciais são salvas localmente em ~/.config/strava-mcp/config.json e persistem entre sessões.

Obtendo Suas Credenciais da API do Strava

Você precisa criar um aplicativo gratuito da API do Strava (configuração única):

  1. Acesse strava.com/settings/api
  2. Clique em "Criar um aplicativo" (ou veja seu aplicativo existente)
  3. Preencha o formulário:
    • Nome do aplicativo: Qualquer coisa que você quiser (ex.: "Meu Assistente Claude")
    • Categoria: Escolha qualquer uma
    • Site: Pode ser qualquer coisa (ex.: http://localhost)
    • Domínio de callback de autorização: Deve ser localhost
  4. Copie seu Client ID e Client Secret

É isso! Você só precisa fazer isso uma vez.

Gerenciando Sua Conexão

  • Verificar status: "Estou conectado ao Strava?"
  • Reconectar: "Conecte minha conta do Strava" (use force: true para reconectar)
  • Desconectar: "Desconecte minha conta do Strava"

Opções de Instalação

Opção A: Apenas Use (Recomendado)

Sem necessidade de instalação! O comando npx no Início Rápido baixa e executa automaticamente a versão mais recente.

Opção B: Instalar Globalmente

Se você preferir instalar uma vez:

npm install -g @r-huijts/strava-mcp-server

Depois atualize sua configuração do Claude para usar:

{
  "mcpServers": {
    "strava": {
      "command": "strava-mcp-server"
    }
  }
}

Nota: Mesmo que o nome do pacote seja @r-huijts/strava-mcp-server, o nome do executável permanece strava-mcp-server para compatibilidade retroativa.

Opção C: Compilar a partir do Código-Fonte

Para desenvolvedores que desejam modificar o código:

git clone https://github.com/r-huijts/strava-mcp.git
cd strava-mcp
npm install
npm run build

Depois aponte o Claude para sua compilação local:

{
  "mcpServers": {
    "strava": {
      "command": "node",
      "args": ["/path/to/strava-mcp/dist/server.js"]
    }
  }
}

Exemplos de Conversas

Check-in Matinal

Você: O que fiz de exercício esta semana?

Claude: Olhando suas atividades do Strava esta semana, você completou:

  • Segunda-feira: corrida de 5,2 km (28:15)
  • Quarta-feira: pedal de 45 km (1:32:00)
  • Sábado: corrida de 10 km (52:30)

Total: 60,2 km em 3 atividades. Consistência excelente!

Análise de Treino

Você: Analise meu último treino de ciclismo em detalhes

Claude: Aqui está um detalhamento do seu pedal "Volta da Tarde" de ontem:

Visão Geral

  • Distância: 42,3 km
  • Tempo: 1:28:45
  • Velocidade média: 28,6 km/h

Análise de Potência

  • Potência média: 185W
  • Potência normalizada: 198W
  • Potência máxima: 520W

Frequência Cardíaca

  • Média: 142 bpm
  • Máxima: 175 bpm
  • Tempo na Zona 4+: 23 minutos

Sua relação potência/frequência cardíaca sugere boa eficiência aeróbica...

Encontrando Novas Rotas

Você: Encontre subidas desafiadoras de ciclismo perto de Boulder, Colorado

Claude: Aqui estão segmentos de subida populares perto de Boulder:

  1. Flagstaff Road - 5,2 km, 6,8% de inclinação média
  2. Sunshine Canyon - 3,8 km, 7,2% de inclinação média
  3. Left Hand Canyon - 8,1 km, 4,5% de inclinação média

Quer que eu favorite algum desses para você encontrá-los facilmente depois?


Ferramentas Disponíveis

Conta e Perfil

O que você pode perguntarO que faz
"Conecte minha conta do Strava"Vincula seu Strava ao Claude
"Verifique minha conexão com o Strava"Mostra o status da conexão
"Desconecte minha conta do Strava"Desvincula o Strava e limpa os tokens armazenados
"Obtenha meu perfil do Strava"Mostra as informações do seu perfil
"Quais tênis eu tenho?"Lista seus tênis e distância de uso
"Quais são minhas zonas de treino?"Mostra zonas de FC e potência

Atividades

O que você pode perguntarO que faz
"Mostre minhas atividades recentes"Lista seus treinos mais recentes
"Obtenha todas as minhas corridas de janeiro"Busca atividades com filtros
"Analise a atividade 12345"Informações detalhadas sobre uma atividade
"Mostre as voltas da minha última corrida"Detalhamento volta a volta
"Obtenha dados de frequência cardíaca do meu pedal"Dados de treino em série temporal (formato compacto otimizado)
"Mostre fotos da minha trilha"Fotos da atividade

Estatísticas e Progresso

O que você pode perguntarO que faz
"Quais são minhas estatísticas de corrida?"Totais do ano e de todos os tempos
"Quantos quilômetros pedalei este ano?"Totais de atividades por tipo
"Qual foi meu pedal mais longo?"Recordes pessoais

Segmentos

O que você pode perguntarO que faz
"Mostre meus segmentos favoritos"Seus segmentos preferidos
"Encontre segmentos perto de [local]"Descubra segmentos populares
"Obtenha detalhes do segmento 12345"Informações do segmento e ranking
"Favorite este segmento"Salvar nos favoritos
"Mostre meus esforços em [segmento]"Suas tentativas em um segmento

Rotas

O que você pode perguntarO que faz
"Liste minhas rotas salvas"Suas rotas criadas
"Obtenha detalhes da minha [nome da rota]"Informações da rota
"Exporte [rota] como GPX"Baixar para dispositivos GPS
"Exporte [rota] como TCX"Baixar para dispositivos GPS

Clubes

O que você pode perguntarO que faz
"Em quais clubes estou?"Lista seus clubes do Strava

Treinos

O que você pode perguntarO que faz
"Transforme este treino em um arquivo Zwift"Formata um plano de treino em um arquivo estruturado (atualmente Zwift .zwo)

Servidor

O que você pode perguntarO que faz
"Qual versão é o servidor do Strava?"Mostra a versão do servidor MCP e metadados

Solução de Problemas

"Conecte minha conta do Strava" não abre o navegador

  • Certifique-se de que o Claude Desktop está executando o servidor MCP (verifique erros no Claude)
  • Tente reiniciar o Claude Desktop
  • Verifique se a porta 8111 não está bloqueada por um firewall

"Falha na autenticação" ou "Token inválido"

  • Seu token pode ter expirado - diga "Conecte minha conta do Strava" para reconectar
  • Certifique-se de que seu aplicativo da API do Strava ainda está ativo em strava.com/settings/api

Erro de "Credenciais ausentes"

  • Você precisa concluir o fluxo OAuth - diga "Conecte minha conta do Strava"
  • Se estiver usando variáveis de ambiente, certifique-se de que todas as 4 estão definidas (veja a seção Desenvolvedores)

O Claude não vê as ferramentas do Strava

  • Certifique-se de que seu claude_desktop_config.json é JSON válido (sem vírgulas finais!)
  • Reinicie o Claude Desktop após fazer alterações na configuração
  • Verifique o console do desenvolvedor do Claude para mensagens de erro

JSONRPC.ProtocolTransportError após mudança de nome do pacote

Se você está recebendo um erro JSONRPC após atualizar para @r-huijts/strava-mcp-server:

  1. Limpe o cache do npx: Execute rm -rf ~/.npm/_npx no terminal
  2. Verifique a configuração usando @r-huijts/strava-mcp-server (não o antigo strava-mcp-server)
  3. Reinicie o Claude Desktop completamente (saia e reabra)
  4. Teste manualmente: Execute npx -y @r-huijts/strava-mcp-server - você deve ver "Iniciando o servidor MCP do Strava v1.2.1..."

Para Desenvolvedores

Clique para expandir detalhes técnicos

Variáveis de Ambiente

Em vez de usar a autenticação baseada em navegador, você pode definir variáveis de ambiente:

VariávelDescrição
STRAVA_CLIENT_IDSeu Client ID do aplicativo Strava
STRAVA_CLIENT_SECRETSeu Client Secret do aplicativo Strava
STRAVA_ACCESS_TOKENToken de acesso OAuth
STRAVA_REFRESH_TOKENToken de atualização OAuth
ROUTE_EXPORT_PATHDiretório para exportações GPX/TCX

Atualização de Token

O servidor atualiza automaticamente tokens expirados. Novos tokens são salvos tanto em process.env quanto em ~/.config/strava-mcp/config.json.

Prioridade de Configuração

  1. Variáveis de ambiente (maior prioridade)
  2. ~/.config/strava-mcp/config.json
  3. Arquivo local .env

Compilação e Testes

npm install
npm run build
npm test

Otimização de Streams de Atividades

A ferramenta get-activity-streams usa um formato compacto por padrão, reduzindo o tamanho do payload em ~70-80% enquanto preserva todos os dados:

  • Formato compacto (padrão): Arrays brutos com metadados, ~70-80% menores, ideal para processamento por LLM
  • Formato detalhado: Objetos legíveis com valores formatados (compatível com versões anteriores)
  • Divisão inteligente: Atividades grandes são automaticamente divididas em blocos de ~50KB
  • Redução de amostragem opcional: Pode reduzir conjuntos de dados muito grandes preservando características principais

O formato compacto inclui metadados abrangentes (unidades, descrições, estatísticas) para que LLMs possam entender os dados numéricos brutos.

Referência da API

O servidor implementa o Protocolo de Contexto de Modelo (MCP) e expõe 25 ferramentas para a API v3 do Strava. Veja o código-fonte em src/tools/ para detalhes de implementação.

Contribuindo

Contribuições são bem-vindas! Envie um Pull Request.


Licença

Licença MIT - veja o arquivo LICENSE para detalhes.


Perguntas? Abra uma issue no GitHub.