Skip to main content
Glama
jakub-m-arch

Intervals.icu MCP Server

by jakub-m-arch

Search activities

search_activities
Read-onlyIdempotent

Find specific training sessions by searching activity names or tags like #race, regardless of date.

Instructions

Search all activities by name (case-insensitive substring) or by tag (start the query with #, e.g. "#race"). Use it to find specific sessions regardless of date.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 20.
queryYesText in the activity name, or "#tag" for an exact tag.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
activitiesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.0

TDQS

A4.5/5.0
Behavior4/5

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

The description discloses useful behavioral details not fully captured by annotations: case-insensitive substring matching, the '#' tag prefix convention, and the fact that search is not date-dependent. The readOnlyHint/idempotentHint annotations already cover safety, so the description adds meaningful behavioral context without contradiction.

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 focused sentences with no filler. The first sentence defines the core behavior and query syntax; the second gives the intended use case. Information is front-loaded and every sentence earns its place.

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?

For a simple read-only search tool with a complete input schema and an output schema, the description provides everything an agent needs: search modes, syntax examples, case sensitivity, and the intended scenario. No important operational detail is missing.

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 already covers both parameters completely, so the baseline is 3. The description adds value by clarifying that name matching is case-insensitive substring and by providing a concrete tag example ('#race'), enriching the query parameter semantics 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 states a specific action ('Search all activities') and specifies two distinct search modes (name substring or tag prefix). It also clarifies that it searches by name/tag rather than date, which differentiates it from siblings like list_activities or get_activity.

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 gives a clear use case: 'Use it to find specific sessions regardless of date.' This provides context for when to invoke it, though it does not explicitly name alternatives or state when not to use it. Some sibling differentiation is implicit in the name/tag search behavior.

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