NexRex
Running training and coaching: activities, plans, recovery, rosters and plan drafts.
Hosted MCP Server
npx add-mcp 'https://mcp.nexrex.ai/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Connect NexRex to your AI
Ask ChatGPT, Claude, Claude Code or Codex about your training. Sign in with your NexRex account to connect.
Connect NexRex to the AI app you already use, then ask it about your runs, your plan and your recovery. You connect by signing in with your NexRex account. There's no key or token to copy.
NexRex connects through MCP (Model Context Protocol), the standard these apps use to reach other services. Every app uses the same address:
https://mcp.nexrex.ai/mcp
You can also copy it from the Connect NexRex to your AI card in Settings → Integrations on the web.
[!NOTE]
This page connects your own account to an AI app. To build an integration with an organization key, see the Developer API.
What your AI can do
Once connected, your AI app can:
- Read your profile, activities, training plan, nutrition log, recovery data and race predictions
- Read the athletes and groups you coach, if you're a coach
- Analyze performance for one athlete or a whole group
- Draft training plans and suggest workout changes
- Recommend a plan from the NexRex catalog and enroll an athlete in it
- Assign group plans to groups you coach
It sees only what your NexRex account can see. For coaches, it follows each athlete's sharing settings. What NexRex sends to your AI app is then handled under that app's own terms; see the NexRex Privacy Policy for how NexRex handles your data.
[!WARNING]
Your AI can't change your calendar on its own. It saves a plan, applies a change, enrolls an athlete or assigns a group plan only after you explicitly tell it to.
Connect ChatGPT
You add NexRex from ChatGPT's Plugins page. ChatGPT renames its menus often, so if yours look different, follow OpenAI's guide to connecting a custom MCP server. Your ChatGPT plan or workspace admin may limit custom MCP servers.
1. Add a custom MCP server
Open chatgpt.com/plugins, select +, then Add custom MCP server.
2. Enter the NexRex address
Name it NexRex. Under Connection, paste https://mcp.nexrex.ai/mcp. Keep the sign-in
(OAuth) option ChatGPT detects. You don't need a client ID or secret.
3. Create the plugin
Read ChatGPT's warning, select I understand and want to continue, then Create as a plugin.
4. Sign in to NexRex
Install the plugin. ChatGPT opens NexRex in your browser. Sign in, check which app is asking, and select Allow access.
5. Ask about your training
Start a new chat, type @, choose NexRex, and ask something like "How did my runs go this
week?"
Connect Claude
These steps are for Claude Free, Pro and Max plans. Free plans can add one custom connector. If the menus look different, see Anthropic's guide to custom connectors.
1. Add a custom connector
In Claude, open Customize, then Connectors. Select + Add, then Add custom connector.
2. Enter the NexRex address
Name it NexRex, paste https://mcp.nexrex.ai/mcp, and select Continue. Claude detects
how to sign in. Keep Sign in now and Use Claude's published identity (Recommended),
then select Add.
3. Sign in to NexRex
Claude opens NexRex in your browser. Sign in, check which app is asking, and select Allow access.
4. Turn it on in a chat
In a chat, select +, then Connectors, and switch NexRex on.
On Team and Enterprise plans, an Owner adds NexRex once under Organization settings, then Connectors. Each member then opens Customize, then Connectors, and selects Connect next to NexRex.
Connect Claude Code
In your terminal, run:
claude mcp add --transport http nexrex https://mcp.nexrex.ai/mcp
Then sign in:
claude mcp login nexrex
Your browser opens NexRex. Sign in and select Allow access. You can also sign in from inside
Claude Code: run /mcp, choose nexrex and follow the prompts.
Connect Codex
In your terminal, run:
codex mcp add nexrex --url https://mcp.nexrex.ai/mcp
Codex opens NexRex in your browser. Sign in and select Allow access. If the browser doesn't open, or Codex asks you to sign in again later, run:
codex mcp login nexrex
Other AI apps
Other MCP apps can connect to the same address if they support sign-in (OAuth). NexRex doesn't issue tokens to paste, so an app that only accepts a token can't connect.
See and end your connections
On the web, go to Settings → Integrations. On the Connect NexRex to your AI card, Connected AI apps lists each app you've connected, when you connected it and when it last used NexRex.
Select Disconnect to end a connection. The app loses access right away. To use it again, connect it again.
Removing NexRex inside your AI app stops that app from using it. To end the connection on the NexRex side as well, disconnect it in Settings → Integrations.
How long a connection lasts
A connection stays active while you use it. If an app doesn't use NexRex for 30 days, the connection ends, and you sign in again the next time you use it.
NexRex also ends a connection if the app's sign-in is used in an unexpected way, such as from two places at once. Connect again to continue.
Troubleshooting
NexRex stopped working after October 21, 2026
On October 21, 2026, NexRex moved every AI connection to sign-in. If you connected before then, connect again once:
- ChatGPT or Claude: remove NexRex, then add it again with the steps above.
- Claude Code: run
claude mcp login nexrex. - Codex: run
codex mcp login nexrex.
If you set NexRex up with a token, for example with --header in Claude Code or http_headers
in Codex, remove it first with claude mcp remove nexrex or codex mcp remove nexrex. Then add it
again with the command for your app.
Your AI app asks you to sign in again
The connection ended. It went unused for 30 days, someone disconnected it in NexRex, or NexRex ended it to protect your account. Sign in again to reconnect.
Codex keeps retrying after the connection ended
If Codex repeatedly reports invalid_grant, clear its saved NexRex sign-in and reconnect:
codex mcp logout nexrex
codex mcp login nexrex
Use the server name you configured if it differs from nexrex. Complete the NexRex sign-in and
select Allow access, then start a new Codex session. Retrying an ended connection does not
restore it; reconnecting creates a new connection. You do not need to sign out of your Codex account.
Your AI shows the wrong account's data
The NexRex sign-in page shows which account you're connecting, under Connecting as. Disconnect the app in Settings → Integrations, then connect again while signed in to the right account.
"This connection could not be completed"
The sign-in was interrupted or took too long. Go back to your AI app and start connecting again.
Working with specific tools
Your AI app picks NexRex tools on its own. You can also ask for one by name when you know what you need.
Find your own athlete data
The get_current_user tool returns the account you connected:
{
"user_id": "usr_8f2k...",
"athlete_id": "usr_8f2k...",
"email": "you@example.com",
"display_name": "Jamie Chen",
"roles": ["coach"],
"org_id": "org_x1y2...",
"profile_available": true
}
[!TIP]
For coaches: your own account may not be on your athlete roster, so a roster search can miss you. Ask your AI to call
get_current_userfirst, then use the returnedathlete_idto fetch your own profile, training plan and activities.
Find and enroll in a catalog plan
Use these tools when you want your AI to match you, or an athlete you coach, to an existing plan in the NexRex catalog instead of drafting a custom one.
| Tool | Type | What it does |
|---|---|---|
recommend_training_plans | Read-only | Ranks the catalog plans you can view for an athlete |
enroll_training_plan | Write (requires confirmation) | Enrolls the athlete in one catalog plan |
recommend_training_plans always gives the same result for the same inputs. NexRex scores
each plan's distance, goal, length, weekly volume, level and days per week against the athlete's
recent training, race prediction and primary race. It doesn't change any data. These optional
inputs narrow the match:
distance:full,half,hyrox,startornone(marathonandhalf marathonalso work)goal:finish,time_target,base_buildingormaintenancerace_date:YYYY-MM-DDdays_per_week:1to7target_time:H:MM:SStop_k: how many candidates to return,1to10(default3)
The result lists candidates with their reasons and gaps, plus these flags:
missing_inputs: details your AI should ask you about before recommending againhealth_hold:truewhen injury or recovery signals say not to push. Your AI doesn't recommend or enroll a plan. It suggests recovery or checking in with your coach instead.no_good_match:truewhen no catalog plan fits. Only then does your AI offer to draft a custom plan withcreate_training_plan.
enroll_training_plan enrolls the athlete in a catalog plan from a start_date
(YYYY-MM-DD). NexRex schedules every workout onto the athlete's calendar and makes it their
primary plan. Optional inputs are training_days_per_week (2 to 7) and long_run_preference
(saturday, sunday or weekend). If the athlete is already enrolled, NexRex returns the
existing plan_instance_id with already_enrolled: true and doesn't enroll them again.
{
"athlete_id": "usr_8f2k...",
"training_plan_id": "plan_half_12w...",
"plan_instance_id": "pi_3c9d...",
"already_enrolled": false,
"start_date": "2026-11-02"
}
Your AI calls enroll_training_plan only after the athlete explicitly confirms both the plan and
the start date.
The plan_recommendation prompt
NexRex also provides a plan_recommendation prompt, titled Recommend a training plan in apps
that list prompts. It walks your AI through the whole flow:
- Identify the athlete with
get_current_user. - Review the athlete's training status, race prediction and profile.
- Call
recommend_training_plans, and ask only for themissing_inputsit returns. - Stop if
health_holdistrue. - Explain the top candidate and its gaps in plain language.
- Offer
create_training_planonly whenno_good_matchistrue. - Call
enroll_training_planonce, after you confirm the plan and start date.
You can pass your request as the optional athlete_request argument, for example: "Find me a half
marathon plan for a race on March 15, running 4 days a week."
Assign group plans (coaches)
If you coach groups, your AI can view and assign group plans.
list_group_plans(read-only) lists a group's plans with their plan instance ID, name, template, start date, weeks, status, and member and sub-group counts. It returns active plans by default. Pass an emptystatusto list all of them.assign_group_planassigns a saved group plan template to a group and enrolls its members. It needsgroup_id,training_plan_idandstart_date(YYYY-MM-DD). Optional inputs aresub_groups,assignmentsandplan_name.
By default, assign_group_plan assigns every current group member and uses the template's
sub-groups. When the plan has more than one sub-group, assignments is required: it maps each
member's user ID to a sub-group name. Every assignee must be a current member of the group. You
need a coach role in the group's organization, and your organization must have group training
plans.
NexRex queues the workout scheduling for members. The result lists the targeted member_user_ids
with member_scheduling: "queued". It doesn't report each member's result.
Your AI calls assign_group_plan only after you explicitly confirm the template, start date and
member assignments.
A typical coach flow:
create_training_planwith agroup_iddrafts the plan.save_training_planwithsave_mode: "template_only"saves it as a group plan template.assign_group_planassigns the savedtraining_plan_id.list_group_plansandget_group_planshow the assigned plan.propose_plan_revisionwithscope: "group", thenapprove_plan_revision, changes it later.
This documentation is built and hosted on Mintlify, a developer documentation platform.