Polar MCP
Polar MCP
Этот репозиторий реализует границы, описанные в ADR 0001: переиспользуемое ядро Polar на Python с тонкими адаптерами только для чтения для локального MCP и Claude Agent SDK.
Реализация намеренно ориентирована в первую очередь на v4. Она предоставляет:
автоматическое обновление токенов AccessLink v4;
изолированные клиенты v4 и дополнительный v3;
ограниченные диапазоны дат с исключающим концом и автоматическую разбивку запросов v4 на части;
нормализованные ответные конверты с указанием источника API и единиц измерения;
рекурсивное редактирование учётных данных, идентификаторов пользователя/устройства и точного местоположения;
ограниченные вложенные временные ряды и результаты верхнего уровня;
встроенный TTL-кэш в памяти, который никогда не сохраняет данные о здоровье;
инструменты MCP и Agent SDK, которые могут только читать очищенные данные;
отдельный CLI для аутентификации с локальным файлом токенов, доступным только владельцу.
Установка
Требуется Python 3.11 или новее.
python -m venv .venv
source .venv/bin/activate
pip install -e '.[mcp]'Зарегистрируйте приложение в Polar AccessLink, затем задайте серверные учётные данные. Не помещайте эти значения в файл конфигурации MCP, который может прочитать модель.
export POLAR_CLIENT_ID='...'
export POLAR_CLIENT_SECRET='...'Сгенерируйте URL авторизации с параметром state, который ваш обратный вызов проверяет:
polar-auth authorization-url \
--redirect-uri 'http://127.0.0.1:8787/callback' \
--state "$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"После одобрения доступа обменяйте полученный код. Если опустить --code, он будет прочитан без вывода на экран и без попадания в историю оболочки.
polar-auth exchange --redirect-uri 'http://127.0.0.1:8787/callback'
polar-auth statusТокены по умолчанию хранятся в каталоге конфигурации платформы и отклоняются, если файл доступен для чтения кому-либо, кроме владельца. Переопределите расположение с помощью POLAR_TOKEN_FILE.
Related MCP server: garmin-mcp
Запуск локального MCP
polar-mcpСервер использует stdio; он не открывает сетевой прослушиватель. Он предоставляет только:
polar_get_activitypolar_get_sleeppolar_get_recoverypolar_get_training_sessionspolar_get_heart_rate
Все значения end_date являются исключающими. Схемы инструментов намеренно не содержат флагов необработанных данных или местоположения. Код вне агента может использовать PolarService.query с явным DisclosureGrant, но грант требует отдельного задокументированного подтверждения пользователя, а ответы остаются ограниченными по размеру.
Тестирование
В тестах используется только стандартный библиотечный тестовый раннер и имитируемые HTTP-транспорты:
PYTHONPATH=src python -m unittest discover -s tests -vНи один тест не требует учётных данных Polar и не отправляет данные о здоровье по сети.
Текущий статус валидации
Этот код реализует долговечную архитектуру, но не претендует на доказательство концепции на реальном устройстве, необходимое для принятия ADR 0001. ADR остаётся в статусе Proposed до завершения задокументированных проверок на реальном Polar Pacer.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read wearables and lab health data — sleep, activity, workouts, timeseries, lab tests and orders.
Multi-tenant hosted MCP server for Oura Ring — 21 read-only tools, OAuth per user.
MCP server for Withings health data — sleep, activity, heart, and body metrics.
Remote MCP server for training, nutrition, wellness, and performance data with OAuth 2.0.
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.256-
- 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-

Aidlab MCPofficial
AlicenseNot gradedqualityBmaintenanceConnects Aidlab wellness data to AI tools through MCP, providing read-only access to daily summaries, steps, heart rate, HRV, sleep, activities, and profile with OAuth authentication.MIT- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to query sleep, heart rate, and step data from Xiaomi Health for the logged-in user and authorized relatives.GPL 3.0