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
| Tool | What it does | Try asking |
|---|---|---|
| search_races | Find upcoming marathons and halves by place, month, distance, course, open entry, Majors or BQ courses. | "Flat marathons in Europe next April that are still open" |
| get_race | One race in full: course, entry status and when it was checked, fees, ways in, qualifying times, charity and tour places, pro tips, nearby hotels. | "Tell me about the Berlin Marathon 2027" |
| compare_races | Up to four races side by side. | "Compare Chicago, Berlin and Amsterdam" |
| check_qualifying | Whether a PB meets a race's published standard for the runner's age and gender. | "I'm 41, male, 3:04 marathon PB: do I qualify for Boston?" |
| entry_deadlines | Entries and ballots opening or closing soon. | "Which ballots close in the next two weeks?" |
| get_my_radar | Needs sign-in. The dates on your Radar: ballots and entries opening and closing, race days. | "What's coming up on my Radar?" |
| add_to_radar | Needs sign-in. Put a race on your Radar (alerts by email); remove_from_radar takes it off. | "Add the London Marathon to my Radar" |
| get_my_races | Needs sign-in. Races you're running, with days to go, and races you've run, with your times. | "How long until my next race?" |
| set_running | Needs sign-in. "I'm running it" for a race you entered on the organizer's site. | "I got into Berlin 2027!" |
| races_for_me | Needs sign-in. Races picked for you from what you watch and look at on Medal, each with why. | "Find me a race like Berlin I can still enter" |
| get_my_majors | Needs sign-in. Your World Marathon Majors stars, and what's left. | "How many Majors have I run?" |
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.