Train Ultra

Ask your private Train Ultra endurance coach about your workouts, training plan, goals, race readiness, recovery and nutrition from Claude, ChatGPT, Cursor or any MCP client. For runners, trail runners and ultra athletes. OAuth sign-in, no API key.

Serveur MCP hébergé

npx add-mcp 'https://trainultra.app/mcp'

S’installe dans Claude Code, Codex, Cursor et plus

Documentation

https://trainultra.app/mcp

What this gives you

The MCP server exposes two tools. ask_train_ultra_coach asks your Train Ultra coach a question and returns the same kind of answer you get in the Train Ultra coach chat. It only reads: the coach cannot change anything through it.

ask_train_ultra_coach_to_change asks the coach to make a change, such as moving a workout, setting a goal, or saving something it should remember. Assistants that ask before a tool changes data ask you first.

The tool uses your existing Train Ultra context, including workouts, goals, coach memory, wellness context when connected, and the same safety and confirmation behavior as coach chat.

It does not expose raw Strava, Garmin, COROS, Oura, GPS, stream, billing, or account tools to external clients.

Access

MCP access is available on Trial and Pro accounts, including comped or grandfathered Pro-equivalent accounts. Free accounts can read this guide but cannot connect an assistant or create MCP tokens.

There are two ways in. Assistants such as Claude and ChatGPT connect with a sign-in: you add the server URL, Train Ultra asks you to sign in and confirm, and the connection appears in Settings, Other AI Tools. Developer tools such as Claude Code, Codex, VS Code, and Cursor use a personal token instead.

Connections and tokens are personal. Disconnect or revoke any you no longer use from Settings. Both stop working after 90 days without use. Each use resets the clock.

Connect an assistant with a sign-in

Server URL: https://trainultra.app/mcp

  1. On the web, open Settings, then Other AI Tools. Each assistant has its own card with the steps and a button.
  2. For ChatGPT or Claude, copy the server URL, open the assistant with the button, and add Train Ultra as a connector. No token is needed.
  3. For Cursor or VS Code, select Add to Cursor or Add to VS Code. For Claude Code, copy the command and paste it in your terminal.
  4. The assistant opens Train Ultra. Sign in with your email and code if you are not signed in.
  5. Read which assistant is asking, then select Connect. Select Cancel to stop.
  6. Back in the assistant, confirm it lists the ask_train_ultra_coach and ask_train_ultra_coach_to_change tools.
  7. To disconnect later, open Settings, then Other AI Tools, and select Disconnect next to the assistant.

Create a personal token

Some tools, such as Codex, cannot sign in through a browser. They use a personal token instead.

  1. Open Train Ultra Settings, then Other AI Tools.
  2. On the web, open Advanced: personal tokens for other tools. On iOS and Android, the token list is the screen itself.
  3. Create a token with a name, such as Codex on my laptop.
  4. Copy the token when it appears. Train Ultra only shows it once.
  5. Paste it into the tool as a bearer token, as the examples below show.

Claude.ai / Claude chat

Open Customize > Connectors > Add custom connector, name it Train Ultra, enter the server URL, and complete the sign-in. Claude registers itself with Train Ultra, so leave the client ID and secret fields empty.

Claude Work

Claude Work, Team, and Enterprise deployments use the organization connector flow. An owner adds Train Ultra under Organization settings > Connectors, and each member connects their own Train Ultra account with the same sign-in.

Claude Code

Run this command, then sign in when the browser opens. Settings, Other AI Tools has a Copy command button for it.

claude mcp add --transport http train-ultra https://trainultra.app/mcp

ChatGPT

Create a connector in ChatGPT from Settings > Connectors, enter the server URL, and complete the Train Ultra sign-in. Confirm ChatGPT lists the ask_train_ultra_coach and ask_train_ultra_coach_to_change tools.

Codex

Codex supports Streamable HTTP MCP servers with bearer-token auth. Store your Train Ultra token in an environment variable so it does not land in source control.

export TRAIN_ULTRA_MCP_TOKEN=tu_mcp_your_token_here
[mcp_servers.train_ultra]
url = "https://trainultra.app/mcp"
bearer_token_env_var = "TRAIN_ULTRA_MCP_TOKEN"

VS Code

Select Add to VS Code on the Settings page, then sign in when VS Code opens Train Ultra. If you prefer a token, add Train Ultra to your user or workspace mcp.json with an input variable so the token is prompted and stored by VS Code.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "train-ultra-mcp-token",
      "description": "Train Ultra MCP token",
      "password": true
    }
  ],
  "servers": {
    "trainUltra": {
      "type": "http",
      "url": "https://trainultra.app/mcp",
      "headers": {
        "Authorization": "Bearer ${input:train-ultra-mcp-token}"
      }
    }
  }
}

Cursor

Select Add to Cursor on the Settings page, then sign in when Cursor opens Train Ultra. If you prefer a token, create or edit ~/.cursor/mcp.json for global access, or.cursor/mcp.json inside a project, with environment interpolation so raw tokens do not end up in source control.

{
  "mcpServers": {
    "train-ultra": {
      "url": "https://trainultra.app/mcp",
      "headers": {
        "Authorization": "Bearer ${env:TRAIN_ULTRA_MCP_TOKEN}"
      }
    }
  }
}

Other MCP clients

Use Streamable HTTP with the server URL below. Clients that support OAuth 2.1 sign in through the browser, the same way as Claude and ChatGPT. Other clients send a personal token in an Authorization bearer header.

URL: https://trainultra.app/mcp
Header: Authorization: Bearer tu_mcp_your_token_here

Example questions

  • Ask my Train Ultra coach what to do with tomorrow’s planned workout after today’s hard run.
  • Ask my Train Ultra coach whether this week looks too aggressive.
  • Ask my Train Ultra coach to move Saturday’s long run to Sunday.

Troubleshooting

  • 401 Unauthorized: check that the token was copied correctly and is still active.
  • The coach says your plan does not include it: the account no longer has Trial or Pro. Upgrade, then ask again. The connection keeps working, so you do not need to connect again.
  • 429 Rate limited: wait a minute or reduce repeated tool calls.
  • No tools listed: restart the client or reset its MCP tool cache.
  • Wrong conversation: conversation IDs are user-scoped, so a token cannot continue another athlete’s thread.