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: health-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 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