RunReady
by Dakota Reese Brown (Community)
Description
RunReady.ai helps runners prepare for supported races with course-specific guidance inside ChatGPT. You can explore an interactive course map, get a clear breakdown of course sections, elevation, and aid stations, build a personalized pacing plan based on your goal time and pacing strategy, and review historic race-day weather along the course. It’s a practical way to understand a race, plan smarter, and make more confident training and race-day decisions.
Capabilities
No special capabilities listed
AI Agent Discovery
RunReady is indexed by Tedix as a structured health listing for AI assistants, search crawlers, and users comparing agent-ready apps.
- RunReady is categorized as Health.
- Developer: Dakota Reese Brown.
- Connector type: AI-Powered App.
- Current connector status: Connected.
- Observed distribution channels: chatgpt.
- Available regions: US, GB, ES, KR, IN, FR.
Use this page to understand whether RunReady is relevant for health workflows in AI assistants.
For MCP discovery, this listing helps crawlers connect RunReady to tool, resource, prompt, and server-health signals instead of treating it as a generic directory entry.
The canonical Tedix directory URL is https://tedix.dev/apps/runready/.
Crawlable Profile
Source and availability
Tedix identifies RunReady from Upstream Mcp tool source; Store sources: ChatGPT app store; Distribution: Ecosystem Directory. Availability is reported for US, GB, ES, KR, IN, FR.
- ChatGPT app store Auth not flagged · RELEASED · US, GB, ES, KR, IN, FR
Auth, tools, and actions
Authentication: Open Access. No special capability flags are currently listed. Current MCP inventory reports 5 tools, 3 resources, and 0 prompts.
- Analyze historic course weather · Read-only action
Retrieves historic weather data for a running event's course and returns a compact plot payload for visualization. Returns temperature ranges (5-year min/max band, average, and previous year actuals), plus sanitized data for precipitation, humidity, and wind. Use this when the user asks about expected weather conditions, temperature forecasts, or what to expect on race day based on historical patterns. **Personalized mode:** If a pacing plan has already been generated for the same event in this conversation, ALWAYS include it as the `pacing_plan` parameter — personalized weather is strictly better than default mode and users expect it. To generate one, FIRST call `get_personalized_pacing_plan` to get splits, THEN pass its complete `data` object as the `pacing_plan` parameter to this tool WITHOUT trimming or sampling the splits array. The most robust approach is to pass the pacing plan output as-is (unit_system + assumptions + full splits). Personalized mode shows weather at projected arrival times rather than linear distance-to-time mapping. **Key requirements for personalization to succeed:** 1. Pass the COMPLETE splits array from the pacing plan (every segment, not a subset). 2. Include `assumptions.start_time` (critical field). 3. Use the same `unit_system` in the pacing_plan as was used when calling `get_personalized_pacing_plan`. The pacing_plan unit_system must match the resolved weather data unit system for personalization to activate (the API may rarely fall back to the opposite system if data is unavailable). 4. Use consistent HH:MM:SS 24-hour zero-padded format for all clock times. **Fallback behavior:** If `pacing_plan` is missing, invalid, or cannot be parsed, the tool automatically falls back to default mode (linear mapping from start to cutoff). The tool never fails due to a malformed pacing plan. Input: event name + optional unit system + optional pacing_plan. Output: event identity, schedule context, mode flags, compact plot payload, sanitized weather data, and summary. **When `ok` is false:** Do NOT present weather data or forecasts as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational error (e.g., weather data not yet generated) — relay the error message without claiming the race is unsupported.
- Get course route insights for Q&A · Read-only action
Retrieves detailed course analysis data for answering questions about a running event. Use this tool when the user asks QUESTIONS about the course — requests like 'what are the hardest parts?', 'where are the aid stations?', 'how much elevation gain?', 'tell me about the course', or 'what should I know about this race?'. Returns structured data including event identity, key stats, elevation/grade summaries, segment-by-segment breakdown (challenges, climbs/descents), and aid stations. Does NOT return a map widget — for visual map display, use `get_interactive_course_map` instead. **When `ok` is false:** Do NOT describe course stats, sections, or elevation data as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational or configuration error — relay the error message without claiming the race is unsupported. You may share general knowledge only if explicitly labeled as such and not presented as official RunReady analysis.
- Get interactive course map · Read-only action
Displays an interactive course map widget for a running event. Use this tool when the user wants to SEE or VISUALIZE the course — requests like 'show me the course', 'display the map', 'let me see the route', or 'visualize the elevation'. Returns minimal event identity (name, unit system, GPX URL) plus an interactive map widget with GPX track, elevation profile, and distance markers. For detailed course analysis data (stats, sections, challenges) to answer questions, use `get_course_route_insights_for_qa` instead. **When `ok` is false:** Do NOT describe course details, map features, or elevation data as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational or configuration error — relay the error message without claiming the race is unsupported. You may share general knowledge only if explicitly labeled as such and not presented as an official RunReady guide.
- Get personalized pacing plan · Read-only action
Calculates a pacing plan for a specific running event using detailed course data (distance, elevation profile, and on-course stations). Returns segment splits, cumulative times, and optional checkpoint tables based on a selected pacing strategy (Even Pace, Even Effort, Negative Split, etc.) and an estimated time lost per aid station. When all optional parameters are provided (goal_time, estimated_start_time, pacing_strategy_id, aid_station_seconds), the tool automatically calculates and returns the pacing plan. If any parameters are missing, an interactive widget prompts the user for the remaining inputs. Note: All 'pace' values in the output are elapsed pace (including aid station time), not moving pace. **Integration with weather tool:** The output of this tool can be passed directly as the `pacing_plan` parameter to `analyze_historic_course_weather` to enable personalized weather timing. If a pacing plan has been generated for the same event in this conversation, always include it when calling the weather tool — personalized weather is preferred over default mode. Do not reuse a pacing plan from a different event. For best results, pass the complete `data` object without modification — include the full splits array, all assumptions, and the unit_system. Do not trim or sample the splits. **When `ok` is false:** Do NOT present pacing data or split tables as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational error — relay the error message without claiming the race is unsupported.
- Get supported events · Read-only action
Returns a list of all running events currently supported by RunReady. Use this tool when you need to (a) confirm whether a specific race or event is supported, (b) disambiguate similar race names, or (c) provide users with canonical links to RunReady course guides. An event is considered "supported" if it is active and has at least one published course guide. Returns event name, date, type, available unit systems, and canonical URLs for each guide.
Verification freshness
- Catalog synced 1d ago (June 5, 2026)
- Connector checked May 30, 2026
- MCP scanned May 30, 2026
- Website enriched May 29, 2026
- Directory updated 1d ago (June 5, 2026)
Alternatives and related apps
Comparable apps in Health include Acal Calorie Tracker, Achieve Harmony, AdisInsight, AllTrails.
Publisher Intelligence
Insights and recommendations for app publishers. See how your app performs and how to improve discoverability.
Server Status runready-chatgpt-mcp v1.1.0
https://runready.dev/mcp Last checked: May 30, 2026
Technical Details
Tools(5)
Showing 5 of 5 tools
| Tool | Description | Flags | Test | Last Tested | |
|---|---|---|---|---|---|
analyze_historic_course_weather | Retrieves historic weather data for a running event's course and returns a compact plot payload for visualization. Returns temperature ranges (5-year min/max band, average, and previous year actuals), plus sanitized data for precipitation, humidity, and wind. Use this when the user asks about expected weather conditions, temperature forecasts, or what to expect on race day based on historical patterns. **Personalized mode:** If a pacing plan has already been generated for the same event in this conversation, ALWAYS include it as the `pacing_plan` parameter — personalized weather is strictly better than default mode and users expect it. To generate one, FIRST call `get_personalized_pacing_plan` to get splits, THEN pass its complete `data` object as the `pacing_plan` parameter to this tool WITHOUT trimming or sampling the splits array. The most robust approach is to pass the pacing plan output as-is (unit_system + assumptions + full splits). Personalized mode shows weather at projected arrival times rather than linear distance-to-time mapping. **Key requirements for personalization to succeed:** 1. Pass the COMPLETE splits array from the pacing plan (every segment, not a subset). 2. Include `assumptions.start_time` (critical field). 3. Use the same `unit_system` in the pacing_plan as was used when calling `get_personalized_pacing_plan`. The pacing_plan unit_system must match the resolved weather data unit system for personalization to activate (the API may rarely fall back to the opposite system if data is unavailable). 4. Use consistent HH:MM:SS 24-hour zero-padded format for all clock times. **Fallback behavior:** If `pacing_plan` is missing, invalid, or cannot be parsed, the tool automatically falls back to default mode (linear mapping from start to cutoff). The tool never fails due to a malformed pacing plan. Input: event name + optional unit system + optional pacing_plan. Output: event identity, schedule context, mode flags, compact plot payload, sanitized weather data, and summary. **When `ok` is false:** Do NOT present weather data or forecasts as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational error (e.g., weather data not yet generated) — relay the error message without claiming the race is unsupported. | read-only | 100%Latency 2.3s | May 30, 2026 | |
get_course_route_insights_for_qa | Retrieves detailed course analysis data for answering questions about a running event. Use this tool when the user asks QUESTIONS about the course — requests like 'what are the hardest parts?', 'where are the aid stations?', 'how much elevation gain?', 'tell me about the course', or 'what should I know about this race?'. Returns structured data including event identity, key stats, elevation/grade summaries, segment-by-segment breakdown (challenges, climbs/descents), and aid stations. Does NOT return a map widget — for visual map display, use `get_interactive_course_map` instead. **When `ok` is false:** Do NOT describe course stats, sections, or elevation data as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational or configuration error — relay the error message without claiming the race is unsupported. You may share general knowledge only if explicitly labeled as such and not presented as official RunReady analysis. | read-only | 100%Latency 933ms | May 30, 2026 | |
get_interactive_course_map | Displays an interactive course map widget for a running event. Use this tool when the user wants to SEE or VISUALIZE the course — requests like 'show me the course', 'display the map', 'let me see the route', or 'visualize the elevation'. Returns minimal event identity (name, unit system, GPX URL) plus an interactive map widget with GPX track, elevation profile, and distance markers. For detailed course analysis data (stats, sections, challenges) to answer questions, use `get_course_route_insights_for_qa` instead. **When `ok` is false:** Do NOT describe course details, map features, or elevation data as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational or configuration error — relay the error message without claiming the race is unsupported. You may share general knowledge only if explicitly labeled as such and not presented as an official RunReady guide. | read-only | 100%Latency 899ms | May 30, 2026 | |
get_personalized_pacing_plan | Calculates a pacing plan for a specific running event using detailed course data (distance, elevation profile, and on-course stations). Returns segment splits, cumulative times, and optional checkpoint tables based on a selected pacing strategy (Even Pace, Even Effort, Negative Split, etc.) and an estimated time lost per aid station. When all optional parameters are provided (goal_time, estimated_start_time, pacing_strategy_id, aid_station_seconds), the tool automatically calculates and returns the pacing plan. If any parameters are missing, an interactive widget prompts the user for the remaining inputs. Note: All 'pace' values in the output are elapsed pace (including aid station time), not moving pace. **Integration with weather tool:** The output of this tool can be passed directly as the `pacing_plan` parameter to `analyze_historic_course_weather` to enable personalized weather timing. If a pacing plan has been generated for the same event in this conversation, always include it when calling the weather tool — personalized weather is preferred over default mode. Do not reuse a pacing plan from a different event. For best results, pass the complete `data` object without modification — include the full splits array, all assumptions, and the unit_system. Do not trim or sample the splits. **When `ok` is false:** Do NOT present pacing data or split tables as if the tool succeeded. Always quote the `error` message to explain the failure. If `error_code` is `EVENT_NOT_SUPPORTED`, the requested event is not yet supported by RunReady — tell the user RunReady doesn't have this race yet (not that it doesn't exist), list `suggested_events` as alternatives if present, and mention get_supported_events for the full list. If `error_code` is absent, it is an operational error — relay the error message without claiming the race is unsupported. | read-only | 0%Latency 289ms | May 30, 2026 | |
get_supported_events | Returns a list of all running events currently supported by RunReady. Use this tool when you need to (a) confirm whether a specific race or event is supported, (b) disambiguate similar race names, or (c) provide users with canonical links to RunReady course guides. An event is considered "supported" if it is active and has at least one published course guide. Returns event name, date, type, available unit systems, and canonical URLs for each guide. | read-only | 100%Latency 686ms | May 30, 2026 |
Discoverability Score
Fair
65 of 100 — how easily AI agents find your app
- Description quality20/20
- Example prompts0/20
- Keyword coverage0/15
- Tool metadata20/20
- Visual assets13/20
- Endpoint health10/10
- Data freshness15/15
How to Improve
Add at least 2 example prompts. Prompt examples strongly improve app matching and click-through intent.
Increase keyword coverage (discovery + trigger) to improve retrieval for long-tail queries.
Add at least 2 screenshots that show real workflows to increase confidence and conversion.
Technical Details
- Status
- ENABLED
- Type
- AI-Powered App
- Auth
- Open Access
- Listed on
- ChatGPT
- Added
- April 24, 2026
- Last synced
- 1d ago
- Last checked
- May 30, 2026
- Version
- 1.1.0
- Distribution
- Ecosystem Directory