Skip to main content

Stryd MCP | Explore your Stryd data with AI / SI

Get started with Stryd MCP, Chat with your data, Use your favorite AI / SI tool

Connect Stryd to Claude, ChatGPT, Codex, Cursor or any MCP client, then ask about your training in plain language. The agent can view all of your Stryd data, including activity data, training plans, Critical Power, Race Power Calculator, and more.
​

Server URL:

https://mcp.endurance.stryd.com/mcp

Requirement: A Stryd account with an active Stryd Membership. The agent reads only your own data, plus athletes who have shared their profile with you as a coach.

Open beta: Tools, fields and limits may change without notice, and access may be rate-limited, suspended or withdrawn. See the beta terms at the bottom of this article.


Ask about your training in plain language

Your AI / SI agent can view your Stryd data and use it to craft any answer. For example:

  • “How did my interval session go on Tuesday, and did I fade?”

  • “I have a half marathon in six weeks. What power should I target?”

  • “Has my Critical Power moved since I started the current plan?”

  • “Compare last week's long run to the same route in March.”

  • “Which of my shoes has the most miles on it?”

  • “What does my plan have for me this week, and how far through am I?”

Connect your agent

Pick your client. Every route ends the same way: a Stryd sign-in page, then you are connected.

Claude (web & desktop)

  1. Open Settings → Connectors in the Claude app or at claude.ai.

  2. Choose Add custom connector.

  3. Name it Stryd and paste the server URL: https://mcp.endurance.stryd.com/mcp

  4. Click Connect, sign in to Stryd, and approve access.

ChatGPT

  1. Open Settings → Connectors in ChatGPT.

  2. Add a custom connector and paste the server URL: https://mcp.endurance.stryd.com/mcp

  3. Sign in to Stryd when prompted.

Custom connectors need a paid ChatGPT plan.

Claude Code (terminal)

  1. Run this in your terminal:

claude mcp add --transport http stryd https://mcp.endurance.stryd.com/mcp
  1. Start Claude Code, run /mcp, and choose stryd to sign in.

Codex (terminal)

  1. Add the server to ~/.codex/config.toml:

[mcp_servers.stryd] url = "https://mcp.endurance.stryd.com/mcp"
  1. Restart Codex and sign in to Stryd in the browser window it opens.

Cursor (editor)

  1. Add the server to ~/.cursor/mcp.json:

{   "mcpServers": {     "stryd": {       "url": "https://mcp.endurance.stryd.com/mcp"     }   } }
  1. Open Settings → MCP and sign in to Stryd when prompted.

Grok (SpaceXSI)

Grok adds MCP servers from its settings where your plan supports them. If you cannot find the option, paste this prompt into Grok and ask it to walk you through it:

Add this remote MCP server to your tools, then connect to it:    URL        https://mcp.endurance.stryd.com/mcp   Transport  streamable HTTP   Auth       OAuth 2.1 with dynamic client registration  Give me the authorization link so I can sign in to Stryd.

Gemini (CLI)

Gemini does not take custom MCP servers in its chat interface yet. Use the Gemini CLI, which does, and give it the server URL:

https://mcp.endurance.stryd.com/mcp

Any other MCP client

Server URL

Transport

Streamable HTTP

Auth

OAuth 2.1, PKCE, dynamic client registration

Authorization server

Access

Read-only

A client that supports remote MCP servers with OAuth discovers everything else from the server itself.

Or just ask your agent to do it

If your client is not listed, or you would rather not go hunting through settings, paste one of these in and let the agent take it from there.

Ask it how, in your client

I want to connect the Stryd Endurance MCP server to you. It is a remote MCP server at https://mcp.endurance.stryd.com/mcp, using streamable HTTP and OAuth. Tell me step by step how to add it in this client, and exactly what I need to click.

Tell it to connect, then check

