Polar MCP
Polar MCP
このリポジトリは、ADR 0001 で定義された境界を実装しています。再利用可能なPython製Polarコアと、ローカル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='...'コールバックが検証するstate値を含む認可URLを生成します:
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 値は排他的です。ツールスキーマには、意図的に生データや位置情報のフラグがありません。エージェント外のコードは、明示的な DisclosureGrant を指定して PolarService.query を使用できますが、このグラントには別途記録されたユーザーの確認が必要であり、レスポンスはサイズ上限付きのままです。
テスト
テストは標準ライブラリのテストランナーとモック化されたHTTPトランスポートのみを使用します:
PYTHONPATH=src python -m unittest discover -s tests -vどのテストもPolarの認証情報を必要とせず、ネットワーク経由でヘルスデータを送信しません。
現在の検証ステータス
このコードは耐久性のあるアーキテクチャを実装していますが、ADR 0001 を受け入れるために必要な実機での概念実証を行ったとは主張していません。文書化された実機でのPolar Pacerチェックが完了するまで、ADR は Proposed のままです。
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