Skip to main content
Glama

join_crew

Join a friend's Daash crew with an invite code, or start a new crew. Members see each other's chosen name, usual running times, and the day and distance of their easy and long runs for the next two weeks; hard sessions show only as "hard", and nothing else from Garmin is shared.

Args: your_name: What the crew calls the user. code: The invite code, like "DC-7Q4M", to join a friend's crew. start_new_crew: True to start a crew instead of joining one. crew_name: Optional, when starting. Defaults to the user's name, "Bart's crew". usual_times: When the user usually runs, as any of weekday_morning, weekday_afternoon, weekday_evening, weekend_morning, weekend_afternoon, weekend_evening. Runs on the same day are matched by these. goes_to_club_run: Whether the user usually goes to the crew's club run. club_run_day: Optional, when starting: the day of a run the crew already does together every week, e.g. "fri". It shows on everyone's week and is never offered as a match. club_run_time: Its start time, "HH:MM". club_run_km: Its distance in km. club_run_place: Where it starts, a few words.

Input Schema

NameRequiredDescriptionDefault
codeNo
crew_nameNo
your_nameYes
club_run_kmNo
usual_timesNo
club_run_dayNo
club_run_timeNo
club_run_placeNo
start_new_crewNo
goes_to_club_runNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only cover safety profile (non-readOnly, non-destructive, closed world); the description adds substantial context beyond that: the exact privacy contract (members see chosen name, usual times, and easy/long run day and distance for two weeks; hard sessions show only as 'hard'; nothing else from Garmin is shared). It also discloses the invite-code format and the default crew name, which an agent would otherwise have no way to know.

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 then privacy scope, followed by an itemized Args block that stays close to one line per parameter with no filler. The inline enumeration of six usual_times values makes the block dense, but nothing is redundant.

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 10-parameter, conditionally-branched mutation tool, the description covers the mode switch, per-parameter semantics, defaults, and the privacy consequences of the call. An output schema exists, so return values need not be explained here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description must carry the full load and does: every parameter is explained, including the enumerated values for usual_times, the match semantics ('Runs on the same day are matched by these'), and the format hints for club_run_day ('fri') and club_run_time ('HH:MM') and club_run_km (km).

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 ('Join ... or start') and resource (a Daash crew), and immediately defines the data-sharing scope, which distinguishes it cleanly from get_crew, update_crew and leave_crew. An agent can tell what this does without opening the schema.

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 makes the join-vs-create branch explicit: supply 'code' to join a friend's crew, or set start_new_crew=True to create one, and it labels the crew/club_run_* params as 'when starting'. It stops short of naming sibling alternatives (get_crew, leave_crew) or stating preconditions such as already being in a crew, so it is clear context without full routing.

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