Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 15 of 15 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose, such as training activities, body measurements, sleep summary vs. sleep time-series, workout list vs. detail vs. laps vs. samples. Descriptions further clarify boundaries, so no ambiguity.

Naming Consistency5/5

All tool names follow a consistent 'get_' prefix followed by a descriptive noun phrase in snake_case (e.g., get_sleep_data, get_workout_laps). No mixing of styles or verbs.

Tool Count5/5

With 15 tools, the server covers a broad range of health and fitness data retrieval without being overwhelming. Each tool earns its place, and the scope is well-defined.

Completeness5/5

The tool set covers all major aspects of wearable data: activities, body, sleep, nutrition, recovery, trends, and detailed workout analysis. No obvious gaps for a read-only data retrieval API.

Available Tools

15 tools
get_activity_dataGet Activity DataA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
activity_typeNo
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, so the read-only behavior is assumed. The description adds details about returned fields (distance, duration, etc.), which is helpful but not critical. It does not disclose other traits like data freshness, pagination, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences and a parameter list. The first sentence front-loads the purpose. Every line earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (not shown but present), the description sufficiently covers input parameters, return fields, and date format. It does not mention pagination or date range limits, but for this complexity it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates by providing date format (YYYY-MM-DD), clarifying optional nature of activity_type, and giving example values. This adds significant value beyond the schema's minimal type info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves training activities over a date range and lists returned metrics. However, it does not explicitly differentiate from siblings like get_workout_list or get_training_summary, missing some sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives (e.g., get_training_summary, get_workout_list). It only implies use for retrieving detailed activity data by date range, with no when-not-to-use or alternative recommendations.

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 MeasurementsA
Read-only
Inspect

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is clear. The description adds that it retrieves data but does not disclose other behavioral traits (e.g., pagination, rate limits). Given annotations, this is adequate but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences plus a parameter list. Front-loaded with purpose, no unnecessary words. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema (not shown) and read-only annotations, the description adequately covers the tool's purpose and parameters. It could mention date range behavior, but it's complete enough for a simple retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description provides date format (YYYY-MM-DD) for both parameters, adding necessary semantics beyond the empty schema. For simple date range parameters, this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves body measurement data (weight, body fat, muscle mass, BMI) and distinguishes it from sibling tools like get_activity_data or get_sleep_data by specifying the data domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description implicitly tells when to use this tool (for body measurements), it does not explicitly mention when not to use it or compare with alternatives. However, the purpose is clear enough among siblings.

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 DevicesA
Read-only
Inspect

