[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)

# Strava API and MCP server: Let your AI agent tidy your Strava account.

> Strava has an official API and, since 1 June 2026, an official MCP connector (checked 27 Oct 2026). The MCP is read-only, works with Claude only and needs a paid Strava subscription, with no separate fee. Cotlet runs 11 Strava tools hosted, 5 of them writes, over MCP for agents and REST for scripts.

Read your Strava activities, gear and club records through MCP or REST. Connect an AI agent or create a private activity reporting workflow with HTTP requests.

[MCP setup](https://cotlet.dev/integrations/strava-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/strava-api-mcp-server.md#rest-api)

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

## What can you automate in Strava?

- Fix gear on many activities
- Read the weekly club leaderboard
- Check shoe and bike mileage
- Reply to comments
- Log a missed workout
- Request your full data export

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

- The API also needs a subscription for new developers, serves 1 athlete by default and 10 after a self-upgrade, and allows 200 requests per 15 minutes and 2,000 a day by default.
- Strava's API Policy bans using its data in any AI application, except through Strava's own MCP, and bans operating other MCP servers on top of the API.
- Strava has no bulk edit for gear or activity type, and the club leaderboard keeps no history beyond last week.

| What you need | Official MCP | Strava API | Cotlet |
|---|---|---|---|
| Read activities, gear and clubs | Yes, with a subscription | Yes, with a subscription | Yes |
| Edit gear, title or privacy | No, read-only | Yes, one call each | Yes, one activity at a time |
| Read a club leaderboard | Club data, no tool list | Club endpoints deprecated | Yes |
| Post a comment | No | Not in the reference | Yes, after your OK |
| Use it from ChatGPT, Cursor or n8n | Claude only for now | Bans AI use of the data | Any MCP client or REST |
| Allowed by Strava's terms | Yes, official | Yes, but not for AI | No, automated access |

Checked 27 Oct 2026. Sources: [Strava Press: Strava Launches MCP Connector (1 June 2026)](https://press.strava.com/articles/strava-launches-mcp-connector), [Strava Help: What Is the Strava MCP Connector?](https://support.strava.com/en-us/articles/15401531-strava-mcp-connector), [Strava Community Hub: An Update To Our Developer Program](https://communityhub.strava.com/insider-journal-9/an-update-to-our-developer-program-13428), [Strava API Policy (effective 1 June 2026)](https://www.strava.com/legal/api_policy), [Strava Help: Bulk editing activities](https://support.strava.com/en-us/articles/15401855-bulk-editing-or-editing-multiple-activities)

## How does Cotlet connect to Strava?

1. **Sign in to Strava.** 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 Strava password, and no comment or new activity goes out until you approve it.

## Connect Strava to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Enable Strava for agents.** Sign up, log in to Strava in its Cloud Browser, then press Enable for agents.
2. **Paste the Cotlet address.** Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
3. **Approve the connection.** Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.

One shared address, `https://cotlet.dev/mcp/v1`, also carries Strava next to your other apps. If you enable Strava after connecting, refresh the connector so the new tools show up.

Claude:

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

Claude Code:
claude mcp add --transport http cotlet-strava \
  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-strava": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-strava]
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: strava_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: strava_write
```

## How to use the Strava REST API

### Create your Cotlet API key

Create a Cotlet API key with access to Strava and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

Sign in to Strava in its Cotlet Cloud Browser and enable the app for agents. Use your own Strava account; private activities remain account data to handle in your chosen private destination.

### Make your first Strava API request

REST:

```
curl https://cotlet.dev/api/v1/strava/activities \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read activities and continue the list

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "strava",
  "tool": "list_activities",
  "result": {
    "activities": [
      {
        "activity_id": "14820593112",
        "title": "Morning run",
        "sport": "Run",
        "date": "2026-10-26",
        "distance_km": 10.4,
        "moving_time": "52:10",
        "gear": "Pegasus 41",
        "visibility": "followers",
        "kudos": 12,
        "comments": 3
      }
    ],
    "next_cursor": null
  }
}
```

Read `result.activities` and pass the returned `next_cursor` unchanged as `cursor` until it is empty. Preserve sport, date and missing-gear filters; no page-size input is exposed.

Your own activity list includes Only You activities. Keep those records in a private destination and compare gear, visibility and engagement counts as well as IDs.

`distance_km` uses kilometers; `moving_time` is formatted time rather than numeric minutes. These activity reads do not return GPS, power or other streams.

### Strava workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read activities and activity details into a private gear and activity report, retaining visibility settings. |
| Make | HTTP > Make a request | Read gear records into a shoe and bike distance review without updating equipment. |
| Python or Node.js | REST API | Read clubs and their leaderboards into a dated club-distance digest for your chosen destination. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Strava; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/strava-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## Strava API endpoints and MCP tools

### Activities

Reads come from your My Activities list. Streams, GPS tracks and power data are not returned. Strava has no bulk edit, so a change to many activities is one call each.

- **List activities** (`list_activities`, read): List your activities from the My Activities page, newest first.
- **Get an activity** (`get_activity`, read): Read one of your activities with its description, gear and privacy settings.
- **Update an activity** (`update_activity`, write): Change an activity's title, description, gear or sport.
- **Set who can see an activity** (`set_activity_visibility`, write, asks first): Set an activity to Everyone, Followers or Only You.
- **Log a manual activity** (`create_manual_activity`, write, asks first): Add a manual entry for a workout you did not record.

### Comments

Replies are posted under your name and no tool deletes them.

- **List comments on an activity** (`list_activity_comments`, read): List the comments on one of your activities, oldest first.
- **Comment on an activity** (`comment_on_activity`, write, asks first): Post a comment on one of your activities.

### Gear and clubs

Gear mileage is what Strava counts from assigned activities. A club leaderboard covers this week and last week only.

- **List gear** (`list_gear`, read): List your bikes and shoes with the distance Strava counts on each.
- **List your clubs** (`list_clubs`, read): List the clubs you belong to, with your role in each.
- **Get a club leaderboard** (`get_club_leaderboard`, read): Read a club's weekly leaderboard for this week or last week.

### Your data

Asks Strava for the account archive and cannot open the email it sends.

- **Request your account export** (`request_account_export`, write): Ask Strava to email you a download of your whole account.

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

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

- **What we store.** Your logged-in Strava profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 11 Strava tools. Never the cookie.
- **What the session sees.** Your activities, including Only You ones, gear, clubs and comments.
- **What no tool touches.** Subscription, payments, password, privacy zones, deleting.
- **If Strava asks to verify.** A code or CAPTCHA is for you. You type it in, we never do.
- **How to cut access.** Disable for agents, reset the browser, or log out sessions in Strava.

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.

## Is it against Strava's terms? Account safety

> Automated access to or collection of data from the Services, by any means, including data mining, robots, screen scraping, scripts, or similar data-gathering tools or software such as browser extensions and crawlers, is prohibited. This prohibition applies regardless of whether you are logged into a Strava account at the time of such automated access or collection.
>
> [Strava Terms of Service (2026), section 19, checked 27 Oct 2026](https://www.strava.com/legal/terms)

Strava says it acts on violations with "a warning, a temporary account suspension, and for more serious offenses, a permanent suspension", and you can appeal. Strava also names scraping as a problem that "degraded platform performance for everyone". Cotlet works through the Strava web app for one account, and Strava can still read that as automation. We found no public case of a Strava account closed for it (checked 27 Oct 2026). Do not connect an account you cannot afford to lose.

What we do to keep it low-key:

- Your own Strava account, logged in by you
- One Cloud Browser with its own IP and cookies
- Comments, visibility changes and new activities wait for your OK
- No tool deletes an activity, a comment or the account
- Reads are paged, so no scan of other athletes

> Edit many activities over days, not in one burst, and keep your agent to your own account and clubs.

## What happens when Strava changes?

- **12 h** between tests of the Strava reads
- **24 h** between tests of writes that others would see
- **$0** for a call to a Strava tool paused for repair

Strava is also reworking its API through June 2027 (developer program post, 1 Jun 2026). When it moves a button or renames a field, the fix happens on our side and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Finds the activity.** list_activities with your filter, gear still empty.
2. **Reads before it writes.** Comments are read first so nothing is answered twice.
3. **Waits for your OK.** A comment or new activity shows in your console first.
4. **Reports the result.** Activity link, what changed, what was skipped.

| Action | Undo |
|---|---|
| Change gear, title or description | Call update_activity with the old value |
| Set visibility | Set it back; segment achievements lost on the way to Followers or Only You stay lost |
| Log a manual activity | Delete it by hand; the website cannot edit its distance or time |
| Post a comment | Delete it by hand in Strava |
| Request an export | Nothing to undo, only the email goes to you |

3 of 11 tools ask first: comment_on_activity, create_manual_activity and set_activity_visibility, the ones others can see. A gear or title fix is undone in one call, and an export request reaches only you, so they run at once. Switch the wait off per tool for a scheduled run.

> Strava applies a bulk privacy change to all past activities at once and cannot reverse it. Cotlet changes one activity per call.

MCP call:

```
{
  "name": "update_activity",
  "arguments": {
    "activity_id": "14812207745",
    "gear_id": "g8812034"
  }
}
```

REST:

```
curl -X PATCH https://cotlet.dev/api/v1/strava/activities/14812207745 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"gear_id":"g8812034"}'
```

Tool output:

```
{
  "activity_id": "14812207745",
  "title": "Hill repeats",
  "gear": "Pegasus 41",
  "sport": "Run",
  "saved": true
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/strava`, with the same key and price. A gear ID that is not in your profile fails, and a failed call costs nothing. The tools table lists the REST path of each tool.

## How much does the Strava MCP server cost?

**About $16 a month** for an athlete who fixes gear weekly and answers comments daily, 2,700 credits. Your Strava account is billed by Strava as before.

| Job | Calls | Credits |
|---|---|---|
| Fix gear on 6 activities, weekly | 8 × 4 | 320 |
| Club leaderboard, weekly | 2 × 4 | 80 |
| Shoe and bike mileage, weekly | 1 × 4 | 40 |
| Comment replies on 3 activities, daily | 6 × 12 | 720 |
| Log a missed workout | 1 × 4 | 40 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 2,700 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Strava features that are subscriber-only stay subscriber-only

The month is our example: 12 activities a month, a club leaderboard each week. For comparison, Strava's own MCP adds no fee but needs a paid Strava subscription, and so does its API. Dollars at the $29 pack rate.

## Strava MCP server on GitHub, Zapier or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [Strava MCP connector](https://support.strava.com/en-us/articles/15401531-strava-mcp-connector) | Official, remote, OAuth. Activity history, fitness trends, gear, clubs. Included in a Strava subscription. | Read-only, Claude only for now, personal use of your own data, no published tool list or limits. |
| [r-huijts/strava-mcp](https://github.com/r-huijts/strava-mcp) and similar | Community MCP servers on the Strava API, 502 stars for the largest, last push 13 Jun 2026. | You register an API app and host it. The API Policy bans operating MCP servers on the API and AI use of the data. |
| [Zapier](https://zapier.com/apps/strava/integrations) and [n8n](https://n8n.io/integrations/strava/) | Zapier has a Create Activity action. n8n has a Strava node with activities, comments and update. | Both use the API, so the subscription, tiers and limits apply. No comment posting or leaderboard. |
| Bulk-edit browser extensions | Change gear or privacy across the activities you filter, in Chrome. | You run them by hand. They automate the web app too, so Strava's terms apply. |

If you only want to read and analyze your training in Claude, use Strava's own MCP: it is official and costs nothing beyond your subscription. Cotlet fits when you need an agent that writes, runs from another client or a script, or reads a club leaderboard, and you accept the terms risk above.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the Strava tools.

## Strava API and MCP: questions

### Can I use the Strava API 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 alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Create a free account at https://cotlet.dev, open Strava under Integrations in the console and log in to Strava in its Cloud Browser. The trial starts with your first app, no card asked.

### Does the official Strava MCP do these jobs?

Mostly not. Strava's MCP connector, launched on 1 June 2026, is read-only, works with Claude only for now and needs a paid Strava subscription; a trial does not count. It cannot edit or upload activities. Strava publishes no list of its tools or its request limits, only that a limit per minute and per day exists (Strava Help, checked 27 Oct 2026).

### Is automating the Strava website allowed?

No. Strava's Terms of Service prohibit automated access to the Services by robots, screen scraping and scripts, "regardless of whether you are logged into a Strava account". Strava may warn, suspend or ban an account for a violation. We found no public case of an account banned for this (checked 27 Oct 2026). Read the Terms before you connect an account you cannot lose.

### Do I need a Strava subscription for Cotlet?

No. Cotlet works in your own Strava account on its web app and does not use the Strava API or the MCP, so the subscription the API now asks of developers does not apply. Features Strava keeps for subscribers stay for subscribers.

### Why not use the Strava API with my own agent?

Since 1 June 2026 the API needs a Strava subscription for developers, serves 1 athlete by default and 10 after a self-upgrade, and its policy bans using the data in any AI application and operating an MCP server on it. Strava's own MCP is the only sanctioned way to give an agent your data (Strava API Policy sections 3.5, 5.3 and 5.16, checked 27 Oct 2026).

### Can the agent see my private activities?

Yes. The session is yours, so list_activities returns activities set to Only You, and the agent can change who sees an activity. Changing visibility asks for your OK by default.

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

Only the door is different. Both expose the same 11 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with Strava?

No. Cotlet is independent and not affiliated with Strava, Inc.

---

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.
