ourpr.
by @joeyaflores · io.github.joeyaflores/ourpr-courses
Measured race courses, open to all, and your own runs, Blocks and plans once you sign in.
- Category
- Developer tools
- Connection
- Remote (HTTP)
- Tools
- 18 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http ourpr-courses https://ourpr.app/api/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://ourpr.app/api/mcpCursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"ourpr-courses": {
"url": "https://ourpr.app/api/mcp"
}
}
}Tools it offers
18 tools, as the server itself reported during our check on Oct 31, 2026.
ourpr_list_coursesList 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 mourpr_get_courseRead 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 onourpr_get_course_terrainThe 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, itourpr_get_course_amenitiesPublic 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. Iourpr_get_course_routeWhere 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 coourpr_list_trail_systemsList 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: {ourpr_get_trail_systemRead 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'. - reourpr_list_runsTraining 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. Starourpr_get_runOne 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_run_streamA 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 paourpr_run_lapsThe laps the watch recorded for one run — the runner's own button presses. Laps follow the workout; mile splits follow the mile.ourpr_rep_workoutsInterval sessions found across the history, with reps and distances. Detection is conservative, so a session it misses is still in ourpr_list_runs.ourpr_detect_repsWhether one particular run was an interval session, and its reps.ourpr_similar_terrainStretches of past runs matching a distance and climb — what the runner has already done that resembles a race they are training for.ourpr_training_blocksThe 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 raourpr_list_racesEvery 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_plansThe 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 laourpr_plan_weekWrite 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.
Questions
What is the ourpr. MCP server?
Measured race courses, open to all, and your own runs, Blocks and plans once you sign in. It is made by @joeyaflores and listed in the official MCP Registry as io.github.joeyaflores/ourpr-courses. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add ourpr. to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://ourpr.app/api/mcp. In Claude Code, run: claude mcp add --transport http ourpr-courses https://ourpr.app/api/mcp
How do I add ourpr. to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://ourpr.app/api/mcp.
How do I add ourpr. to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "ourpr-courses": { "url": "https://ourpr.app/api/mcp" } } }
Does ourpr. work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can ourpr. do?
It gives your AI 18 tools, including ourpr_list_courses, ourpr_get_course, ourpr_get_course_terrain, ourpr_get_course_amenities, ourpr_get_course_route. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/github-joeyaflores-ourpr-courses)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/github-joeyaflores-ourpr-courses"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/github-joeyaflores-ourpr-courses.svg?theme=dark"><img src="https://chen.media/mcp/badge/github-joeyaflores-ourpr-courses.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Developer tools
See allAlgolia ProductivityVerified maker
@algoliaConnect LLM tools to your Algolia account with user-scoped access for internal workflows.
GitHubVerified maker
@githubConnect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP devkit serverVerified maker
@mapboxProvides AI assistants with direct access to Mapbox developer APIs and documentation.
GitLabVerified maker
gitlab.comOfficial GitLab MCP Server
Perplexity API PlatformVerified maker
perplexity.aiReal-time web search, reasoning, and research through Perplexity's API
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
@valueinPoint-in-time, survivorship-free SEC EDGAR fundamentals + smart-money signals for AI agents.