# Polar Alternative MCP

> Polar Alternative connects your Polar AccessLink account directly to your AI agent. Pull training logs, daily activity summaries, and detailed biometrics like sleep metrics, ECG results, and SpO2 readings using natural language prompts. Get raw data in FIT, TCX, or GPX formats for any analysis.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** fitness-tracking, wearables, biometrics, training-data, polar-flow

## Description

Polar Alternative hooks your Polar AccessLink account right up to your AI agent. You don't gotta manually export files from the app anymore; you just talk to it, and it pulls all that raw fitness data for you.

### Daily Activity & Training Logs

You need a rundown of what happened yesterday? Use `get_activity_by_date` to pull a summary of every metric recorded on one specific day. To see your overall activity totals, check out the list provided by `list_activities`. If you want a preview of raw numbers for review, run `list_activity_samples`. For deep dives into past workouts, `list_exercises` pulls up a roster of all training sessions logged in the last thirty days. You can then use `get_exercise` to grab detailed information on any specific session's routes or heart rate zones.

### Sleep and Recovery Status

Figure out how recovered you are after a night's rest, and we got tools for that. Run `list_nightly_recharge` to check your recent recovery scores and Nightly Recharge status. To gauge your overall sleep quality and duration, use `list_sleep` for specific dates. You can also track when you were most alert during the night with `get_sleepwise_alertness`, or calculate your estimated optimal bedtime based on your circadian rhythm data using `get_sleepwise_circadian_bedtime`. 

### Core Biometrics and Health Metrics

You want specific health numbers? You can check for a continuous stream of heart rate samples over time with `get_continuous_heart_rate`, or calculate the overall training strain and recovery level using `get_cardio_load`. For basic physical stats, `get_physical_info` retrieves your static measurements like weight and maximum heart rate. Advanced readings include fetching the results of a wrist-based ECG test taken during sleep or activity via `get_biosensing_ecg`, and getting the latest body temperature data with `get_biosensing_body_temperature`. You can also pull the percentage of oxygen saturation (SpO2) recorded by your device using `get_biosensing_spo2`.

### Exporting Raw Data Files

Don't want to stay locked into Polar’s ecosystem? When you get detailed exercise data, you can download it in industry-standard file formats. Use `get_exercise_fit` to pull all metrics for an exercise as a FIT file. For the geographic path of your run or ride, run `get_exercise_gpx`. If you need it in TCX format, call `get_exercise_tcx`. 

### Account and Data Management Utilities

Need to manage the data flow? You can check if any new or available Polar data is waiting for your account by running `get_notifications`. The system lets you see which webhooks are currently active with `get_webhooks`. If you need to set up a new automated data push notification, use `create_webhook`; conversely, you can delete one using `delete_webhook`, or toggle an existing webhook on with `activate_webhook` and off with `delete_webhook`. For account control, you can register a user after authorization via `register_user`, or completely remove a user's access permissions by running `delete_user`. Finally, basic identifying details about the linked account are available through `get_user`.

## Tools

### activate_webhook
Turns on a webhook that was previously deactivated.

### create_webhook
Sets up a new data push notification (webhook).

### delete_user
Removes a user's account and revokes their access permissions.

### delete_webhook
Deletes an existing data push notification (webhook).

### get_activity_by_date
Retrieves a summary of all activity metrics recorded for one specific day.

### get_biosensing_body_temperature
Gets the latest measured body temperature data from your wearable sensor.

### get_biosensing_ecg
Fetches the results of a wrist-based ECG test taken during sleep or activity.

### get_biosensing_skin_temperature
Retrieves measurements of your skin temperature, often used for tracking sleep quality.

### get_biosensing_spo2
Gets the percentage of oxygen saturation (SpO2) recorded by your device.

### get_cardio_load
Calculates and retrieves data on training strain and recovery levels based on heart rate metrics.

### get_continuous_heart_rate
Gathers a stream of continuous heart rate samples over time.

### get_exercise_fit
Downloads all metrics for an exercise in the FIT file format.

### get_exercise_gpx
Downloads the geographical path of an exercise in the GPX format.

### get_exercise_tcx
Downloads all metrics for an exercise in the TCX file format.

### get_exercise
Pulls detailed data for a specific exercise session, including routes and zones.

### get_notifications
Checks if there is any new or available data waiting for any user registered with Polar.

### get_physical_info
Retrieves your basic, static physical metrics like weight and maximum heart rate.

### get_sleepwise_alertness
Gets data detailing when you were most alert during the night.

### get_sleepwise_circadian_bedtime
Calculates and returns your estimated optimal bedtime based on your circadian rhythm data.

### get_user
Retrieves basic, identifying information about the user linked to the account.

### get_webhooks
Shows the current configuration status of all active webhooks for the account.

### list_activities
Lists a summary list of your daily activity totals and metrics.

### list_activity_samples
Provides samples or previews of raw activity data for review.

### list_exercises
Fetches a list of all training sessions recorded within the last 30 days.

### list_nightly_recharge
Lists your Nightly Recharge status and recovery scores for recent nights.

### list_sleep
Retrieves the recorded sleep metrics, including duration and quality, for specific dates.

### register_user
Register a user after authorization

## Prompt Examples

**Prompt:** 
```
List my training sessions from the last 30 days.
```

**Response:** 
```
I've found 12 exercises in the last 30 days. Your most recent was a 'Running' session on Oct 26th with a duration of 45 minutes. Would you like the details for this session?
```

**Prompt:** 
```
Show me my sleep data and nightly recharge status.
```

