# Cycling FTP Calculator MCP for AI Agents MCP

> The Cycling FTP Calculator MCP helps you turn raw cycling data into quantified performance metrics. Use it to determine your Functional Threshold Power (FTP) from either a standard 20-minute test or an advanced ramp test, and then calculate the Intensity Factor (IF) and Training Stress Score (TSS) for any training ride.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** cycling, ftp, training, watts, performance

## Description

This MCP gives cyclists a way to move past simple averages. Instead of guessing your fitness level based on mileage alone, you quantify it using standardized tests. You input data from various efforts—like a sustained 20-minute maximum effort or an intense ramp test—and the tool estimates your Functional Threshold Power (FTP). This core number then allows you to accurately grade any subsequent ride. When you run `calculate_session_stress`, for instance, it takes your established FTP and the normalized power from that session to generate key metrics like Intensity Factor (IF) and Training Stress Score (TSS). These numbers don't just look good; they tell coaches exactly how hard you pushed and what kind of load your body handled. By connecting this MCP through Vinkius, your AI client can act as a real-time performance analyzer, turning complex power meter data into simple, actionable training insights.

## Tools

### calculate_ftp_20min
Estimates your Functional Threshold Power (FTP) using data from a standard 20-minute power test.

### calculate_ftp_ramp
Calculates your FTP after running a continuous ramp test to exhaustion.

### calculate_session_stress
Determines the Intensity Factor (IF) and Training Stress Score (TSS) for any recorded cycling session data.

## Prompt Examples

**Prompt:** 
```
I finished a 20-minute test with an average power of 300W and I weigh 75kg. What is my FTP and what are my power zones?
```

**Response:** 
```
Based on your data, your estimated Functional Threshold Power (FTP) is **285 Watts** (or 285 W/kg). 

Here's how that translates into structured training zones:
*   **Zone 1:** 0–156.75W (Recovery)
*   **Zone 2:** 159.75–213.75W (Endurance)
*   **Zone 3:** 217.5–256.5W (Tempo)
*   **Zone 4:** 261W–299.25W (Threshold)
*   **Zone 5:** 303W–342W (VO2 Max)
```

**Prompt:** 
```
My FTP is 250W. I did a 60-minute ride at 220W normalized power. What was my IF and TSS?
```

**Response:** 
```
For that specific session, your training load came out to:

*   **Intensity Factor (IF):** 0.88
*   **Training Stress Score (TSS):** 88.0

This indicates a moderate-high load for the duration of the ride, perfect for building aerobic endurance.
```

**Prompt:** 
```
Calculate my FTP from a ramp test where I reached exhaustion at 280W, weighing 70kg.
```

**Response:** 
```
Your estimated Functional Threshold Power (FTP) is **280 Watts** (4.0 W/kg). 

You can now use this benchmark to define your power zones:
*   Zone 1: 0–154W
*   Zone 7: Above 420W
```

## Capabilities

### Determine FTP from 20-Minute Efforts
Calculates an estimated Functional Threshold Power (FTP) using data recorded during a specific 20-minute maximal effort.

### Calculate FTP from Ramp Tests
Estimates your Functional Threshold Power (FTP) based on the unique power curve data generated by a ramp test.

### Grade Training Load and Stress
Generates both the Intensity Factor (IF) and the Training Stress Score (TSS) for any given cycling session using your established FTP and measured normalized power.

## Use Cases

### Establishing a Baseline Fitness Level
A cyclist just started tracking their power data and needs to know where they stand. They run `calculate_ftp_20min` using their latest test data, immediately getting an estimated FTP and corresponding power zones to structure the next month's training plan.

### Evaluating a Race Day Performance
After finishing a long race, the cyclist inputs the normalized power curve. They run `calculate_session_stress` to see the resulting TSS and IF score, allowing them to compare it objectively against their planned training load.

### Optimizing Training Intensity
A coach wants to know if a client's recent interval training was hard enough. They use `calculate_session_stress` with the session data, verifying that the resulting IF score meets the required intensity target.

### Adapting Training After Injury
A cyclist returns to riding after a break and wants an accurate current fitness marker. They use `calculate_ftp_ramp` on their most recent effort to establish a new, precise FTP benchmark for safe progression.

## Benefits

- Get precise power zones. Instead of guessing, the tool calculates your specific training zones using data from `calculate_ftp_20min`, ensuring every pedal stroke targets the right effort level.
- Grade any ride's difficulty instantly. Use `calculate_session_stress` to generate TSS and IF for a session, giving you an objective measure of how hard that day was, regardless of distance or perceived effort.
- Compare test results accurately. If your training changes, use either `calculate_ftp_20min` or `calculate_ftp_ramp` to get a consistent FTP number against which all future efforts can be measured.
- Move beyond simple wattage averages. The MCP provides metrics like IF that tell the story of power application relative to effort, giving deeper insight than basic average speed.
- Improve training specificity. By accurately determining your true FTP, you tailor subsequent workouts so they maximize gains without risking overtraining.

## How It Works

The bottom line is, this MCP takes complex cycling metrics and converts them into standardized numbers that tell coaches exactly how hard you trained and what your current fitness ceiling is.

1. Start by providing the MCP with raw data from a structured effort, such as an average power output and duration for a 20-minute test, or the full curve of a ramp test.
2. The tool processes this input using established physiological cycling formulas to calculate your core metrics like FTP. This sets your baseline performance number.
3. Next, you feed it data from any other ride—the normalized power and duration—and it spits out quantifiable training load scores (IF and TSS) that grade the session's difficulty.

## Frequently Asked Questions

**How do I accurately calculate my FTP using the Cycling FTP Calculator MCP?**
You can use two methods: run `calculate_ftp_20min` if you completed a standard 20-minute maximal effort, or use `calculate_ftp_ramp` if you ran an advanced ramp test. The resulting number is your key fitness metric for planning future rides.

**What does TSS stand for and how does the Cycling FTP Calculator MCP help me understand my training load?**
TSS stands for Training Stress Score. When you use `calculate_session_stress`, it converts your ride's data into a single, standardized number that grades the total effort and fatigue of the day.

**Is this MCP better than using basic online calculators for my cycling fitness?**
Yes. This MCP is superior because it uses specific physiological formulas tied to your actual power data (normalized power). It provides a far more accurate and actionable estimate of your true FTP.

**I just finished a race, how do I use the Cycling FTP Calculator MCP results?**
You run `calculate_session_stress` on the ride data. The resulting IF score tells you if the intensity was appropriate for your goals, helping you determine if that race day pushed you to your maximum capacity.

**Does this tool work with my power meter data?**
Yes. You simply input the raw metrics—normalized power, duration, and weight—from your compatible cycling power meter into the MCP tools like `calculate_session_stress`.