Open-source marathon physiology calculators for endurance runners. 12 tools: race time prediction (Riegel model), pacing strategy, fueling plans, running economy analysis, caffeine protocols, heat acclimation planning, periodization comparison, and grade-adjusted pace. Strava-connected tools for training load and activity analysis. All models are citation-backed from peer-reviewed exercise physiology research. Stateless tools work without authentication at ham.run.
ham.run is a remote MCP server published at mcp.ham.run. It has been probed 7 times since 9/10/2026. It answered in 7 of them (100.0%), a near-uninterrupted record. Median response time is 364 ms, placing it among the faster endpoints. It offers a narrow, focused set of 13 tools. On the protocol side it still runs 2025-11-25 and has not moved to the newer spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
predict_race_time — Truncated description cuts off explanation of confidence interval limitationsfueling_plan — Parameter 'useMyData' is mentioned but not explained in the descriptionpacing_strategy — Complex output parameters (HR drift, sodium levels) lack usage contextgenerate_training_plan — Overlaps with 'generate_workout' in training prescription scopeget_training_load — TSS estimation method is unclear without authentication contextRisk: medium
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Derived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/hamrun-hamrun)<a href="https://mcpmetrics.io/servers/hamrun-hamrun"><img src="https://mcpmetrics.io/badge/hamrun/hamrun/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to see| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-11 13:13:33 | Legacy | 401 | 336 | 200 | 345 | 2025-06-18 |
| 2026-09-11 11:20:19 | Legacy | 401 | 372 | 200 | 475 | 2025-06-18 |
| 2026-09-11 09:28:19 | Legacy | 401 | 429 | 200 | 364 | 2025-06-18 |
| 2026-09-11 07:35:54 | Legacy | 401 | 398 | 200 | 400 | 2025-06-18 |
| 2026-09-11 05:44:28 | Legacy | 401 | 326 | 200 | 522 | 2025-06-18 |
| 2026-09-11 03:50:39 | Legacy | 401 | 316 | 200 | 348 | 2025-06-18 |
| 2026-09-10 21:16:35 | Auth-gated | 401 | 363 | 401 | 341 | — |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.