Skip to main content
Glama
Intervals.icu MCP Server

Intervals.icu MCP Server

by farhoodlabs

search_activities

Search an athlete's activities by name or keyword to locate matching workouts and training sessions.

Instructions

Search the athlete's activities by name/keyword.

Args:
    query: Search text matched against activity name/description (required).
    limit: Maximum number of results to return (default 20).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "search_activities"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It implies a read-only lookup but never says so, and it discloses nothing about matching behavior, result ordering, pagination, or whether the search is scoped to a date range or the whole history. An output schema exists, so return values need not be explained, but the search semantics remain opaque.

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?

One sentence of purpose followed by a compact Args block, front-loaded and free of filler. The docstring scaffold is slightly heavier than needed for two parameters but wastes no explanation.

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

Completeness2/5

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

For a tool with zero annotation coverage in a family containing get_activities, the definition leaves the key decision (search vs. list) unresolved and says nothing about safety profile or result behavior. Output schema covers return shape, but the usage gap is a real omission.

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 supply the meaning, and it does for both parameters: query is text matched against activity name/description and is required; limit caps result count with a stated default of 20. Missing only matching semantics (exact vs partial) and any upper bound on limit.

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?

States a specific verb and resource: "Search the athlete's activities by name/keyword." That is clear enough to act on, but it never distinguishes itself from the sibling get_activities, so an agent must infer which one is the search-oriented variant.

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 instead of get_activities, no prerequisites (auth scope, athlete context), and no note about whether matching is substring, fuzzy, or case-sensitive. The only cue is the word "Search" in the name.

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