Server Details
Pace is a remote MCP server that exposes wearable and fitness data to Claude via the Model Context Protocol. It connects to Garmin, Oura, Whoop, Polar, Fitbit and 20+ devices and provides 15 tools for querying sleep, activity, recovery, and training data. Hosted on Google Cloud Run, OAuth 2.1 authentication, Streamable HTTP transport.
Instructions: First you need to create an account at: https://pacetraining.co and connect your wearables. After that you can connect the remote Server via Custom Connector in Claude and OAuth 2.1 Flow startet.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 19 of 19 tools scored. Lowest: 1/5.
Most tools have distinct purposes, but get_activity_data and get_workout_list overlap significantly, and get_daily_summary and get_recovery_status both include HRV/resting HR. Two mutation tools lack descriptions, making them ambiguous.
The 'get_' prefix is consistent for retrieval, but mutation tools use different verbs (delete, plan, update) and inconsistent noun forms (planned_workout vs workout). Older tools like get_workout_list, get_workout_detail, get_workout_samples follow a uniform pattern.
19 tools is slightly high but justifiable for a comprehensive fitness data server covering activities, sleep, nutrition, body, recovery, trends, and workout details. Some tools could potentially be merged, but overall the count is reasonable.
The tool surface covers most common health/fitness data types, but two tools (plan_workout, update_planned_workout) have no descriptions, creating dead ends. Missing direct getters for some metrics (e.g., steps alone) but covered through summaries.
Available Tools
20 toolsdelete_planned_workoutDelete Planned WorkoutADestructiveIdempotentInspect
Löscht ein geplantes Workout aus dem TrainingPeaks-Kalender. Nicht umkehrbar.
Parameter:
workout_id: Die workoutId (aus get_planned_workouts).
| Name | Required | Description | Default |
|---|---|---|---|
| workout_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds that the action is irreversible ('Nicht umkehrbar'), reinforcing the destructive nature. However, it does not disclose additional behavioral details such as authorization requirements or side effects beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences for the main action and one line for the parameter. It is front-loaded with the verb and resource, with no redundant text. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, destructive action), the description covers the essential purpose, irreversibility, and parameter source. With an output schema present (context signal), return values are handled elsewhere. It could mention success/error behavior, but for a delete tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description bears full responsibility for parameter explanation. It effectively clarifies the single parameter 'workout_id' by specifying it comes from 'get_planned_workouts', adding semantic meaning beyond the bare JSON schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Löscht ein geplantes Workout') and the resource ('aus dem TrainingPeaks-Kalender'), matching the tool name and title. It directly distinguishes this from sibling tools like 'plan_workout' and 'update_planned_workout' by specifying deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a parameter hint ('workout_id: Die workoutId (aus get_planned_workouts)') indicating where to obtain the ID, which is useful. However, it lacks explicit guidance on when to use this tool versus alternatives, and no context on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_activity_dataGet Activity DataARead-onlyInspect
Retrieves training activities for the user over a specified date range. Shows distance, duration, pace, heart rate, calories, and training load.
Parameters:
start_date: Start date in YYYY-MM-DD format
end_date: End date in YYYY-MM-DD format
activity_type: Optional. Filter: 'RUNNING', 'CYCLING', 'STRENGTH_TRAINING', etc. Matches all type-aliases — 'CYCLING' also returns ROAD_BIKING / MOUNTAIN_BIKING / INDOOR_CYCLING etc.
prefer_provider: Optional. Per-query soft-override (e.g. 'WHOOP', 'GARMIN'). Influences duplicate-cluster picking. Clusters without this provider remain on default picker.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| start_date | Yes | ||
| activity_type | No | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral context beyond the readOnlyHint annotation, such as how activity_type matches type aliases and how prefer_provider influences duplicate selection. However, it does not mention pagination, maximum results, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief introductory sentence followed by parameter descriptions. While it is clear and organized, it is slightly verbose; parameter details could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to explain return values. It covers essential aspects like date range, activity type filtering with alias matching, and provider preference. However, it could mention that multiple activities are returned and any limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description provides detailed explanations for all four parameters, including date format (YYYY-MM-DD), alias matching for activity_type, and soft-override behavior for prefer_provider. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves training activities with a date range and lists the fields returned. It specifies the resource and verb, making the purpose unambiguous. However, it does not distinguish from sibling tools like get_workout_list, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not indicate that get_workout_detail should be used for a single workout or that get_workout_list might be an alternative. The user must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_body_dataGet Body MeasurementsARead-onlyInspect
Retrieves body measurement data: weight, body fat, muscle mass, and BMI.
Parameters:
start_date: Start date in YYYY-MM-DD format
end_date: End date in YYYY-MM-DD format
prefer_provider: Optional. Per-query soft-override (e.g. 'WITHINGS', 'GARMIN').
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| start_date | Yes | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds valuable behavioral context: the prefer_provider parameter allows per-query soft-override, which is beyond basic schema info. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus parameter list. Purpose stated first. Every sentence adds value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values are covered. Description addresses all three parameters and the core functionality. Could mention data availability constraints or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description carries full burden. It specifies date format (YYYY-MM-DD) and explains prefer_provider's role as optional soft-override with examples. Could list supported providers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes retrieving specific body measurements (weight, body fat, muscle mass, BMI) with clear verb 'retrieves' and resource 'body measurement data'. Distinguishes from sibling tools like get_activity_data or get_nutrition_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly clear purpose but lacks explicit guidance on when to use this tool versus alternatives. No mention of prerequisites, limitations, or context that would help an agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connected_devicesGet Connected DevicesARead-onlyInspect
Lists all connected wearables and fitness trackers. Shows status, last sync time, and Terra User ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description adds no behavioral details beyond listed output fields; no disclosure of network calls or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second lists key output fields. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, readOnly annotation, and output schema present, description provides sufficient context. Mentions output fields (status, last sync, user ID) which adds value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. Baseline of 4 applies; no additional parameter info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists connected wearables and fitness trackers, with specific details (status, last sync, user ID). Distinct from sibling tools by focusing on device connectivity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly clear when to use: to get list of connected devices. No explicit exclusions or alternatives, but context and naming differentiate from data query tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_summaryGet Daily SummaryARead-onlyInspect
Shows the daily summary for a specific date: steps, active time, calories, resting heart rate, HRV, and stress level.
Parameters:
date: Date in YYYY-MM-DD format
prefer_provider: Optional per-query soft-override (e.g. 'OURA', 'GARMIN').
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context about the returned metrics (steps, HRV, etc.), which is beyond what annotations provide, but does not mention rate limits or auth requirements. Still, it is consistent and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a parameter list with no redundant words. It front-loads the primary purpose and then details parameters efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the presence of an output schema, and annotations, the description covers all essential aspects: purpose, parameter meanings, and read-only behavior. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so by explaining the date format (YYYY-MM-DD) and the optional prefer_provider parameter with examples, adding significant value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'shows' and the resource 'daily summary', and lists specific metrics (steps, active time, etc.), distinguishing it from sibling tools like get_activity_data or get_sleep_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a broad daily overview but does not explicitly state when to use this tool over alternatives or provide exclusions. The parameter list offers basic guidance but no strategic context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_data_overviewGet Data OverviewARead-onlyInspect
Shows an overview of all available fitness data for the user. Lists connected devices and available data date ranges. Claude should call this tool first to understand what data is available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only. Description adds that it lists devices and date ranges but does not disclose other behavioral aspects like response size or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with front-loaded key information: what it shows, what it lists, and usage advice. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with output schema, description covers purpose, contents, and usage context. Could mention output schema coverage but not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline of 4 applies. Description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows an overview of fitness data and lists connected devices and date ranges. It differentiates from sibling tools by indicating it should be called first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call this tool first to understand data availability, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nutrition_dataGet Nutrition DataARead-onlyInspect
Retrieves nutrition data: calories, macronutrients (protein, carbs, fat), and water intake.
Parameters:
start_date: Start date in YYYY-MM-DD format
end_date: End date in YYYY-MM-DD format
prefer_provider: Optional. Per-query soft-override (e.g. 'CRONOMETER').
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| start_date | Yes | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds value by specifying the returned data (calories, macros, water), but does not mention any potential side effects or additional behavioral traits like rate limits or data availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using a single sentence for purpose and a bullet-point list for parameters. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set, the presence of an output schema, and clear sibling differentiation, the description covers all essential aspects: purpose, parameters, and returned data. No missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description fully compensates by providing clear explanations for all three parameters: date format for start_date and end_date, and a usage example for prefer_provider.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves nutrition data, listing specific nutrients like calories, macronutrients, and water intake. It distinguishes itself from sibling tools (e.g., get_activity_data, get_body_data) by focusing on nutrition data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not explicitly state when to use it versus alternatives. It lacks guidance on exclusions or preferred contexts, such as using get_daily_summary for aggregated data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planned_workoutsGet Planned WorkoutsARead-onlyInspect
Listet geplante (und absolvierte) Workouts aus dem TrainingPeaks-Kalender im Zeitraum. Ideal um vor dem Ändern/Löschen die workoutId zu finden.
Parameter:
start_date: YYYY-MM-DD
end_date: YYYY-MM-DD (max. ~90 Tage Spanne empfohlen)
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| start_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description doesn't need to reiterate safety. It adds that it includes completed workouts, but no further behavioral traits like permissions or rate limits. Adequate but minimal added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a parameter list. Front-loaded with purpose, no fluff. Each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low parameter count, existence of output schema, and clear usage context, the description is largely complete. Missing pagination or result count details, but acceptable for a straightforward list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description specifies the YYYY-MM-DD format and recommends a max 90-day span, providing crucial context missing from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists planned (and completed) workouts from the TrainingPeaks calendar in a date range. It mentions finding workoutId for modification/deletion, but doesn't explicitly differentiate from sibling tools like get_workout_list or get_workout_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says it's ideal for finding workoutId before changing/deleting, and recommends a max 90-day span. No explicit when-not or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recovery_statusGet Recovery StatusARead-onlyInspect
Shows current recovery status: device scores (Recovery, Readiness, Strain), HRV and resting heart rate trend over the last 7 days with 28-day baseline, sleep quality of the last 3 nights, and training load. All values come directly from the wearable — no custom calculations except average/min/max.
Parameters:
prefer_provider: Optional. Per-query soft-override (e.g. 'WHOOP', 'OURA').
| Name | Required | Description | Default |
|---|---|---|---|
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. The description adds significant behavioral context: values come directly from the wearable with no custom calculations except average/min/max, and the parameter behavior (soft override) is explained. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet informative, with a clear overview sentence followed by bulleted data points, calculation notes, and parameter details. No redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (covering return structure), the description adequately covers the tool's purpose, data content, and parameter behavior. It omits some details like exact data formats, but is sufficient for general understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the single parameter 'prefer_provider' as an optional soft-override with examples (WHOOP, OURA). While it doesn't list all valid values, it provides clear purpose and context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'shows current recovery status' and lists specific metrics (device scores, HRV, sleep quality, training load), distinguishing it from sibling tools like get_sleep_data or get_activity_data which focus on raw data rather than aggregated recovery metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining recovery status but does not explicitly state when to prefer this tool over siblings like get_sleep_data or get_training_summary. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sleep_dataGet Sleep DataARead-onlyInspect
Retrieves sleep data for the user over a specified date range. Shows sleep duration, sleep stages (deep, REM, light), HRV, SpO2, breathing rate, and sleep score.
Parameters:
start_date: Start date in YYYY-MM-DD format
end_date: End date in YYYY-MM-DD format
source: Optional. Hard provider filter e.g. 'GARMIN' or 'OURA' — only this provider's rows are returned.
prefer_provider: Optional soft override. Influences duplicate-cluster picking only; other nights remain visible.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | ||
| end_date | Yes | ||
| start_date | Yes | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description confirms it retrieves data. No additional behavioral traits disclosed beyond listing metrics, which adds some value but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably concise with a clear structure: purpose sentence, metrics list, parameter details. Slightly redundant but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description covers purpose and all parameters adequately. Could mention date range constraints or pagination, but is fairly complete for a read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description thoroughly explains all four parameters, including nuances like hard filter vs. soft override for provider, adding significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves sleep data over a date range and lists specific metrics (duration, stages, HRV, etc.), effectively distinguishing from sibling tools like get_sleep_samples which likely provide raw samples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_sleep_samples or other sibling tools. Lacks exclusions or context for optimal usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sleep_samplesGet Sleep Time-SeriesARead-onlyInspect
Retrieves time-series data for a sleep night: HR progression, HRV, SpO2, breathing rate, or hypnogram (sleep stage progression). Requires sleep_id from get_sleep_data and sample_type ('hr', 'hrv', 'spo2', 'breathing', 'hypnogram').
Parameters:
sleep_id: UUID of the sleep night from get_sleep_data
sample_type: 'hr', 'hrv', 'spo2', 'breathing', or 'hypnogram'
| Name | Required | Description | Default |
|---|---|---|---|
| sleep_id | Yes | ||
| sample_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint annotation, the description doesn't need to state it's read-only. It adds context about time-series and sample types but doesn't detail behavior beyond what annotations and output schema cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (~60 words) with a front-loaded purpose and structured parameter list. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, output schema exists), the description covers prerequisites, parameter semantics, and purpose. Could slightly enhance by hinting at the time-series structure, but output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description fully explains both parameters: sleep_id as 'UUID of the sleep night from get_sleep_data' and sample_type with explicit allowed values, adding essential meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Retrieves time-series data for a sleep night') and enumerates the specific data types (HR, HRV, SpO2, breathing rate, hypnogram), distinguishing it from sibling tools like get_sleep_data which likely provides summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a prerequisite ('Requires sleep_id from get_sleep_data') and lists valid sample_type values, giving clear context for when to use this tool. However, it lacks explicit guidance on when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_training_summaryGet Training SummaryARead-onlyInspect
Aggregated training statistics over a time period: number of workouts, total duration and distance per sport, weekly overview, intensity distribution, and training load. Ideal for training reports, progress analysis, and periodization overview.
Parameters:
period: '7d', '30d', '90d', '180d', or '365d'
activity_type: Optional. Filter by sport: 'RUNNING', 'CYCLING', etc.
| Name | Required | Description | Default |
|---|---|---|---|
| period | Yes | ||
| activity_type | No | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true, so the read-only nature is known. The description adds value by detailing the specific aggregated data returned (workouts, duration, distance, intensity distribution), which goes beyond the annotation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the purpose, then ideal use cases, then parameter details in a clean bullet list. Every sentence pays its way with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (known from context), the description does not need to explain return values. It covers the tool's purpose, parameters (mostly), and use cases. With readOnlyHint from annotations, it is complete for a read-only aggregated statistics tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no descriptions in schema). The description clarifies 'period' with explicit values ('7d', '30d', etc.) and 'activity_type' with examples ('RUNNING', 'CYCLING'), adding meaning. However, it omits the 'prefer_provider' parameter entirely, leaving it undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Aggregated training statistics over a time period' and lists specific metrics (workouts, duration, distance per sport, weekly overview, intensity distribution, training load). This distinguishes it from sibling tools like get_workout_detail (single workout) or get_daily_summary (daily data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Ideal for training reports, progress analysis, and periodization overview,' providing clear use cases. It does not explicitly exclude alternatives but the context is sufficient. Lacks when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trendsGet Health TrendsARead-onlyInspect
Shows trends and developments for a specific health metric over time. Compares the current period with the previous (equally long) period.
Parameters:
metric: One of: 'hrv', 'sleep_duration', 'sleep_score', 'sleep_efficiency', 'readiness', 'resting_hr', 'steps', 'active_minutes', 'weight', 'body_fat', 'stress', 'strain', 'vo2max', 'training_load', 'cardio_load'
period: Time period: '7d', '30d', or '90d' (default: '30d')
prefer_provider: Optional. Per-query soft-override (e.g. 'OURA', 'GARMIN'). Influences which provider's data is shown when multiple devices report the same metric.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | ||
| period | No | 30d | |
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds the comparison behavior and explains the prefer_provider soft override. However, it doesn't detail output format (but output schema exists) or any side effects. Good but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences explain purpose and comparison, followed by a clear parameter listing. No extraneous text; every sentence is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and an output schema, the description covers the core behavior, comparison logic, and parameter details. No obvious gaps given the context signals.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates: lists all acceptable metric values, period options with default, and explains prefer_provider's role. Adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly specifies that the tool shows trends and developments for a health metric over time, comparing current and previous periods. Distinguishes from sibling tools focused on single-time data or summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the purpose but does not provide explicit guidance on when to use vs when not to use, nor does it mention alternatives among the sibling tools. The description implicitly suggests trend analysis but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workout_detailGet Workout DetailARead-onlyInspect
Shows all details of a single workout: heart rate, pace, cadence, power, intensity zones, elevation, calories, and more. Requires workout_id from get_workout_list. Also shows which sample data (HR time series, speed, GPS etc.) is available — these can be retrieved with get_workout_samples.
Parameters:
workout_id: UUID of the workout from get_workout_list
| Name | Required | Description | Default |
|---|---|---|---|
| workout_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description adds context about what details are shown and that available sample data is indicated. No contradictions. Adds value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences plus parameter list; each sentence adds essential information: purpose, prerequisite, sample data indication. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with one required param and output schema exists. Description covers purpose, prerequisite, relationship to sibling, and param meaning. Complete for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description compensates by explaining param 'workout_id: UUID of the workout from get_workout_list', adding meaning about format and source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Shows all details of a single workout' and lists specific data types (heart rate, pace, etc.). It distinguishes from siblings like get_workout_list and get_workout_samples by focusing on full details and mention of sample availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Requires workout_id from get_workout_list' and 'these can be retrieved with get_workout_samples', providing clear when-to-use and when-not-to-use guidance with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workout_lapsGet Workout LapsARead-onlyInspect
Shows lap/split data for a workout: distance, time, pace, heart rate per lap. Requires workout_id from get_workout_list. Ideal for run analysis, interval evaluation, and pacing strategy.
Parameters:
workout_id: UUID of the workout from get_workout_list
| Name | Required | Description | Default |
|---|---|---|---|
| workout_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares read-only behavior. The description adds value by specifying the data fields per lap, but does not disclose additional behavioral traits such as rate limits or response limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences plus a parameter bullet. Every sentence adds value, and it is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter, an output schema, and clear annotations, the description provides sufficient context: purpose, prerequisite, and usage scenarios. No obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries full burden. It explains workout_id as a UUID from get_workout_list, adding context beyond the schema's type string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows lap/split data for a workout, listing specific metrics. It differentiates from siblings by focusing on laps, but does not explicitly distinguish from similar tools like get_workout_samples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a prerequisite (workout_id from get_workout_list) and suggests ideal use cases (run analysis, interval evaluation), but lacks explicit comparisons or exclusion criteria against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workout_listGet Workout ListARead-onlyInspect
Lists all workouts in a date range — compact overview with type, duration, distance, pace, and heart rate. Use this tool first for an overview. For details on a single workout, use get_workout_detail. The workout ID in the output can be used with get_workout_detail and get_workout_samples.
Parameters:
start_date: Start date in YYYY-MM-DD format
end_date: End date in YYYY-MM-DD format
activity_type: Optional. Filter: 'RUNNING', 'CYCLING', 'STRENGTH_TRAINING', etc. Matches all type-aliases — 'CYCLING' also returns ROAD_BIKING / MOUNTAIN_BIKING / INDOOR_CYCLING etc.
prefer_provider: Optional per-query override (e.g. 'WHOOP', 'GARMIN'). For each duplicate-cluster, the row from this provider wins (if present). Clusters without this provider remain on the default picker — no data is lost.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| start_date | Yes | ||
| activity_type | No | ||
| prefer_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description details the compact overview content, explains type-alias matching for activity_type, and describes the prefer_provider override behavior for duplicate clusters, ensuring no data loss.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured: first sentence states purpose, second gives usage guidance, third explains ID usage, then parameter details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the number of parameters, sibling tools, and output schema existence, the description covers all necessary aspects: purpose, usage, parameter details, behavioral nuances, and cross-tool references.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description fully explains each parameter: date formats, activity_type with example values and alias matching, and prefer_provider with duplicate handling logic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Lists all workouts in a date range — compact overview with type, duration, distance, pace, and heart rate.' It provides a specific verb and resource, and distinguishes from siblings by mentioning get_workout_detail for details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance: 'Use this tool first for an overview. For details on a single workout, use get_workout_detail.' Also explains how the workout ID in output can be used with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workout_samplesGet Workout Sensor SamplesARead-onlyInspect
Retrieves detailed time-series data for a workout: HR progression, speed, power, cadence, elevation profile, or GPS route. Requires workout_id from get_workout_list and sample_type ('hr', 'speed', 'power', 'cadence', 'elevation', 'gps'). Data is presented as 1-minute averages. Ideal for progression analysis and pattern detection.
Parameters:
workout_id: UUID of the workout from get_workout_list
sample_type: 'hr', 'speed', 'power', 'cadence', 'elevation', or 'gps'
| Name | Required | Description | Default |
|---|---|---|---|
| workout_id | Yes | ||
| sample_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and description aligns without contradiction. Adds behavioral detail: data as 1-minute averages, further clarifying what the tool provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise: short introductory sentence, context, and parameter list. No redundant information, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: purpose, prerequisites, parameter details. With an output schema present, description need not detail return format; however, no mention of pagination or data limits, but acceptable for the task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but description fully compensates by explaining workout_id as UUID from get_workout_list and sample_type with all permitted values, adding crucial context missing from schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves detailed time-series data for a workout, lists specific sensor types (HR, speed, power, etc.), and distinguishes from sibling tools by focusing on time-series samples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies when to use (progression analysis, pattern detection) and required prerequisites (workout_id from get_workout_list, valid sample_type). Lacks explicit when-not-to-use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_workoutPlan WorkoutDInspect
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| sport | Yes | ||
| steps | No | ||
| title | Yes | ||
| start_time | No | ||
| description | No | ||
| distance_km | No | ||
| duration_minutes | No | ||
| convert_distance_to_time | No | ||
| threshold_pace_sec_per_km | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_nightly_recoveryPredict Nightly RecoveryARead-onlyInspect
Predicts YOUR next night's Nightly Recovery (HRV / RMSSD in ms) from your real Polar data of the last ~30 days: a point estimate plus an 80% uncertainty interval and a comparison against the naive "tomorrow = today" baseline.
Personal to the account owner only. All values come from a frozen, temporally validated model — not medical advice.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, reducing burden. Description adds useful context: data source (last ~30 days of Polar data), model characteristics (frozen, temporally validated), and disclaimer. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and add essential details without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, inputs (implicitly from user's data), output components, and limitations (personal, not medical). Given no parameters and existence of output schema, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. Description adds no param info, but none is needed as schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool predicts the next night's Nightly Recovery (HRV/RMSSD) from personal Polar data, distinguishes it from sibling read/get tools by being a prediction, and specifies the output (point estimate, uncertainty interval, baseline comparison).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for use (personal to account owner, not medical advice) but doesn't explicitly say when to use vs alternatives. However, the purpose is self-explanatory and distinct from siblings like get_recovery_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_planned_workoutUpdate Planned WorkoutDIdempotentInspect
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| sport | No | ||
| steps | No | ||
| title | No | ||
| workout_id | Yes | ||
| description | No | ||
| distance_km | No | ||
| duration_minutes | No | ||
| convert_distance_to_time | No | ||
| threshold_pace_sec_per_km | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
Hi Anton here, I am a former professional Athlete and build this mainly for myself. I would appreciate your thoughts about this project. I personally use it everyday, especially the new "visualization" tool in Claude makes this 10x more powerful.