Privacy-first unofficial Polar AccessLink v4 MCP server for AI health, sleep and training agents.
Connect Runs on your machine
claude mcp add polarmcp -e POLAR_CLIENT_ID=<POLAR_CLIENT_ID> -e POLAR_CLIENT_SECRET=<POLAR_CLIENT_SECRET> -e POLAR_REDIRECT_URI=<POLAR_REDIRECT_URI> -e POLAR_TOKEN_PATH=<POLAR_TOKEN_PATH> -e POLAR_PRIVACY_MODE=<POLAR_PRIVACY_MODE> -e POLAR_CACHE=<POLAR_CACHE> -e POLAR_CACHE_PATH=<POLAR_CACHE_PATH> -e POLAR_NO_CACHE=<POLAR_NO_CACHE> -- npx -y [email protected]
{
"mcpServers": {
"polarmcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POLAR_CLIENT_ID": "<POLAR_CLIENT_ID>",
"POLAR_CLIENT_SECRET": "<POLAR_CLIENT_SECRET>",
"POLAR_REDIRECT_URI": "<POLAR_REDIRECT_URI>",
"POLAR_TOKEN_PATH": "<POLAR_TOKEN_PATH>",
"POLAR_PRIVACY_MODE": "<POLAR_PRIVACY_MODE>",
"POLAR_CACHE": "<POLAR_CACHE>",
"POLAR_CACHE_PATH": "<POLAR_CACHE_PATH>",
"POLAR_NO_CACHE": "<POLAR_NO_CACHE>"
}
}
}
}
{
"mcpServers": {
"polarmcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POLAR_CLIENT_ID": "<POLAR_CLIENT_ID>",
"POLAR_CLIENT_SECRET": "<POLAR_CLIENT_SECRET>",
"POLAR_REDIRECT_URI": "<POLAR_REDIRECT_URI>",
"POLAR_TOKEN_PATH": "<POLAR_TOKEN_PATH>",
"POLAR_PRIVACY_MODE": "<POLAR_PRIVACY_MODE>",
"POLAR_CACHE": "<POLAR_CACHE>",
"POLAR_CACHE_PATH": "<POLAR_CACHE_PATH>",
"POLAR_NO_CACHE": "<POLAR_NO_CACHE>"
}
}
}
}
{
"servers": {
"polarmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POLAR_CLIENT_ID": "<POLAR_CLIENT_ID>",
"POLAR_CLIENT_SECRET": "<POLAR_CLIENT_SECRET>",
"POLAR_REDIRECT_URI": "<POLAR_REDIRECT_URI>",
"POLAR_TOKEN_PATH": "<POLAR_TOKEN_PATH>",
"POLAR_PRIVACY_MODE": "<POLAR_PRIVACY_MODE>",
"POLAR_CACHE": "<POLAR_CACHE>",
"POLAR_CACHE_PATH": "<POLAR_CACHE_PATH>",
"POLAR_NO_CACHE": "<POLAR_NO_CACHE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
POLAR_CLIENT_IDOptional | Polar OAuth client ID. Optional when configured with polar-mcp-server setup. |
POLAR_CLIENT_SECRETOptional, secret | Polar OAuth client secret. Prefer polar-mcp-server setup so this secret is stored in ~/.polar-mcp/config.json instead of MCP client config. |
POLAR_REDIRECT_URIOptional | Redirect URI configured in the Polar AccessLink admin. Optional when configured with polar-mcp-server setup. |
POLAR_TOKEN_PATHOptional | Optional local path for OAuth tokens. Defaults to ~/.polar-mcp/tokens.json. |
POLAR_PRIVACY_MODEOptional | Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Polar AccessLink payloads for supported endpoints. |
POLAR_CACHEOptional | Optional SQLite cache toggle. Set to true or sqlite to enable. |
POLAR_CACHE_PATHOptional | Optional local SQLite cache path. Defaults to ~/.polar-mcp/cache.sqlite. |
POLAR_NO_CACHEOptional | Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 13 Jul 2026 |
| Last updated | 13 Jul 2026 |
| Registry name | io.github.davidmosiah/polarmcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
