Strava MCP

Integre seus dados de atividade do Strava com modelos de IA usando um banco de dados SQLite local.

Documentação

Criar Strava MCP

Ferramenta de configuração automatizada para integrar dados do Strava com o Claude Desktop via Model Context Protocol (MCP).

Início Rápido

O equivalente em Python de npx é pipx. Instale e execute:

# Install pipx if you don't have it
pip install pipx

# Run the setup tool (installs temporarily and executes)
pipx run create-strava-mcp

Ou instale globalmente:

# Install globally
pipx install create-strava-mcp

# Run anytime
create-strava-mcp

Ou use pip + python -m:

# Install and run directly
pip install create-strava-mcp
python -m create-strava-mcp

O Que Esta Ferramenta Faz

  1. Baixa o Strava MCP: Clona o repositório Python para sua máquina local
  2. Configura o Ambiente Python: Cria um ambiente virtual e instala as dependências
  3. Orienta a Configuração da API do Strava: Acompanha você na criação de um aplicativo da API do Strava
  4. Gerencia a Autenticação: Controla o fluxo OAuth para obter seus tokens
  5. Sincronização de Dados: Baixa seus dados iniciais de atividades do Strava para um banco de dados SQLite local
  6. Integração com Claude: Atualiza automaticamente o arquivo de configuração do Claude Desktop
  7. Reinicialização Opcional: Pode reiniciar o Claude Desktop para ativar o MCP imediatamente
  8. Pronto para Usar: Após a configuração, o Claude terá acesso aos seus dados do Strava

Configuração do Aplicativo da API do Strava

A Abordagem "Um Aplicativo para Todos"

Você precisa criar UM aplicativo da API do Strava pelo qual todos os usuários se autenticarão:

  1. Registre Seu Aplicativo (você faz isso uma vez):

    • Acesse Configurações da API do Strava
    • Clique em "Criar Aplicativo"
    • Preencha os detalhes:
      • Nome do Aplicativo: "Strava MCP" (ou o nome de sua preferência)
      • Categoria: Escolha a categoria apropriada
      • Site: http://localhost
      • Domínio de Callback de Autorização: localhost
    • Clique em "Criar"
  2. Compartilhe as Credenciais do Seu Aplicativo:

    • Você receberá um Client ID e um Client Secret
    • Os usuários usarão seu Client ID e seu Client Secret
    • Cada usuário recebe seu próprio Access Token e Refresh Token pessoais
  3. Fluxo de Autenticação do Usuário:

    • Os usuários executam a ferramenta de configuração com as credenciais do seu aplicativo
    • Eles se autenticam por meio do seu aplicativo do Strava
    • Eles recebem seus próprios tokens pessoais
    • Os dados deles permanecem privados para cada um

Detalhes do Fluxo de Autenticação

Your Strava App (Client ID + Secret)
         ↓
User runs setup tool → Browser opens → User logs into Strava
         ↓
User authorizes YOUR app → Gets personal tokens → Stored locally
         ↓
MCP uses user's personal tokens → Accesses only their data

Instalação Manual

Se você preferir a configuração manual:

# Clone your Strava MCP repository
git clone https://github.com/your-username/strava-mcp.git
cd strava-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set up environment
cp .env.example .env
# Edit .env with your Strava app credentials

# Run authentication and initial sync
python strava-sync.py

# Add to Claude config manually (see Configuration section)

Configuração

A ferramenta atualiza automaticamente o arquivo de configuração do Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json

Exemplo de configuração:

{
  "mcpServers": {
    "strava-mcp": {
      "command": "python",
      "args": ["/path/to/strava-mcp/strava-mcp.py"],
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret", 
        "STRAVA_REFRESH_TOKEN": "users_personal_refresh_token",
        "STRAVA_DB_PATH": "/path/to/strava_data.db"
      }
    }
  }
}

Para Desenvolvedores: Publicando Sua Ferramenta de Configuração

1. Estrutura do Pacote

