MCP server
ourpr.
io.github.joeyaflores/ourpr-courses
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
Measured race courses, open to all, and your own runs, Blocks and plans once you sign in.
Working at last checkAbout 6,634 tokens per request once connected18 tools
https://ourpr.app/api/mcp
At a glance
- Type
- MCP server
- Publisher
- Not verified
- Status
- Working at last check
- Tools
- 18
- Token cost
- About 6,634 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http ourpr-courses https://ourpr.app/api/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.ourpr-courses] url = "https://ourpr.app/api/mcp"
Gemini CLI
{"mcpServers":{"ourpr-courses":{"httpUrl":"https://ourpr.app/api/mcp"}}}
Cursor
{"mcpServers":{"ourpr-courses":{"url":"https://ourpr.app/api/mcp"}}}
VS Code
{"servers":{"ourpr-courses":{"type":"http","url":"https://ourpr.app/api/mcp"}}}
Antigravity
agy mcp add ourpr-courses https://ourpr.app/api/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"ourpr-courses","server_url":"https://ourpr.app/api/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"ourpr-courses","server_url":"https://ourpr.app/api/mcp"}
Tools
ourpr_detect_reps~98 tokens
Whether one particular run was an interval session, and its reps.ourpr_get_course~763 tokens
Read one published course: its place, distance, climb, how it was measured, and which streets carry it. DELIBERATELY WITHOUT the elevation profile, the amenities and the centerline. Those are three more tools, because one course payload is about 83 KB and 91% of it is the profile. Args: - slug (ourpr_get_course_amenities~631 tokens
Public drinking water and toilets on the line of one course, each placed at the mile it sits at. READ THIS LIMIT BEFORE YOU ANSWER. These come from OpenStreetMap: public taps and toilets somebody mapped near the route. It is a FREQUENCY difference, not a category one — a race day sets up many moreourpr_get_course_route~608 tokens
Where a course actually runs: its start, its finish, its bounding box, every mile marker, and the streets in the order you meet them. The GPX file is free and needs no account. Hand `gpx_url` to a person who wants the course on a watch. Args: - slug (string): From ourpr_list_courses. - includeourpr_get_course_terrain~772 tokens
The elevation profile of one course, sampled, plus every climb and descent ourpr. named on it. THIS IS THE TOOL FOR "what are the hills and where". Each named section carries the street it runs on, the miles it spans, its net rise or fall and its average grade. The elevation comes from a public teourpr_get_run~125 tokens
One activity in full: mile splits with heart rate, cadence, calories, device. Id comes from ourpr_list_runs. For the profile along the route, use ourpr_run_stream.ourpr_get_trail_system~453 tokens
Read one trail system: how many miles of path it holds, how many ways were mapped, where it sits, and where the measurement came from. Args: - slug (string): From ourpr_list_trail_systems. Example: 'trinity-trails'. - response_format ('markdown' | 'json'): Default 'markdown'. Returns: {ourpr_list_courses~1032 tokens
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 tracourpr_list_plans~210 tokens
The runner's planned runs between two dates: day, name, miles, time, tag, the runner's note, whether a logged run fulfilled it, and whether ourpr. create wrote it. Read it before ourpr_plan_week so a new plan does not land on a day that already holds one.ourpr_list_races~171 tokens
Every race ourpr. finds in the history, newest first, tune-ups included: date, name, distance, time, pace and run id. Also the fastest result at 5K, 10K, half marathon and marathon among them.ourpr_list_runs~289 tokens
Training history between two dates, newest first: date, local start, name, type, miles, pace, time, elevation, average heart rate, and on a runs-only list Friel's efficiency factor and the heartbeats each mile took. Start here for totals, streaks, trends, or finding a run. For one run's splits, useourpr_list_trail_systems~335 tokens
List every trail system ourpr. maps. A trail system is a whole network of connected paths, measured end to end, not a single route through it. Args: - response_format ('markdown' | 'json'): Default 'markdown'. Returns: { "count": number, "trail_systems": [{ "slug": string,ourpr_plan_week~346 tokens
Write one planned run, or a week of them, onto days still ahead. Each lands on the runner's week as a plan they can see, edit and remove. Needs a token made with the write scope and ourpr. create. Never logs a run.ourpr_rep_workouts~127 tokens
Interval sessions found across the history, with reps and distances. Detection is conservative, so a session it misses is still in ourpr_list_runs.ourpr_run_laps~116 tokens
The laps the watch recorded for one run — the runner's own button presses. Laps follow the workout; mile splits follow the mile.ourpr_run_stream~182 tokens
A run's profile on a 10 m grid — elevation, heart rate, power, cadence — as min, average, max and coverage per channel, not every sample. Also each half by distance with its moving pace, heart rate and efficiency, the pace change between them, and the drift (aerobic decoupling, Pa:HR), also after thourpr_similar_terrain~212 tokens
Stretches of past runs matching a distance and climb — what the runner has already done that resembles a race they are training for.ourpr_training_blocks~164 tokens
The goal race and its Block: race day, distance, goal time, which week of the Block today falls in, and miles for each week. Also the Blocks before past races, each with its result, weeks and peak week. A Block is the race-anchored Monday to Sunday weeks before a race.
Browse
Related MCP servers
- CourseProfiler
Race course profiling, catalog search, course submission, and personalized race plans. - Sigwren
Trail and ultra running: your Sigwren training, plus race courses, pacing and fuelling for anyone. - livedot MCP
Find someone in a live running or cycling race, clubs and coaches near you, and race-day weather. - TuneWorks
Motorsports workspace for vehicles, setups, sessions, logs, maintenance, and race engineering. - SportStatsAPI
Fixtures, live scores, results, tables and match facts for 1,881 competitions in 8 sports. - Rotate Pilot — FAA exam prep
FAA written-test prep: practice questions, readiness diagnostic, METAR/TAF, drone airspace - Proven Plaza Calculators & Open Data
29 free construction calculators plus Florida contractor, permit, federal award and AI-crawler data. - Phorme Training
Coach-built training: coaching brains, programs, race plans, gyms, clinics, demos and your log.
Badge for your README
[](https://aptlynx.net/servers/io.github.joeyaflores/ourpr-courses)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents