Nolio MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nolio MCP Servershow my planned workouts for this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nolio MCP Server
An MCP server that gives Claude read-only access to your Nolio training data — planned workouts, completed sessions, metrics, records, and notes.
Prerequisites
Python 3.11+
uv (recommended) or pip
A Nolio API application (client ID + secret) — register at https://www.nolio.io/api/register/
Related MCP server: Intervals.icu MCP Server
Quick Start
1. Clone and install
git clone <repo-url> nolio-mcp
cd nolio-mcp
uv sync2. Configure client credentials
Create a .env file with your Nolio client credentials:
cp .env.example .env
# Edit .env and fill in NOLIO_CLIENT_ID and NOLIO_CLIENT_SECRET3. Authenticate with Nolio
Run the built-in OAuth helper to obtain your access and refresh tokens:
uv run nolio-authThis opens your browser, you log into Nolio, and all credentials (client ID, client secret, access token, refresh token) are saved to ~/nolio-credentials.json.
Important: In your Nolio app settings, set the redirect URI to
http://localhost:9876/callback.
4. Add to Claude Code
Since credentials are stored in ~/nolio-credentials.json, you don't need to pass environment variables:
claude mcp add nolio -- uv run --directory /path/to/nolio-mcp mcp run src/nolio_mcp/server.pyYou can also re-authenticate at any time from within Claude Code by running /mcp and selecting the authenticate command on the nolio server, or directly via /mcp__nolio__authenticate.
4b. Or add to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nolio": {
"command": "uv",
"args": ["run", "--directory", "/path/to/nolio-mcp", "mcp", "run", "src/nolio_mcp/server.py"]
}
}
}No env block needed — the server reads credentials from ~/nolio-credentials.json.
Available Tools
Tool | Description |
| Get your Nolio user profile (id, name) |
| Retrieve planned workouts from your coach's program |
| Retrieve completed/logged workouts |
| Get time-series data for a workout (HR, pace, power, etc.) |
| Retrieve notes (injury, availability, illness, rest, goals) |
| Get a specific metric (sleep, weight, VO2max, HR, etc.) |
| Get user metadata (goals, weight history, HR, FTP) |
| Get personal records (power, HR, pace, cadence) |
Most tools support optional from_date, to_date (YYYY-MM-DD), and limit parameters.
Available Prompts (Commands)
Prompt | Description |
| Guides you through the OAuth setup to obtain/refresh Nolio API tokens |
In Claude Code, run /mcp → select nolio → authenticate, or use /mcp__nolio__authenticate directly.
Development
Testing with the MCP Inspector
uv run mcp dev src/nolio_mcp/server.pyRunning unit tests
uv run pytest tests/test_client.pyRunning integration tests
Integration tests hit the real Nolio API. Set up credentials first:
cp .test-env.example .test-env
# Fill in .test-env with your Nolio dev credentials
uv run pytest tests/test_integration.py -m integrationAPI Reference
Full Nolio API documentation: https://github.com/NolioApp/NolioAPI-Documentation/wiki
Available Tools
8 toolsget_metricsA
Get a specific metric entry by its ID. Requires special API authorization.
Args: id: Metric entry ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure. It explicitly notes an authorization requirement, which is a useful trait. However, it does not describe the response format, error behavior, or whether the operation is read-only (implied but not stated).
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: two lines of functional text plus one line for the parameter. Every sentence adds value, and the key action is front-loaded. 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?
Given the tool's simplicity (one parameter, output schema present), the description adequately covers the core purpose and authorization. However, it does not contextualize what a 'metric entry' is relative to sibling tools like get_records or get_user_metadata, which could cause confusion.
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 coverage is 0%, but the description's Args section explains that the 'id' parameter is a metric entry ID. This adds meaning beyond the schema's bare integer type and title. For a single parameter, this is sufficient compensation.
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 a specific metric entry by ID, which is a specific verb and resource. It helps distinguish from sibling tools that retrieve other resources (like notes, workouts, records), but does not elaborate on what a metric entry is.
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 mentions 'Requires special API authorization,' which provides context for when to use (only with appropriate permissions). However, it does not specify when to avoid this tool or compare it to alternatives like get_records or get_workouts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notesA
Retrieve notes (injury, availability, illness, rest, etc.).
Args: from_date: Start date filter (YYYY-MM-DD) to_date: End date filter (YYYY-MM-DD) limit: Max results to return (default 30) note_type: Filter by type: blessure, dispo, inconfort, goal, indispo, malade, menstruel, repos id: Specific note ID to retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| to_date | No | ||
| from_date | No | ||
| note_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only implies read-only behavior through 'Retrieve', but does not explicitly state that it doesn't modify data, nor does it mention authentication needs, rate limits, or any side effects.
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 a brief purpose line followed by a parameter list. It's front-loaded and each sentence is useful. Minor improvement could be more structured formatting, but overall efficient.
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 existence of an output schema (not shown), the description doesn't need to detail return values. However, it lacks information on ordering, date range inclusivity, and behavior when 'id' is combined with other filters. Adequate but with clear 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?
With 0% schema description coverage, the description adds significant value: it lists enum values for 'note_type', specifies date format YYYY-MM-DD, and gives a default for 'limit'. This meaningfully augments 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 'Retrieve notes' with a parenthetical listing of note types, identifying the specific verb and resource. The sibling tools (e.g., get_metrics, get_workouts) are distinct, so this tool is well-differentiated.
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 sets clear context: it's for retrieving notes with optional filters. It doesn't explicitly state when not to use it or mention alternatives, but the sibling tools cover different resources, so usage is implied correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planned_workoutsB
Retrieve planned workouts from your coach's training program.
Args: from_date: Start date filter (YYYY-MM-DD) to_date: End date filter (YYYY-MM-DD) limit: Max results to return (default 30) id: Specific planned workout ID to retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| to_date | No | ||
| from_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It only indicates a read operation and lists parameters, but omits details like authentication, rate limits, default ordering, error handling, or pagination behavior beyond a limit. Minimal transparency.
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 a front-loaded purpose sentence and a structured parameter list. No unnecessary information. Slight inefficiency in repeating 'Args' header but overall efficient.
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 tool has 4 optional parameters and an output schema. The description adequately covers parameter semantics but lacks context on default behavior when no filters are provided, ordering of results, and empty result handling. Adequate but not comprehensive.
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 adds value by explaining each parameter's role and format (e.g., 'YYYY-MM-DD' for dates, 'Max results to return'). However, explanations are terse and could be more precise (e.g., date ranges inclusive/exclusive, interaction between parameters).
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 planned workouts from the coach's training program, using a specific verb and resource. It distinguishes from sibling tools like get_workouts (likely for completed workouts) by specifying 'planned' and 'coach's program'.
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 vs alternatives. It does not mention scenarios where get_workouts or other tools would be more appropriate, nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileA
Get the authenticated user's Nolio profile (id, name).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only mentions what is returned, omitting details like authentication requirements, caching, or side effects. For a read operation, this is minimally adequate.
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 a single concise sentence that front-loads the action and result. No redundant 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 tool's simplicity (no params, output schema present), the description is nearly complete. It identifies the resource, scope (authenticated user), and return fields. Minor omission: it could state that no input is required.
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 zero parameters and 100% schema coverage, the description need not add parameter details. It does not, but the baseline of 4 is appropriate as the schema already fully specifies the input.
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 the authenticated user's Nolio profile, specifying the exact returned fields (id, name). It effectively distinguishes from sibling tools like get_metrics or get_notes, which target different 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 fetching the current user's profile but provides no explicit guidance on when to use or avoid this tool, nor alternatives. It relies on context from the sibling tool list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordsA
Get personal records (power, HR, pace, etc.).
Args: cat: Record category — ppr (power), phrr (HR), par (pace), ptr (time), pvar (speed), pcadr (cadence) record_type: Either 'time' or 'distance' from_date: Start date filter (YYYY-MM-DD) to_date: End date filter (YYYY-MM-DD) sports: Comma-separated sport IDs (e.g. '9,23') items: Comma-separated durations in seconds or distances in meters
| Name | Required | Description | Default |
|---|---|---|---|
| cat | Yes | ||
| items | No | ||
| sports | No | ||
| to_date | No | ||
| from_date | No | ||
| record_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden for disclosing behavior. It implies a read-only operation but doesn't explicitly state it. No mention of side effects, authorization needs, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise summary followed by a well-organized bulleted list of 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 that an output schema exists, return value explanation is unnecessary. The description adequately covers the main parameters and purpose. Minor gap: not stating that records are for the authenticated user.
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 compensates well by detailing each parameter, especially 'cat' with its abbreviations and 'items' with units. However, date format is not specified and sports IDs meaning could be expanded.
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 'Get personal records' and lists specific categories (power, HR, pace, etc.), differentiating it from sibling tools that deal with other data like metrics, notes, or workouts.
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 explicit guidance on when to use this tool vs alternatives, but the context of 'personal records' and sibling tool names implies distinct usage. Some insight on parameter selection is provided but no when-to-use or when-not-to-use statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_metadataC
Get user metadata including goals, weight history, HR, sleep, aerobic speed, FTP. Requires special API authorization.
Args: from_date: Start date filter (YYYY-MM-DD) to_date: End date filter (YYYY-MM-DD) limit: Max results to return (default 15)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_date | No | ||
| from_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It mentions special authorization, but lacks detail on how to obtain it, error responses, rate limits, or whether the operation is read-only (likely, but not stated). The return format is not described, though an output schema exists.
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 short, with two sentences for purpose and a bulleted Args section. It is front-loaded with key information. No irrelevant content, but the Args list could be integrated into the prose slightly more smoothly.
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 an output schema present, the description does not need to explain return values. However, for a tool with no required parameters and optional date filters, the description misses details like whether the user must have specific roles, how authorization is checked, and what the default behavior is (e.g., returns all data if no dates provided). It is minimally adequate.
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 parameter descriptions in the tool text are essential. They provide basic semantics: from_date and to_date are filters with YYYY-MM-DD format, limit sets max results. However, they don't clarify if dates are inclusive/exclusive, or the behavior when omitted (the schema shows defaults of null, which suggests no filtering for dates). This adds some value but not complete clarity.
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 'Get user metadata' and lists specific data types included (goals, weight history, HR, sleep, aerobic speed, FTP). This distinguishes it somewhat from sibling tools like get_metrics or get_workouts, but could be more precise about the scope of 'metadata'.
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 only usage guidance is 'Requires special API authorization', which hints at a prerequisite. It does not provide when to use this tool versus alternatives (e.g., get_metrics), nor does it specify conditions when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workoutsA
Retrieve completed/logged workouts.
Args: from_date: Start date filter (YYYY-MM-DD) to_date: End date filter (YYYY-MM-DD) limit: Max results to return (default 30) id: Specific workout ID to retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| to_date | No | ||
| from_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It does not disclose read-only nature, authentication needs, or side effects. The term 'completed/logged' suggests historical data, but behavioral traits are minimally addressed.
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 a clear 'Args' section. Every sentence is useful; no redundancy. The structure is front-loaded with purpose. Slightly formal but appropriate.
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 need not be detailed. However, the description omits pagination, ordering, or result format context. With 4 parameters and simple filtering, it's adequate but not rich.
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 compensates by explaining each parameter (from_date, to_date, limit, id) with format and defaults. This adds significant value beyond the raw 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 'Retrieve completed/logged workouts', which is a specific verb-resource combination. Among siblings like get_metrics and get_notes, it unambiguously identifies the target.
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 explicit guidance on when to use this tool versus alternatives like get_planned_workouts. The name implies completed workouts, but usage context is only implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workout_streamsA
Get detailed time-series data for a specific workout (HR, pace, power, cadence, altitude).
Args: id: Workout ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states functional behavior (returns time-series data). Does not disclose if read-only, side effects, auth needs, or rate limits. Minimal transparency.
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-line description: a clear summary and an args list. No unnecessary words; front-loaded key info.
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?
Adequate for a single-parameter tool with output schema. Describes data types included, but lacks usage context, behavioral notes, and does not fully compensate for missing annotations.
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 no description for the 'id' parameter (0% coverage). The description explicitly states 'id: Workout ID', adding essential meaning beyond the schema. Could be improved with format or example.
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 the verb 'Get' and resource 'detailed time-series data for a specific workout' with examples (HR, pace, power, cadence, altitude). Distinguishes from sibling 'get_workouts' which likely returns summary 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?
No guidance on when to use this tool vs alternatives like 'get_workouts' or other siblings. Doesn't mention prerequisites or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.1.0- First observed
get_metrics - First observed
get_notes - First observed
get_planned_workouts - First observed
get_profile - First observed
get_records - First observed
get_user_metadata - First observed
get_workout_streams - First observed
get_workouts
TDQS
Scored across 8 tools
Each tool targets a distinct entity (metrics, notes, planned workouts, profile, records, user metadata, workouts, workout streams) with no overlap. Descriptions clearly differentiate their purposes.
All tools follow a consistent 'get_<noun>' pattern using snake_case, making it easy to predict tool names and understand their actions.
8 tools is a well-scoped set for a personal fitness data server, covering key data retrieval needs without being excessive or insufficient.
The tool set provides comprehensive read access to the platform's data (metrics, notes, workouts, profile, records, metadata, streams). However, it lacks any creation, update, or deletion tools, which may be a gap for agents needing to modify data.
Maintenance
Related MCP Connectors
- JotiOAuthcom.kompetic
Read your workouts, history, and stats; create and schedule new workouts. Writes are additive only.
Read-only access to your PumpX workout log: sessions, lift history, PRs, routines, measurements.
Query workouts, browse exercises, and explore fitness data from BearTrail
- SimmaOAuthcom.getsimma
Your swim, run and ride training, explained. For coaches and athletes, computed from Garmin data.
1
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with Intervals.icu data, including activities, wellness, and calendar events, via natural language.1018 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProvides access to the Intervals.icu API for interacting with training data, activities, events, and wellness information.12 npm7GPL 3.0
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to your Nike Run Club running activities, including listing runs and retrieving detailed metrics like distance, pace, and heart rate.-
- AlicenseNot gradedqualityCmaintenanceEnables triathlon coaches and athletes to interact with Garmin Connect, including retrieving health/activity data, building and uploading structured workouts (cycling, running, swimming, brick), and accessing coaching analytics like readiness, load, and performance trends.MIT