Codex / ChatGPT desktop
Streamable HTTP
Add this to ~/.codex/config.toml, or use Settings → MCP servers → Add server.
[mcp_servers.semipro_cycling_intelligence]
url = "https://api.semipro.coach/mcp"
enabled_tools = ["analyse_event_route"]
Public Cycling Intelligence / v1
SEMIPRO turns a cycling-event route into terrain demand, decisive climbs and the sections likely to shape the day. It is a specialist analysis tool, not another generic AI cycling coach.
One GPX. One real call.
A synthetic 63.9 km course was sent to analyse_event_route. This is the recorded response, not a hand-written mock-up.
“Sustained climbing ability on the key ascent.”
Primary course demand
Run the same live call
Node 18+ and no API key required. The script downloads the synthetic GPX, initialises the MCP and prints the complete response.
curl -fsSL https://semipro.coach/examples/semipro-mcp-demo.mjs | node
This uses the rate-limited free launch allowance. Inspect the script before running it.
Connect
Your agent inspects the tool schema before calling it. No SEMIPRO account or API key is required during the free launch allowance.
https://api.semipro.coach/mcp
Codex / ChatGPT desktop
Add this to ~/.codex/config.toml, or use Settings → MCP servers → Add server.
[mcp_servers.semipro_cycling_intelligence]
url = "https://api.semipro.coach/mcp"
enabled_tools = ["analyse_event_route"]
Claude Code
Add the public server at user scope, then use /mcp to confirm it is connected.
claude mcp add --transport http --scope user semipro-cycling-intelligence https://api.semipro.coach/mcp
Any MCP harness
Use this shape in clients that accept Remote MCP server JSON.
{
"mcpServers": {
"semipro-cycling-intelligence": {
"url": "https://api.semipro.coach/mcp"
}
}
}
If a client cannot resolve the API hostname, use the first-party fallback: https://semipro.coach/intelligence/mcp.
Available now
ReleasedAsk what a cycling-event route will demand, which climbs or sections matter, and what kind of performance problem the course creates.
analyse_event_routeTry: “What will this GPX course demand, and where are its decisive sections?”
Open the web toolIn evaluation
Not callableThe intended public job is to analyse a completed cycling activity, resolve its likely structure, and invoke released sprint, endurance or interval modules only when the evidence supports that decision.
It is deliberately absent from the public tool list. Our blinded resolver has not yet cleared the 90% held-out precision gate for specialist auto-routing.
Read the release contractWhy this exists
Most interfaces and AI wrappers can be reproduced quickly. SEMIPRO is building the accumulated coaching understanding underneath them, then making selected, qualified pieces callable through whatever agent software happens to be useful.
This first public tool is deliberately narrow. It gives an external agent a real cycling-performance read without pretending it knows the athlete, owns the plan or has access to SEMIPRO’s private coaching judgement.
Use the right surface
For an arbitrary public route or, once released, a completed activity. It has no athlete world, coaching history, private coach judgement or plan authority.
For active SEMIPRO athletes asking about their own athlete-safe training, coaching direction, events and published coaching through OAuth.
Connect my athlete accountMachine-readable
Trust boundary
Public SEMIPRO Intelligence does not prescribe training, change a plan, make medical diagnoses, predict outcomes, access connected athletes or expose the private coaching kernel. Public MCP calls retain neither the raw GPX nor the derived result. Only bounded operational metadata and a one-way request fingerprint are logged.