Polar MCP Server
Servidor MCP para a API Polar AccessLink exportar dados de relógios Polar.
Documentação
Polar MCP Server
Um servidor MCP (Model Context Protocol) para a API Polar AccessLink. Conecte seus dados de condicionamento físico do Polar ao Claude AI - acesse treinos, análise de sono, métricas de recuperação, dados de frequência cardíaca e muito mais.
Início Rápido (Instância Pública)
Sem necessidade de configuração! Use nossa instância hospedada:
- No Claude: Configurações → Integrações → Adicionar servidor MCP
- Insira a URL:
https://polar-mcp-server.n-neuhaeusel.workers.dev/mcp - O Claude abrirá uma janela de autorização — faça login com sua conta Polar
- Comece a conversar sobre seus dados de condicionamento físico!
Recursos
25 Ferramentas Disponíveis
| Categoria | Ferramentas | Descrição |
|---|---|---|
| Exercícios | get_exercises, get_exercise | Dados de treino com FC, velocidade, zonas |
| Exportação de Exercícios | get_exercise_fit, get_exercise_tcx, get_exercise_gpx | Exportar nos formatos FIT, TCX, GPX |
| Sono | get_sleep, get_sleep_range | Estágios do sono, pontuação, duração |
| Recuperação | get_nightly_recharge, get_nightly_recharge_range | Carga ANS, VFC, frequência respiratória |
| Atividade | get_daily_activity, get_daily_activity_range, get_activity_samples, get_activity_samples_range | Passos, calorias, zonas de atividade |
| Frequência Cardíaca | get_continuous_heart_rate, get_continuous_heart_rate_range | Monitoramento de FC 24/7 |
| Carga de Treino | get_cardio_load, get_cardio_load_range, get_cardio_load_history | TRIMP, carga aguda/crônica |
| SleepWise | get_sleepwise_alertness, get_sleepwise_circadian_bedtime | Previsões de alerta, horário ideal de dormir |
| Biossensoriamento | get_body_temperature, get_skin_temperature, get_spo2 | Dados de temperatura, SpO2 |
| Usuário | get_user_info, get_physical_info | Perfil, VO2max, FC de repouso |
Dispositivos Suportados
- Polar Pacer / Pacer Pro
- Polar Vantage V2 / V3
- Polar Vantage M / M2
- Polar Grit X / Grit X Pro / Grit X2 Pro
- Polar Ignite / Ignite 2 / Ignite 3
- Polar Unite
- E mais...
Exemplos de Comandos
Depois de conectado, pergunte ao Claude:
- "Mostre-me meus treinos da semana passada"
- "Como foi meu sono ontem à noite? Compare com minha média semanal"
- "Analise minhas tendências de variabilidade da frequência cardíaca"
- "Qual é meu status atual de carga de treino?"
- "A que horas devo dormir hoje para uma recuperação ideal?"
- "Exporte minha última corrida como arquivo GPX"
- "Quantos passos dei este mês?"
Auto-hospedagem
Quer executar sua própria instância? Duas opções de implantação disponíveis:
Opção 1: Cloudflare Workers (Recomendado)
Pré-requisitos
- Conta Cloudflare
- Credenciais da API Polar AccessLink
Configuração
# Clone and install
git clone https://github.com/NelsonNew/polar-mcp-server.git
cd polar-mcp-server
npm install
# Create KV namespace
npx wrangler kv namespace create OAUTH_KV
# Copy the ID to wrangler.toml
# Set secrets
npx wrangler secret put POLAR_CLIENT_ID
npx wrangler secret put POLAR_CLIENT_SECRET
# Deploy
npm run deploy
Após a implantação, adicione a URL de callback ao seu aplicativo Polar:
https://YOUR-WORKER.workers.dev/callback
Opção 2: Local (Claude Desktop)
# Clone and build
git clone https://github.com/NelsonNew/polar-mcp-server.git
cd polar-mcp-server
npm install && npm run build
# Get access token
export POLAR_CLIENT_ID="your_client_id"
export POLAR_CLIENT_SECRET="your_client_secret"
npm run auth
Adicione à configuração do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"polar": {
"command": "node",
"args": ["/path/to/polar-mcp-server/dist/index.js"],
"env": {
"POLAR_ACCESS_TOKEN": "your_access_token"
}
}
}
}
Referência da API
Todas as ferramentas usam a Polar AccessLink API v3.
| Ferramenta | Endpoint | Descrição |
|---|---|---|
get_user_info | /users/{id} | Perfil do usuário |
get_physical_info | /users/physical-information | VO2max, FC máxima, FC de repouso |
get_exercises | /exercises | Últimos 30 dias de treinos |
get_exercise | /exercises/{id} | Detalhes de um único treino |
get_exercise_fit/tcx/gpx | /exercises/{id}/fit|tcx|gpx | Formatos de exportação |
get_sleep | /users/sleep | Dados de sono |
get_nightly_recharge | /users/nightly-recharge | Métricas de recuperação |
get_daily_activity | /users/activities | Atividade diária |
get_continuous_heart_rate | /users/continuous-heart-rate | FC 24/7 |
get_cardio_load | /users/cardio-load | Carga de treino |
get_sleepwise_alertness | /users/sleepwise/alertness | Previsões de alerta |
get_body_temperature | /users/biosensing/bodytemperature | Temperatura corporal |
get_spo2 | /users/biosensing/spo2 | Oxigênio no sangue |
Solução de Problemas
| Erro | Solução |
|---|---|
| "Polar API error (403)" | Reautorize ou verifique se a sincronização de dados está completa |
| "Polar API error (404)" | Endpoint não disponível para seu dispositivo/assinatura |
| Sem dados de exercício | Sincronize seu dispositivo Polar com o aplicativo Polar Flow primeiro |
Privacidade
- Suas credenciais Polar nunca são armazenadas
- Os tokens OAuth são gerenciados com segurança pelo provedor OAuth do Cloudflare Workers
- Cada usuário recebe sua própria sessão MCP isolada
- Nenhum dado de condicionamento físico é registrado ou armazenado em nossos servidores
Contribuição
Contribuições são bem-vindas! Abra uma issue ou PR.
Licença
MIT