**Response:** 
```
Your sleep score for last night was 82 (Good). Your Nightly Recharge status is 'Very Restorative' with an ANS charge of +4.2. You seem well-recovered!
```

**Prompt:** 
```
Get my activity summary for 2023-10-25.
```

**Response:** 
```
On Oct 25th, you reached 115% of your activity goal with 12,450 steps and 2,840 calories burned. You had 1 hour and 20 minutes of high-intensity activity.
```

## Capabilities

### Analyze Training Logs
List all exercises from the past 30 days, then fetch deep details on a specific session's heart rate zones or routes.

### Track Daily Activity Summaries
Retrieve step counts and calorie burn totals for any given date using `get_activity_by_date`.

### Review Sleep & Recovery Status
Get Nightly Recharge scores, sleep duration data (`list_sleep`), and alertness period metrics to gauge recovery quality.

### Retrieve Core Biometrics
Access recent physical measurements like weight, height, max heart rate via `get_physical_info`, or check advanced readings like ECG results.

### Export Raw Data Files
Download detailed exercise data into industry-standard formats (FIT, TCX, GPX) for external GIS or analysis tools.

## Use Cases

### Checking Pre-Race Readiness
A coach asks the agent: 'What was my sleep quality last week compared to my training load?' The agent runs `list_sleep` and correlates that output with `get_cardio_load`, giving a clear picture of if recovery is keeping up with training demands.

### Analyzing Sleep Disturbances
An athlete notices strange heart rate dips. They prompt: 'Show me my sleep data for last night, including SpO2.' The agent runs `list_sleep` and `get_biosensing_spo2`, allowing the user to spot potential nighttime issues immediately.

### Comparing Training Efforts
A data nerd wants to compare two running sessions. They ask: 'Give me the route for my October 5th run and the metrics for my last cycle.' The agent uses `get_exercise_gpx` for the first and `get_exercise` for the second, side-by-side.

### Calculating Performance Drift
A coach needs to track if a client's recovery is slowing down. They ask: 'List my Nightly Recharge scores from the last four weeks.' The agent runs `list_nightly_recharge`, showing the trend in recovery status instantly.

## Benefits

- See your full recovery picture instantly. Instead of digging through separate reports, you can query `list_nightly_recharge` and `list_sleep` together to understand if your sleep quality matches your recent training load.
- Download data in any format. Need a specific GIS tool for mapping? Use `get_exercise_gpx`. Want to run it through a custom stats program? Grab the raw metrics using `get_exercise_fit` or `get_exercise_tcx`.
- Analyze deep biometrics on demand. You don't need to wait for weekly reports; you can ask your agent to pull `get_biosensing_ecg` results alongside your heart rate data from `get_continuous_heart_rate` for immediate review.
- Track consistency, not just mileage. Use `list_activities` and compare the step counts across months versus comparing total run distances via `list_exercises`. It gives you a complete picture of daily movement.
- Get physical context fast. The `get_physical_info` tool provides your current weight and max heart rate right away, so you don't have to look up baseline metrics elsewhere.

## How It Works

The bottom line is, you never have to log into Polar and click through pages again; you just ask your AI client for what you need.

1. Subscribe to the Polar Alternative server and provide your Polar Access Token.
2. Your AI client connects this token to the MCP Server's API endpoints.
3. You prompt your agent with a natural language request (e.g., 'What was my sleep score last night?') which triggers the necessary tools.

## Frequently Asked Questions

**How do I check my training sessions using list_exercises?**
The `list_exercises` tool pulls all your recorded workouts from the last 30 days. If you want details on a specific session, use `get_exercise` and provide the required date or ID.

**Can I download my activity data using get_exercise_fit?**
Yes. `get_exercise_fit` downloads your full exercise metrics into the FIT format. You can also use `get_exercise_gpx` for map paths or `get_exercise_tcx` if a specific system requires it.

**What data does list_activities provide?**
`list_activities` gives you high-level summaries of your day's movement, like total steps and calories. For more detail on one specific date, use `get_activity_by_date`.

**How do I check my recovery status with list_nightly_recharge?**
`list_nightly_recharge` lists your Nightly Recharge scores. This shows how well you recovered from the day's strain, which is key for planning your next workout.

**Is get_biosensing_spo2 accurate?**
The `get_biosensing_spo2` tool retrieves the measured SpO2 percentage. It provides a direct reading from your device, which is useful for monitoring oxygen saturation trends.

**How do I make sure my sleep data is up to date when using list_sleep?**
You must first connect your Polar Access Token. The agent uses this token to pull the latest metrics from your account, so ensure your connection is active and authorized before calling list_sleep.

**Does list_exercises cover training data older than 30 days?**
No, list_exercises only retrieves records from the last 30 days. For historical summaries outside that window, check if you can use get_activity_by_date or other date-specific tools.

**What specific data does get_biosensing_body_temperature provide?**
It provides detailed measurements of your core body temperature. This is useful for tracking subtle physiological changes that might not be captured by standard activity logs, helping you monitor recovery or potential illness trends.

**Can I download my training sessions in FIT or GPX format for other apps?**
Yes! You can use `get_exercise_fit`, `get_exercise_tcx`, or `get_exercise_gpx` with a specific Exercise ID to retrieve the raw file data for your training sessions.

**How do I check my recovery and sleep quality from last night?**
Simply ask the agent to run `list_sleep` or `list_nightly_recharge`. It will provide the latest metrics recorded by your Polar device, including sleep scores and recharge levels.

**Can I see my physical metrics like weight and heart rate max?**
Yes, the `get_physical_info` tool retrieves your current physical settings from Polar Flow, including weight, height, and HR max.