Add the Stryd Endurance MCP server (https://mcp.endurance.stryd.com/mcp, streamable HTTP, OAuth) to your tools and connect it. Give me the authorization link so I can sign in to Stryd. Once it is connected, call whoami and tell me which account you found, then show me my last run.

What it can read

Ten kinds of training data. Every field carries its unit and its meaning, so the agent reads watts as watts rather than guessing at a number.

Resource

What it contains

activities

Runs you have recorded, most recent first.

planned_workouts

Sessions on your calendar, both the ones you added and the ones your plan scheduled.

cp_history

How your critical power has been recorded over time.

events

Races on your calendar, with your goal for each.

apparel

Your gear: shoes and the rest, with how far each has run.

devices

The Stryd pods on your account.

profile

Who you are: name, location, and the units and timezone your data is expressed in.

preferences

Your settings: guided training, auto critical power, notifications.

profile_shares

Your coaching relationships, and requests in either direction.

coached_athletes

The athletes you coach, and the ids their data is read with.

Beyond the lists

Tool

What it does

endurance_get_activity_laps

A run summarised rep by rep: duration, distance, pace, average and max power, heart rate, cadence, ground contact and leg spring stiffness, plus what triggered each lap.

endurance_get_activity_streams

Second-by-second data, up to 12 metrics in one call. The whole run is always covered.

endurance_get_plan

Which plan you are on, its goal and dates, which phase today falls in, and how far through it you are.

endurance_predict_race

Predicted finish time and target power for a distance, from your current critical power and form-power regression.


Example: “How did my 400s go on Tuesday?”

The agent finds the session, reads its laps, and answers from the real numbers.

Rep

Time

Pace

Avg power

Max power

Avg HR

Cadence

1

1:18

3:15 /km

341 W

358 W

164 bpm

192 spm

2

1:17

3:13 /km

344 W

361 W

171 bpm

193 spm

3

1:19

3:18 /km

338 W

355 W

174 bpm

191 spm

4

1:21

3:23 /km

329 W

352 W

176 bpm

189 spm

Sample figures. Power held within 15 W across the set while heart rate climbed 12 bpm, which is the shape of a well-paced session rather than a fade.

Getting better answers: laps first, seconds only when you need them

If an answer seems vague, it is usually because the agent reached for the wrong grain of data. Two things worth telling it:

  • For reps and intervals, ask for laps. Comparing two interval sessions is two lap calls. The same comparison from second-by-second data is hundreds of times larger and has to be split up by hand, which is where agents get lost.

  • For shape within a rep, ask for streams. Drift inside a single effort, a surge, or how power decays over a climb needs the raw stream. Narrow it to the part of the run you care about and the resolution returns to one second.


What it cannot do

  • Today it only reads. Every tool is read-only, so the agent cannot upload, edit, delete or change a setting on your account. Writing back to Stryd is coming soon, and it will be something you turn on yourself.

  • It sees only your data. Your own training data, plus athletes who have shared their profile with you as a coach. Nothing else on Stryd is reachable.

  • You can disconnect anytime. Remove the connector in your client and the access it was granted stops working.

  • Your words go to your agent. Stryd records which tools were called and the one-line goal your agent sends, so we can see how the integration is used. Keep sensitive personal details out of your prompts.


Troubleshooting

“Authorization with Stryd failed”

Check the URL you entered is exactly https://mcp.endurance.stryd.com/mcp. Other Stryd hosts will let you sign in and then refuse every request, which surfaces as an authorization error.

The agent says a tool does not exist

Your client is holding an old copy of the tool list. Remove the Stryd connector and add it again, which is the only thing that refreshes it.

You sign in, then every request is refused

The server needs an active Stryd Membership on the account you signed in with. Check you used the same email as your Stryd subscription.

Requests start failing after a burst of activity

You have hit the rate limit. Wait a minute and carry on; a well-behaved agent reads the Retry-After header and backs off on its own.

The agent gives a number without a unit

Ask it to call describe_training_data for that resource. Every field has a declared unit and meaning, and the agent can read them.


Beta terms

These terms supplement the Stryd Terms of Use and apply to your access to and use of the Stryd Endurance MCP server. Where the two conflict, these terms control for your use of the server.

  1. Your access is personal to you. Access is granted to your Stryd account, for your own use, through agents and tools you run yourself. You may not sell, transfer, sublicense, distribute or otherwise share the access your account is granted, or the tokens that carry it. You are responsible for keeping them confidential and for all activity that happens through them.

  2. We set limits, and we may change them. Stryd sets limits on the number, frequency and volume of requests, and may change them at any time. Exceed one and requests may be throttled, delayed, rejected or suspended without notice. Today the limit is 120 requests a minute per account, with short bursts of 40 absorbed; a refusal comes back as HTTP 429 with a Retry-After header, so have your agent wait rather than retry immediately.

  3. It will change while you are using it. This is a beta. Tools, fields, units and behaviour may change or be removed, and the server may be unavailable, interrupted or withdrawn, at any time and without notice. Do not build anything you cannot afford to have break.

  4. Misuse ends access. Breaking these terms may result in your access being limited, suspended or terminated. It is also a breach of the Stryd Terms of Use, and may be enforced in the same way as any other breach of those terms.

Did this answer your question?