Polar MCP
Polar MCP
Este repositorio implementa los límites definidos en ADR 0001: un núcleo Polar de Python reutilizable, con adaptadores finos de solo lectura para MCP local y el Claude Agent SDK.
La implementación es deliberadamente v4-first. Proporciona:
actualización automática de tokens AccessLink v4;
clientes v4 aislados y v3 complementarios;
rangos de fechas acotados con extremo exclusivo y fragmentación automática de solicitudes v4;
envoltorios de respuesta normalizados con procedencia de API y unidades;
redacción recursiva de credenciales, identificadores de usuario/dispositivo y ubicación precisa;
series temporales anidadas acotadas y resultados de nivel superior;
una caché TTL en memoria que nunca persiste datos de salud;
herramientas MCP y del Agent SDK que solo pueden leer datos saneados;
una CLI de autenticación separada con un archivo de token local de solo propietario.
Instalación
Se requiere Python 3.11 o posterior.
python -m venv .venv
source .venv/bin/activate
pip install -e '.[mcp]'Registra una aplicación en Polar AccessLink y luego establece las credenciales del lado del servidor. No pongas estos valores en un archivo de configuración de MCP que un modelo pueda leer.
export POLAR_CLIENT_ID='...'
export POLAR_CLIENT_SECRET='...'Genera una URL de autorización con un valor de estado que tu callback verifique:
polar-auth authorization-url \
--redirect-uri 'http://127.0.0.1:8787/callback' \
--state "$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"Después de aprobar el acceso, intercambia el código devuelto. Al omitir --code, se lee sin mostrarlo en pantalla ni colocarlo en el historial del shell.
polar-auth exchange --redirect-uri 'http://127.0.0.1:8787/callback'
polar-auth statusLos tokens se guardan por defecto en el directorio de configuración de la plataforma y se rechazan si su archivo es legible por cualquier persona excepto su propietario. Anula la ubicación con POLAR_TOKEN_FILE.
Related MCP server: health-mcp
Ejecutar MCP local
polar-mcpEl servidor usa stdio; no abre un listener de red. Expone únicamente:
polar_get_activitypolar_get_sleeppolar_get_recoverypolar_get_training_sessionspolar_get_heart_rate
Todos los valores de end_date son exclusivos. Los esquemas de las herramientas no incluyen deliberadamente indicadores de datos brutos ni de ubicación. El código fuera de un agente puede usar PolarService.query con una DisclosureGrant explícita, pero la concesión requiere una confirmación del usuario registrada por separado y las respuestas permanecen acotadas en tamaño.
Pruebas
Las pruebas usan únicamente el ejecutor de pruebas de la biblioteca estándar y transportes HTTP simulados:
PYTHONPATH=src python -m unittest discover -s tests -vNinguna prueba requiere credenciales de Polar ni envía datos de salud por la red.
Estado de validación actual
Este código implementa la arquitectura duradera, pero no afirma la prueba de concepto con dispositivo real necesaria para aceptar el ADR 0001. El ADR permanece en Proposed hasta que se completen las comprobaciones documentadas en vivo con Polar Pacer.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceAn MCP server for the Polar AccessLink API. Connect your Polar fitness data to Claude AI - access workouts, sleep analysis, recovery metrics, heart rate data, and more.253
- AlicenseNot gradedqualityCmaintenanceExposes personal Garmin wellness data through MCP tools for accessing summary, sleep, HRV, heart rate, stress, body battery, and historical data.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Garmin Connect that enables users to access and manage their personal health and fitness data, including daily summaries, heart rate, sleep, HRV, stress, body composition, activities, and training readiness, with secure per-user authentication.Apache 2.0
- FlicenseAqualityCmaintenanceProvides read-only access to your Garmin Connect health data, including sleep, HRV, body battery, stress, training readiness, and activities, through an MCP server.14
Related MCP Connectors
MCP server for Withings health data — sleep, activity, heart, and body metrics.
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SuperShinyEyes/polar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server