Lists all connected wearables and fitness trackers. Shows status, last sync time, and Terra User ID.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 SummaryA
Read-only
Inspect

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already provide readOnlyHint=true, so the description is not required to disclose safety. It adds context about the returned metrics (steps, active time, etc.) but does not address other behavioral aspects such as rate limits, authentication, or data freshness. This is adequate but not exceptional given the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short sentences. It front-loads the purpose and lists key metrics and parameter format without unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to detail return values. It covers the main purpose and parameter. However, it could be more complete by noting that the summary is for a full day or specifying units, but overall it provides sufficient context for an agent to use the tool appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It explains that date should be in YYYY-MM-DD format, adding valuable specificity beyond the schema's type-only definition. For a single required parameter, this is helpful but could also mention time zone implications.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows a daily summary for a specific date and lists specific metrics (steps, active time, etc.). This distinguishes it from sibling tools like get_activity_data or get_sleep_data which focus on individual data types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving an overview of daily health metrics, but it does not explicitly state when to use this tool over alternatives (e.g., for a high-level summary before diving into specifics). 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_data_overviewGet Data OverviewA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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 DataB
Read-only
Inspect

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is read-only. The description adds context by listing the returned fields, which is useful. However, it does not disclose behavioral details like data freshness, date range inclusivity, or behavior with missing data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two clear sentences plus a parameter list. Every word is informative, and the front-loaded structure immediately conveys the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists and the tool is simple (2 parameters), the description is nearly complete. It lacks mention of date range inclusivity or data aggregation level, but the output schema can provide those details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 provides format (YYYY-MM-DD) for both params, but no additional semantics like timezone, default values, or validation rules. This is minimal compensation for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 and lists specific data types (calories, macros, water). While it distinguishes from siblings by data domain, it does not explicitly differentiate from closely related tools like get_daily_summary that might overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 12 sibling data retrieval tools, the description should indicate that this is for nutrition-specific queries, but it does not.

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 StatusA
Read-only
Inspect

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description adds that values come directly from the wearable with no custom calculations except average/min/max, and specifies timeframes (7 days, 28-day baseline, last 3 nights). This provides valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first lists the components, second clarifies data source. Efficient, front-loaded, no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully explains what the tool returns and the data provenance. With no parameters and an output schema, it is complete for an agent to understand and use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so no parameter documentation is needed. The description compensates by listing exactly which metrics are returned, adding meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows current recovery status and lists specific metrics (device scores, HRV, sleep quality, training load). It distinguishes from sibling tools like get_sleep_data and get_activity_data by focusing on recovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like get_sleep_data or get_training_summary. The description does not provide selection criteria or exclusions.

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 DataA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNo
end_dateYes
start_dateYes
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations set readOnlyHint=true, and the description adds what data fields are returned, though it does not mention rate limits or pagination. The description adds value beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and data fields, then lists parameters. It is fairly concise but could be more succinct by integrating parameters into the prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description adequately covers purpose, parameters, and output fields, though it lacks discussion of error handling or edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides clear parameter details (format, optionality) that add meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves sleep data over a date range and lists specific metrics, distinguishing it from siblings like get_sleep_samples that return raw samples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for summary sleep data but does not explicitly state when to use this tool versus alternatives like get_sleep_samples or when not to use it.

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-SeriesA
Read-only
Inspect

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'

ParametersJSON Schema
NameRequiredDescriptionDefault
sleep_idYes
sample_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 SummaryA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodYes
activity_typeNo
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint=true, so description adds limited behavioral context beyond that. Description details what data is aggregated but does not discuss any side effects, authorization needs, or data freshness. With annotations already signaling safe read, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences plus parameter list, no redundant information. Front-loaded with the tool's key output, followed by ideal use cases. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 2 parameters and output schema present, description fully explains the period and activity_type parameters, lists all aggregated metrics, and suggests ideal uses. No gaps are apparent for this summary tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description carries full burden. It provides explicit allowed values for 'period' ('7d', '30d', '90d', '180d', '365d') and explains 'activity_type' as optional filter with examples ('RUNNING', 'CYCLING'). This adds meaning beyond the schema's generic string type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states 'Aggregated training statistics over a time period' and lists specific metrics (workouts, duration, distance, weekly overview, intensity distribution, training load). This clearly defines the tool's purpose and distinguishes it from siblings like get_activity_data or get_daily_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides usage scenarios: 'Ideal for training reports, progress analysis, and periodization overview.' This guides when to use, but does not mention when not to use or explicitly contrast with 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_detailGet Workout DetailA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
workout_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 LapsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
workout_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 ListA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
activity_typeNo
prefer_providerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true; description adds context of 'compact overview' which implies it's not full detail. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise and front-loaded, two paragraphs with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description covers all necessary context for a list tool with simple parameters; no gaps noted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, description provides meaningful parameter descriptions (format info, optional filter with examples) that supplement the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists workouts in a date range with specific fields (type, duration, etc.) and distinguishes between sibling tools like 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use this tool first for an overview, and directs to get_workout_detail for single workout details, providing clear usage context.

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 SamplesA
Read-only
Inspect

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'

ParametersJSON Schema
NameRequiredDescriptionDefault
workout_idYes
sample_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

antsal06's avatar
antsal06Apr 2, 2026

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.

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources