[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# TrainingPeaks MCP server: Let your AI agent plan your TrainingPeaks week.

> TrainingPeaks has no official MCP server. Its Partner API goes to approved commercial partners, and its request page says no new partners are accepted for now (checked 6 Nov 2026). Cotlet runs 14 TrainingPeaks tools hosted, over MCP for agents and REST for scripts, with no TrainingPeaks API key.

Your agent reads your TrainingPeaks calendar, plans workouts and checks fitness, fatigue and form. Coaches can also apply a Training Plan to a group. It runs in the ChatGPT and Claude apps, with no API key and no server to host.

- Free 7-day trial, no card
- Unofficial, not affiliated with TrainingPeaks
- Page: https://cotlet.dev/integrations/trainingpeaks-api-mcp-server

## What can your AI agent do in TrainingPeaks?

- Plan next week's workouts
- Report training load and form
- Spot athletes who missed their plan
- Schedule workouts from your library
- Apply a Training Plan to a group
- Log daily metrics

## Does TrainingPeaks have an MCP server or an API?

- The Partner API is OAuth over HTTPS and covers workouts, metrics, events and coach rosters. Its endpoint list has no Workout Library, no fitness and form chart and no apply-plan call.
- TrainingPeaks says access "is not available for personal use". Webhooks are in early access for partners.
- Zapier and n8n list no TrainingPeaks app (404 on both, 6 Nov 2026).

| What you need | Partner API | Cotlet |
|---|---|---|
| Open to one athlete or coach | Approved partners only | Yes, sign in once |
| Read planned and completed workouts | For partners | Yes |
| Add or move a planned workout | For partners | Yes, after your OK |
| Log metrics | For partners | Yes, after your OK |
| Fitness, fatigue and form | No endpoint | Yes |
| Copy from the Workout Library | No endpoint | Yes, after your OK |
| Apply a Training Plan | No endpoint | Yes, after your OK |

Checked 6 Nov 2026. Sources: [TrainingPeaks: An Update on TrainingPeaks Partner API](https://www.trainingpeaks.com/blog/an-update-on-trainingpeaks-partner-api/), [TrainingPeaks: Request API Access](https://api.trainingpeaks.com/request-access), [Partners API wiki: endpoints](https://github.com/TrainingPeaks/PartnersAPI/wiki/API-Endpoints), [Partners API wiki: FAQ](https://github.com/TrainingPeaks/PartnersAPI/wiki/Frequently-Asked-Questions)

## How does Cotlet connect to TrainingPeaks?

1. **Sign in to TrainingPeaks.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your TrainingPeaks password, and workouts, plans and comments wait for your OK before an athlete sees them.

## How to connect TrainingPeaks to your AI agent

Three steps. The same address works in Claude, ChatGPT, editors, n8n, Make and Zapier.

1. **Enable TrainingPeaks.** Sign up, log in to TrainingPeaks in its Cloud Browser and turn it on for agents.
2. **Add the Cotlet address.** Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
3. **Sign in or use a key.** Chat apps sign you in to Cotlet; editors and scripts take an API key from the console.

One address covers TrainingPeaks and every other app you enable. Turned TrainingPeaks on after connecting? Refresh the connector so the tools show up.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: trainingpeaks_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: trainingpeaks_write
```

## All 14 TrainingPeaks MCP tools

### Calendar and workouts

Without athlete_id a tool works on your own calendar. A skipped workout has no completed values, and compliance is the colour TrainingPeaks shows.

- **List calendar workouts** (`list_calendar_workouts`, read): Planned and completed workouts between two dates, with compliance.
- **Get workout** (`get_workout`, read): One workout with its description, planned and completed values and comments.
- **List events and goals** (`list_events`, read): Upcoming events and goals with their date and priority.
- **Add planned workout** (`add_workout`, write, asks first): Plan a workout on a calendar day.
- **Move workout** (`move_workout`, write, asks first): Move a workout to another calendar day.
- **Comment on workout** (`comment_on_workout`, write, asks first): Add a comment to a workout.

### Workout Library and Training Plans

The library copy stays in place when you schedule from it. Training Plans are for coach accounts.

- **List Workout Library** (`list_workout_library`, read): Your Workout Library folders and the workouts in them.
- **Add workout from library** (`add_workout_from_library`, write, asks first): Put a Workout Library workout on a calendar day.
- **List Training Plans** (`list_training_plans`, read): Your Training Plans with their length. Coach accounts only.
- **Apply Training Plan** (`apply_training_plan`, write, asks first): Apply a Training Plan to athletes from a start date or an end date.

### Athletes

Coach accounts only. An athlete account has no Athlete Library and gets a permission error.

- **List athletes** (`list_athletes`, read): Athletes in your Athlete Library, with their groups. Coach accounts only.

### Metrics and fitness

Fitness numbers follow the CTL and ATL start values set on the Dashboard chart, so they can differ from the Home view.

- **List metrics** (`list_metrics`, read): Metrics logged on the calendar between two dates, newest first.
- **Log metric** (`add_metric`, write, asks first): Record a metric on a calendar day.
- **Get fitness, fatigue and form** (`get_fitness_chart`, read): CTL, ATL and TSB per day from the Performance Management Chart.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/trainingpeaks-api-mcp-server#tools

## Who can see my TrainingPeaks session, and how do I revoke it?

- **What we store.** Your logged-in TrainingPeaks profile, AES-256-GCM, in Finland. Not your password.
- **What your agent gets.** The 14 TrainingPeaks tools, never the login or a cookie.
- **What the session sees.** Your calendar and metrics, and on a coach account your athletes, groups and Training Plans.
- **What no tool touches.** Your subscription, billing, password and account deletion.
- **If TrainingPeaks logs you out.** Your agent gets a link to sign in again. We never do it for you.
- **How to cut access.** Disable for agents, reset the browser or delete the key. The next call stops.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## What happens when TrainingPeaks changes?

- **12 h** between tests of the TrainingPeaks tools
- **$0** for a call to a tool paused for a fix

TrainingPeaks has belonged to Garmin since 22 Jul 2026 and for now runs as its own unit. When it moves a button or renames a field, the fix happens on our side. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Reads the calendar.** The days and athletes you named.
2. **Drafts the change.** A workout, a move, a comment or a plan.
3. **Waits for your OK.** It shows up in your Cotlet console first.
4. **Reports back.** Workout ID, date and status.

| Action | What happens |
|---|---|
| Add planned workout | Appears on the calendar like one added with the plus icon |
| Add workout from library | Copied to the day; the library keeps its own copy |
| Move workout | Moves to the new day with its planned and completed values |
| Comment on workout | Athlete and coach both read it; this tool cannot edit it later |
| Log metric | One value for a metric type on the day |
| Apply Training Plan | The plan's workouts land on each chosen athlete's calendar |

6 of 14 tools ask first: every write, because on an athlete's calendar the athlete sees the result. Reads never ask. Switch the wait off per tool for a scheduled run.

> Comments cannot be edited by the tool, so read a comment before you approve it.

MCP call:

```
{
  "name": "add_workout",
  "arguments": {
    "date": "2026-11-11",
    "title": "Threshold intervals",
    "sport": "Bike",
    "description": "Warm up, then intervals at threshold.",
    "planned_duration_minutes": 75,
    "planned_tss": 85
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/trainingpeaks/workouts \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-11-11","title":"Threshold intervals","sport":"Bike","description":"Warm up, then intervals at threshold.","planned_duration_minutes":75,"planned_tss":85}'
```

Tool output:

```
{
  "workout_id": "wk_88131",
  "date": "2026-11-11",
  "title": "Threshold intervals",
  "sport": "Bike",
  "planned": {
    "duration_minutes": 75,
    "tss": 85
  },
  "status": "planned"
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/trainingpeaks`, with the same key and price. A call TrainingPeaks refuses fails and costs nothing. The tools table lists the REST path of each tool.

## How much does the TrainingPeaks MCP server cost?

**About $25 a month** for a coach with 15 athletes, 4,370 credits. TrainingPeaks bills your plan as before.

| Job | Calls | Credits |
|---|---|---|
| Review last week and comment on key sessions, weekly | 24 × 4 | 960 |
| Add next week's library workouts, weekly | 31 × 4 | 1,240 |
| Training load report, weekly | 16 × 4 | 640 |
| Apply the next block to a group, monthly | 3 × 1 | 30 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 4,370 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Works in your own account, whatever plan it is on

The month is our example. TrainingPeaks's own Coach Edition pricing guide models a coach with 15 athletes ([guide](https://www.trainingpeaks.com/blog/trainingpeaks-coach-edition-pricing/), 6 Nov 2026); no average roster is published. TrainingPeaks charges $21.99 a month for Coach Edition with up to 4 Basic athletes and $54.99 above that ([pricing](https://www.trainingpeaks.com/pricing/for-coaches/), 6 Nov 2026). Dollars at the $29 pack rate.

## TrainingPeaks MCP server on GitHub or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [JamsusMaximus/trainingpeaks-mcp](https://github.com/JamsusMaximus/trainingpeaks-mcp) | Python MCP server with 84 tools, MIT, 195 stars. | Runs on your computer over stdio, for Claude Desktop and Claude Code. Last commit 2 Aug 2026. |
| [AndreCNF/trainingpeaks_mcp_modal](https://github.com/AndreCNF/trainingpeaks_mcp_modal) | Wraps that server on Modal over HTTP for Claude.ai. | You deploy and run it yourself. 0 stars, last commit 29 May 2026. |
| [athletedata.health](https://www.athletedata.health/guides/connect-trainingpeaks-to-claude) | Hosted MCP for Claude, ChatGPT and Cursor, with many fitness sources. | Its guide says the standard TrainingPeaks connection is read only. |
| [TrainingDojo](https://trainingdojo.app/mcp) | Hosted MCP that builds and publishes workouts and plans to TrainingPeaks. | Needs a TrainingDojo account; full MCP access is on Pro, $15 a month. |

Pick a GitHub server if you are happy to run it on your own computer. Pick Cotlet if your agent should work from the ChatGPT or Claude apps, on a schedule, without a server of your own.

## Who runs Cotlet

Cotlet is run by Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273), working since 2019. The founders are Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the TrainingPeaks tools go to contact@cotlet.dev.

## TrainingPeaks MCP: questions

### How do I connect TrainingPeaks to ChatGPT or Claude?

Sign up at cotlet.dev, log in to TrainingPeaks once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your TrainingPeaks account through Cotlet, in their phone apps too.

### What can ChatGPT do in TrainingPeaks?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in TrainingPeaks: plan next week's workouts; weekly training load report; check which athletes missed their plan. You ask in plain words, and anything that reaches other people waits for your OK first.

### Can I use TrainingPeaks without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the way in for AI agents; you do not need one to use REST.

### How do I get access?

Sign up free at https://cotlet.dev, open TrainingPeaks under Integrations in the console and log in to TrainingPeaks in its Cloud Browser. Your free trial starts with your first app, no card needed.

### Does TrainingPeaks have an official MCP server or API?

No official MCP server (checked 6 Nov 2026). The Partner API goes to approved commercial partners, and its request page says no new partners are accepted for now.

### Does it work with a Basic athlete account?

You can sign in with any account. TrainingPeaks says Calendar Export is for Premium athletes, and its help center says a Basic account saves only 5 workouts in the Workout Library, so library jobs fit Premium and coach accounts better.

### Do I need a coach account?

Not for your own calendar. Listing athletes and Training Plans, and applying a plan, need a coach account.

### Does TrainingPeaks have webhooks?

Only in early access for Partner API partners (Partners API wiki, 6 Nov 2026). To react to a missed workout, run your agent on a schedule and read the calendar.

### Is the MCP server different from the REST API?

Only the way in. Both have the same 14 tools, inputs and answers, one API key and one price. Agents use MCP; scripts, cron jobs and HTTP steps use REST.

### Is Cotlet affiliated with TrainingPeaks?

No. Cotlet is independent and not affiliated with TrainingPeaks or Garmin, which has owned TrainingPeaks since 22 Jul 2026.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
