Polar MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Polar MCPshow last night's sleep summary and today's recovery status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Polar MCP
This repository implements the boundaries in ADR 0001: a reusable Python Polar core, with thin read-only adapters for local MCP and the Claude Agent SDK.
The implementation is intentionally v4-first. It provides:
automatic AccessLink v4 token refresh;
isolated v4 and complementary v3 clients;
bounded, exclusive-end date ranges and automatic v4 request chunking;
normalized response envelopes with API provenance and units;
recursive credential, user/device identifier, and precise-location redaction;
bounded nested time series and top-level results;
an in-memory TTL cache that never persists health data;
MCP and Agent SDK tools that can only read sanitized data;
a separate authentication CLI with an owner-only local token file.
Install
Python 3.11 or later is required.
python -m venv .venv
source .venv/bin/activate
pip install -e '.[mcp]'Register an application in Polar AccessLink, then set server-side credentials. Do not put these values in an MCP configuration file that a model can read.
export POLAR_CLIENT_ID='...'
export POLAR_CLIENT_SECRET='...'Generate an authorization URL with a state value that your callback verifies:
polar-auth authorization-url \
--redirect-uri 'http://127.0.0.1:8787/callback' \
--state "$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"After approving access, exchange the returned code. Omitting --code reads it without echoing it
or placing it in shell history.
polar-auth exchange --redirect-uri 'http://127.0.0.1:8787/callback'
polar-auth statusTokens default to the platform configuration directory and are rejected if their file is readable
by anyone except its owner. Override the location with POLAR_TOKEN_FILE.
Related MCP server: garmin-mcp
Run local MCP
polar-mcpThe server uses stdio; it does not open a network listener. It exposes only:
polar_get_activitypolar_get_sleeppolar_get_recoverypolar_get_training_sessionspolar_get_heart_rate
All end_date values are exclusive. The tool schemas deliberately have no raw-data or location
flags. Code outside an agent may use PolarService.query with an explicit DisclosureGrant, but
the grant requires a separately recorded user confirmation and responses remain size-bounded.
Test
The tests use only the standard-library test runner and mocked HTTP transports:
PYTHONPATH=src python -m unittest discover -s tests -vNo test requires Polar credentials or sends health data over the network.
Current validation status
This code implements the durable architecture, but it does not claim the real-device proof of
concept required to accept ADR 0001. The ADR remains Proposed until the documented live Polar
Pacer checks are completed.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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 Connectors
Collect Apple Health data from your wearables through the Context app and query it via MCP
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.
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.255-
- 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-
- AlicenseNot gradedqualityBmaintenanceExposes Garmin Connect data through MCP, enabling retrieval of activities, health metrics, training status, and workouts, with OAuth authentication and confirmed write operations.MIT

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