Skip to main content
Glama

list_activities

Read-only

List the athlete's recent COMPLETED activities (actual rides/runs/etc. synced from every connected provider — Strava, intervals.icu and the rest — deduplicated at sync) with id, date, sport, name, duration, distance, TSS, IF, NP, avg/max power & HR, kJ, elevation, meaningful-effort count (sustained work efforts, not raw segments), and any existing notes. Use this to find an activity id before writing a summary with set_activity_notes, and to base that summary on the real numbers. Defaults to the 30 most RECENT activities — a row count, not a date window, so for a three-a-week athlete that is ten weeks and for a daily one it is a month. Whenever the answer depends on how much time a stretch covers — a ramp, a stall, consistency, a block review — pass explicit from/to and read the dates you get back. On a row, coachNote is the VERDICT line of your own earlier review of that session (an excerpt — coachNoteChars is the full length; get_activity returns it whole) and note is the athlete's words, cut at 300 characters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
limitNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, non-destructive, closed-world), and the description adds substantial behavior beyond that: results are synced-provider data deduplicated at sync, the default limit is a row count rather than a date window, and row fields are truncated (coachNote is an excerpt with coachNoteChars giving full length, note is cut at 300 chars). This is exactly the extra context annotations cannot carry.

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?

Front-loaded with purpose and return fields, then usage rules, then row-level caveats — a logical order with no filler sentences. It is dense and long, with several nested parentheticals, so it is efficient but not maximally tight.

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 no output schema and 0% schema coverage, the description carries the full burden and does so: it documents returned fields, default window behavior, and the truncation semantics of coachNote/note. Nothing an agent needs to call this correctly or interpret the response 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?

Schema description coverage is 0%, so the description must compensate, and it does for all three: limit semantics (30 most recent, a row count whose real span varies by athlete frequency) and from/to usage (pass explicitly for any time-coverage question). It adds meaning the bare schema lacks, though it never restates the from/to date format, relying on the schema pattern for that.

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?

States a specific verb (List) and resource (athlete's recent COMPLETED activities) and enumerates the returned fields (id, date, sport, duration, TSS, IF, NP, power/HR, etc.). It also distinguishes itself from get_activity by noting that get_activity returns coachNote whole, so an agent can separate the two without opening schemas.

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?

Gives explicit when-to-use ('find an activity id before writing a summary with set_activity_notes'), names the sibling that returns the full coachNote, and adds a concrete rule: pass explicit from/to whenever the answer depends on how much time a stretch covers. Conditions and alternatives are spelled out rather than inferred.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources