Docs.

How Medal finds races and keeps them current, and how to plug it into Claude or any AI assistant that speaks MCP.

Overview

Medal lists marathons and half marathons worldwide: dates, courses and elevation, entry status, fees in your currency, qualifying times, charity and tour-operator places, pro tips for racing each course, and hotels nearby. Runners add races to their Radar to get alerts when dates are announced and entries or ballots open and close, and talk about each race in its discussion.

Where the data comes from

  • Race listings from established race calendars, matched against each other so a race appears once. New races start hidden and go live only once their date is confirmed by the organizer's own site or a second source.
  • Organizers' own sites, read regularly: entry status per distance, fees, ballot dates, qualifying times, charity and tour partners. Pages are re-read more often as deadlines approach, and every entry status shows when it was last checked. A status we can't confirm within a week isn't shown as current.
  • AI reads organizers' pages that don't follow a fixed format, and writes the pro tips. Racing tips use only figures from the course data; tips about the city are general and labeled as AI-written.
  • Open data: OpenStreetMap for locations and hotels, Open-Meteo for race-day weather, the European Central Bank's daily exchange rates, and city photos from Unsplash, credited to their photographers.

Spotted something wrong? Every race page has a discussion; post there and we'll fix it.

MCP server

Medal runs a Model Context Protocol server, so assistants like Claude and ChatGPT can search the catalog and answer questions about races with current data. Searching needs no account. Sign in (your assistant asks the first time you use a personal tool) and it can also read your Radar and your races, pick races for you, and add races to your Radar. In Claude and ChatGPT, results show as cards.

Endpoint (Streamable HTTP)

https://medal.run/mcp

Claude Code

claude mcp add --transport http Medal https://medal.run/mcp

Claude (web and desktop)

Settings → Connectors → Add custom connector, and paste the endpoint above.

Other clients

Any client that supports remote MCP servers over HTTP. For one that reads a JSON config:

{
  "mcpServers": {
    "Medal": {
      "type": "http",
      "url": "https://medal.run/mcp"
    }
  }
}

Tools

ToolWhat it does
search_racesFind upcoming marathons and halves by place, month, distance, course, open entry, Majors or BQ courses.
get_raceOne race in full: course, entry status and when it was checked, fees, ways in, qualifying times, charity and tour places, pro tips, nearby hotels.
compare_racesUp to four races side by side.
check_qualifyingWhether a PB meets a race's published standard for the runner's age and gender.
entry_deadlinesEntries and ballots opening or closing soon.
get_my_radarNeeds sign-in. The dates on your Radar: ballots and entries opening and closing, race days.
add_to_radarNeeds sign-in. Put a race on your Radar (alerts by email); remove_from_radar takes it off.
get_my_racesNeeds sign-in. Races you're running, with days to go, and races you've run, with your times.
set_runningNeeds sign-in. "I'm running it" for a race you entered on the organizer's site.
races_for_meNeeds sign-in. Races picked for you from what you watch and look at on Medal, each with why.
get_my_majorsNeeds sign-in. Your World Marathon Majors stars, and what's left.

Every result links to the race's page on Medal. Tools that need sign-in use your Medal account through OAuth: you approve the assistant once, and you can disconnect it any time under Connected apps on your account page. They can't change your email, password or settings, post in the Race Club, or enter races.

Fair use

The MCP server is for assistants answering runners' questions. Please don't use it to copy the catalog in bulk; if you'd like to work with Medal's data, get in touch. Race details change: check dates, fees and entry rules with the organizer before you book.

Medal is on iPhone

Put races on your Radar and get a notification when the ballot opens, before entries close and when race day's near.

Get it on the App Store