Skip to main content
Glama

get_available_plans

Retrieve available training plans for a user, including personal, trainer, and gym-template plans; set own_only to filter for the user's own plans.

Instructions

Training plans in the app with planId: the user's own (USER_TRAINING_PLAN), from trainers and gym templates. own_only=True returns only the user's own plans. Sets here can show the values last trained; get_plan returns the stored ones.

Input Schema

NameRequiredDescriptionDefault
own_onlyNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It does disclose a non-obvious trait: plans listed here can surface the values last trained, unlike get_plan's stored values. It does not address permissions, whether plans are user-editable, or how the default (own_only=false) changes result breadth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences cover a lot of ground with little waste, but the opening fragment ('Training plans in the app with planId: ...') is telegraphic and the semicolon-joined clause about last-trained values is easy to miss. Front-loading the scope and the parameter meaning is good; phrasing could be cleaner.

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?

This is a low-complexity, one-parameter read; an output schema exists so return values need no explanation. The description covers what the tool returns, the parameter's effect, and how it differs from get_plan. Only minor gaps remain around sibling selection and default behavior.

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 coverage is 0% and the single parameter is undocumented in the schema, but the description fully defines it: True restricts results to the user's own plans, and by contrast the default includes trainer and gym-template plans. That is nearly the complete semantic of the one parameter.

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 states the resource (training plans with planId) and its scope: the user's own USER_TRAINING_PLAN plus plans from trainers and gym templates. It also explicitly contrasts with the sibling get_plan, so an agent can separate the two. The verb is only implied ('get'), but the resource and scope are specific enough to act on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the single switch ('own_only=True returns only the user's own plans') and hints at a distinction from get_plan via the last sentence. It never states when to call this instead of get_plan, get_recent_workouts, or get_coach_context, so routing still requires inference.

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