Skip to main content
Glama
Intervals.icu MCP Server

Intervals.icu MCP Server

by farhoodlabs

get_activities

Retrieve a list of Intervals.icu activities for the signed-in athlete using optional date range, result limit, and unnamed-activity filter.

Instructions

Get a list of activities for the signed-in athlete from Intervals.icu

Args:
    start_date: Start date in YYYY-MM-DD format (optional, defaults to 30 days ago)
    end_date: End date in YYYY-MM-DD format (optional, defaults to today)
    limit: Maximum number of activities to return (optional, defaults to 10)
    include_unnamed: Whether to include unnamed activities (optional, defaults to False)

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_activities"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
end_dateNo
start_dateNo
include_unnamedNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that results are scoped to the signed-in athlete and gives sensible defaults, and 'Get' implies a read-only operation. It says nothing about ordering, pagination beyond `limit`, or what happens if start_date is after end_date, which are real gaps for a list tool with no annotations.

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 purpose sentence is front-loaded and the Args block is tight and scannable. Some waste exists in restating defaults already present in the schema, but the format details are new information, so the redundancy is limited.

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?

An output schema exists, so return values need no explanation, and all four optional parameters are documented in the description. What keeps it from a 5 is the absence of ordering/pagination guidance and any routing hint relative to `search_activities`.

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 must compensate, and it largely does: each of the four parameters gets a purpose, the date format (YYYY-MM-DD), and its default. It falls short of 5 because it never states the acceptable range or ceiling for `limit`, nor whether the date filter is inclusive.

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 opens with a specific verb and resource: 'Get a list of activities for the signed-in athlete from Intervals.icu'. That is unambiguous about what the tool returns and whose data it returns. It does not, however, differentiate itself from the sibling `search_activities`, which reads as a near-equivalent listing tool.

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?

There is no guidance on when to use this tool rather than `search_activities` or `get_activity_details`. The defaults (30 days back, 10 results) hint at a recent-activity lookup, but the agent must infer that; no exclusions or alternative routing are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.