ourpr_list_courses

shallow

io.github.joeyaflores/ourpr-courses · Verify this server

List every running course published on ourpr., with its place, distance, climb and next race date. Each course is a MEASURED centerline built from recorded runs, with elevation from a public terrain model: USGS 3DEP 10 m in the US, and the city's own 1 m model in Berlin. It is not a course map traced by hand. START HERE. Every other course tool takes a slug, and this is where slugs come from. Args: - query (string, optional): Match the name and the place. Partial, case-insensitive. - kind ('race' | 'trail' | 'route', optional): Keep one kind. - course_type ('loop' | 'out-and-back' | 'point-to-point', optional): Keep one shape. - min_distance_mi / max_distance_mi (number, optional): Bound the distance in miles. - upcoming_only (boolean): Keep only courses whose race date has not passed. Default false. - limit (number): 1 to 50. Default 20. - offset (number): Skip this many. Default 0. - response_format ('markdown' | 'json'): Default 'markdown'. Returns: { "total": number, // matched the filters "count": number, // in this answer "offset": number, "has_more": boolean, "next_offset": number, // present when has_more "published_total": number, // every published course "courses": [{ "slug": string, // "boston-marathon" "name": string, // the event's own name, title sponsor included "place": string | null, // "Hopkinton → Boston, MA" "kind": string, "course_type": string, "distance_mi": number, "climb_ft": number | null, "steepest_pct": number | null, "next_race_date": string | null, // YYYY-MM-DD "days_out": number | null, // null once the date has passed "page_url": string }] } The order is the race calendar: the soonest race first, then undated courses by distance. Examples: - "What marathons does ourpr. have?" -> min_distance_mi=26 - "Which race is next?" -> upcoming_only=true, limit=1 - "Anything in Fort Worth?" -> query="fort worth" - Do not use when: you want the hills on one course. Use ourpr_get_course_terrain. Error handling: - Returns "No course matched" with the filters echoed when nothing matches.

100.0/100

1 trials · measured 1 day ago

ourpr_list_courses scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against io.github.joeyaflores/ourpr-courses, measured 6 Oct 2026 under methodology v0.2.0. Every measured component scored 100.

Component breakdown

ComponentWeightValue
Reliability35%not applicable
Schema integrity25%100.0
Failure behaviour15%not applicable
Latency15%not applicable
Concurrency10%not applicable

Tool details

Transport
remote
Credential class
self-provisionable
Input schema
not declared
Output schema
not declared
Side-effect classification
unclassified

Score history

DayScoreTierMethodology
2026-10-06100.0shallowv0.2.0

Probe evidence

ProbeOutcomes
schema_integritypass: 1

Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.

Embed this score

Available for every tool, scored or not — not a verification perk. Always links back to this page.

Vouch score: ourpr_list_courses
[![Vouch score](https://vouch.tools/api/tools/e80ebb96-b453-4beb-8a9c-fd573e74f31d/badge.svg)](https://vouch.tools/tools/e80ebb96-b453-4beb-8a9c-fd573e74f31d)
ourpr_list_courses — Vouch