create-strava-mcp/
├── setup_strava_mcp.py    # Main setup script
├── pyproject.toml         # Modern Python packaging
├── setup.py              # Alternative setup file
├── README.md             # This file
└── requirements.txt      # Dependencies (none for setup tool)

2. Atualizar Configuração

Em setup_strava_mcp.py, atualize:

# Replace with your actual Strava MCP repository
repo_url = "https://github.com/your-username/strava-mcp.git"

3. Publicar no PyPI

# Build the package
python -m pip install build
python -m build

# Upload to PyPI
python -m pip install twine
python -m twine upload dist/*

4. Testar a Instalação

# Test with pipx
pipx run create-strava-mcp

# Or test with pip
pip install create-strava-mcp
create-strava-mcp

Uso Após a Configuração

Após a configuração, você pode fazer perguntas ao Claude sobre seus dados do Strava:

  • "Mostre minhas atividades de corrida recentes"
  • "Qual é meu ritmo médio neste mês?"
  • "Compare meu desempenho com o ano passado"
  • "Gere um resumo de treinamento"
  • "Qual bicicleta usei mais este ano?"

Comandos de Manutenção

# Update your Strava data
cd /path/to/strava-mcp
source venv/bin/activate  # On Windows: venv\Scripts\activate
python strava-sync.py

# Check MCP status
# (View Claude Desktop logs)

Solução de Problemas

Problemas de Configuração

  1. Python não encontrado: Instale Python 3.8+ em python.org
  2. Git não encontrado: Instale Git em git-scm.com
  3. Erros de permissão: Execute com as permissões apropriadas ou escolha um diretório de instalação diferente
  4. Problemas com ambiente virtual: Certifique-se de ter o módulo venv: python -m pip install virtualenv

Problemas com a API do Strava

  1. Credenciais inválidas: Verifique novamente seu Client ID e Client Secret do Strava
  2. Falha na autorização: Certifique-se de que seu aplicativo do Strava tenha o domínio de callback correto (localhost)
  3. Token expirado: O MCP renova tokens automaticamente, mas você pode executar manualmente strava-sync.py novamente
  4. Limite de requisições: O Strava tem limites de API; aguarde alguns minutos se atingir o limite

Problemas de Integração com Claude

  1. MCP não aparecendo: Reinicie o Claude Desktop completamente
  2. Erros de conexão: Verifique se os caminhos de arquivo na configuração estão corretos
  3. Python não encontrado: Certifique-se de que o caminho do Python na configuração do Claude aponte para seu ambiente virtual
  4. Dados não carregando: Execute python strava-sync.py no diretório do MCP

Segurança dos Tokens

  • Credenciais do Seu Aplicativo: Mantenha Client ID e Client Secret seguros, mas eles podem ser compartilhados com usuários
  • Tokens do Usuário: O Access Token e o Refresh Token de cada usuário são pessoais e devem permanecer privados
  • Armazenamento Local: Todos os tokens são armazenados localmente na máquina do usuário, nunca enviados a você

Desinstalação

Para remover o Strava MCP:

  1. Exclua o diretório de instalação (mostrado durante a configuração)
  2. Remova a entrada "strava-mcp" do arquivo de configuração do Claude Desktop
  3. Reinicie o Claude Desktop

Alternativa ao pipx

Se os usuários não quiserem instalar o pipx, eles também podem usar:

# Direct pip install and run
pip install create-strava-mcp
python -c "import setup_strava_mcp; setup_strava_mcp.main()"

# Or install and use entry point
pip install create-strava-mcp
create-strava-mcp

Suporte

Se você encontrar problemas:

  1. Verifique a seção de solução de problemas acima
  2. Verifique os logs do Claude Desktop para erros do MCP
  3. Execute python strava-sync.py novamente para atualizar os dados
  4. Crie uma issue no repositório do GitHub

Contribuindo

Contribuições são bem-vindas! Consulte o repositório principal para obter as diretrizes.

Licença

Licença MIT - consulte o arquivo LICENSE para obter detalhes.