Running Formulas MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| daniels_calculate_vdotB | Calculate VDOT according to Jack Daniels. Args: distance: Distance in meters. time: Time in seconds. Returns: dict: vdot (float): The calculated VDOT value, representing the runner's aerobic capacity based on the input distance and time. |
| daniels_calculate_training_pacesA | Get recommended training paces for a given VDOT, based on Jack Daniels' formulas. Args: vdot: VDOT value. Returns: dict: easy (dict): Recommended easy pace range with lower and upper bounds. marathon (dict): Recommended marathon pace with value and format. threshold (dict): Recommended threshold pace with value and format. interval (dict): Recommended interval pace with value and format. repetition (dict): Recommended repetition pace with value and format. |
| daniels_predict_race_timeA | Predict race time for a target distance based on a current race performance. Uses Jack Daniels' equivalent performance methodology. Args: current_distance: Distance of known performance in meters. current_time: Time of known performance in seconds. target_distance: Distance for race time prediction in meters. Returns: dict: Daniels' VDOT method prediction with value, format, and time_seconds. |
| riegel_predict_race_timeB | Predict race time for a target distance based on a current race performance. Uses Riegel's formula. Args: current_distance: Distance of known performance in meters. current_time: Time of known performance in seconds. target_distance: Distance for race time prediction in meters. Returns: dict: Riegel's formula prediction with value, format, and time_seconds. |
| mcmillan_calculate_velocity_markersA | Calculate velocity markers (vLT, CV, vVO2) from a race performance using McMillan methodology. Args: distance: Race distance in meters time: Race time in seconds Returns: Dictionary containing velocity markers with paces in MM:SS/km format |
| mcmillan_predict_race_timesA | Predict race times for standard distances based on a single race performance using McMillan methodology. Args: distance: Race distance in meters time: Race time in seconds Returns: Dictionary containing predicted race times in HH:MM:SS format |
| mcmillan_calculate_training_pacesA | Calculate training paces for all zones based on a race performance using McMillan methodology. Args: distance: Race distance in meters time: Race time in seconds Returns: Dictionary containing training paces organized by zones (endurance, stamina, speed, sprint) |
| mcmillan_heart_rate_zonesA | Calculate heart rate training zones based on age, resting heart rate, and optional max heart rate. Uses McMillan methodology with multiple max HR estimation formulas and both HRMAX and HRRESERVE methods. Args: age: Runner's age in years resting_heart_rate: Resting heart rate in BPM max_heart_rate: Optional maximum heart rate in BPM (if None, will be estimated) Returns: Dictionary containing estimated max HR, effective max HR, and training zones with both HRMAX and HRRESERVE calculations |
| convert_paceA | Convert between different pace and speed units. Args: value: The numeric value to convert. from_unit: Source unit ("min_km", "min_mile", "kmh", "mph"). to_unit: Target unit ("min_km", "min_mile", "kmh", "mph"). Returns: dict: value (float): Converted numeric value. formatted (str): Human-readable formatted result. unit (str): Target unit descriptor. Raises: ValueError: If from_unit or to_unit are not valid, or if conversion is not supported. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
The tools are mostly distinct, with clear separation between pace conversion, Daniels formulas, McMillan formulas, and Riegel prediction. However, there is some overlap between 'daniels_predict_race_time' and 'riegel_predict_race_time', which both predict race times from a known performance, potentially causing confusion. The other tools have well-defined, non-overlapping purposes.
All tool names follow a consistent snake_case pattern with a clear verb_noun structure (e.g., convert_pace, calculate_training_paces, predict_race_time). The naming is uniform across all tools, making them easily readable and predictable, with no deviations in style or convention.
With 9 tools, the server is well-scoped for its purpose of running formulas, covering pace conversion, training pace calculations, race time predictions, and heart rate zones from multiple methodologies. Each tool serves a distinct function, and the count is neither too sparse nor overwhelming, fitting typical expectations for such a domain.
The tool set provides comprehensive coverage for running-related calculations, including conversions, training paces, race predictions, and heart rate zones from Daniels, McMillan, and Riegel methodologies. A minor gap is the lack of tools for other common running formulas (e.g., Karvonen method for heart rate), but the core workflows are well-covered, allowing agents to perform most essential tasks without significant dead ends.