OCR Races has a remote MCP server so an AI assistant such as Claude or ChatGPT can find races, keep your race list and plan your training on your behalf. For a walkthrough with screenshots, see Connect to Claude or ChatGPT.
https://mcp.ocrraces.com/mcpPOST.The server uses OAuth 2.1 with PKCE. The authorization server is Supabase Auth, and clients register themselves with dynamic client registration, so there is no client ID or secret to paste.
email.https://www.ocrraces.com/.well-known/oauth-protected-resource/mcp.On first connect you are sent to a OCR Races page where you sign in and approve what the assistant may do. That page is on goalrace.com: OCR Races is a Goal Race site, and your account works on both.
Write tools only change your own data. Read tools never modify anything.
| Tool | Access | What it does |
|---|---|---|
| get_today | Read | Your local date and time, today's sessions and your next race with days to go. The anchor for relative dates. |
| get_schedule | Read | Sessions in a date range; defaults to the current week. |
| get_activity | Read | One session by ID, with notes and actuals. |
| get_weekly_summary | Read | Planned and completed sessions and minutes for a week, by type. |
| get_upcoming_trips | Read | Your future races with days to go and start weekday. |
| add_activity | Write | Create a training session. |
| move_activity | Write | Reschedule a session to another date or time. |
| update_activity | Write | Change the plan of a session: title, type, time, duration, distance, notes. |
| log_completed | Write | Mark a session done (or undo), with actuals, feeling and notes. |
| remove_activity | Write | Delete a session. |
| search_races | Read | Find upcoming races by text, country, series, nearby city, distance, tags and month. |
| list_race_filters | Read | The exact filter values (countries, series, tags, months) the search accepts. |
| save_race | Write | Add races found by search to your list; duplicates are reported, not repeated. |
| add_custom_race | Write | Add a race the search does not list, with a name, date and optional place and link. |
The full policy is in the Privacy Policy.
Failures are returned as JSON-RPC 2.0 error objects with a numeric code and a message: -32700 parse error, -32600 invalid request, -32601 method not found, -32602 invalid parameters and -32603 internal error. A tool that cannot do what was asked, for example an unknown activity ID, returns a message the assistant can read and act on.
When the access token is missing, invalid or expired, the server answers 401 with a WWW-Authenticate header that points to the protected-resource metadata above, so a compliant client starts the sign-in flow or refreshes its token on its own. There is no published per-user quota; normal assistant use is well within what the server handles.
Questions or problems: support@ocrraces.com. See also the Privacy Policy and the Terms of Service.