Madison Endurance Sports

A FastMCP server for Madison-area endurance athletes — race discovery, NWS race-day weather, and recurring group rides — wrapped in a /race_prep slash command that resolves fuzzy race references ("madtown half" → the right race) and returns a focused pre-race read: how long you’ll be out there, what conditions to expect, and basic nutrition matched to both.

Details

Why it matters

Two design moves I want to be known for. Dual-channel weather — the server refuses to invent race-day forecasts beyond NWS’s honest 7-day horizon, and falls back to a labeled climate normal rather than confidently presenting next week’s weather as race day’s. Fuzzy slash-command UX — slash commands that demand UUIDs are a portfolio piece, not a product; resolving "madtown half" server-side is the difference. The piece collapses six websites of Madison endurance planning into one MCP conversation built on FastMCP idioms a Prefect engineer can read in under five minutes.