Skip to main content
Glama

See a training program

get_program
Read-only

One training program with its weeks, days and exercises.

Input Schema

NameRequiredDescriptionDefault
programIdYesId from list_programs or list_student_programs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered and the description doesn't need to restate it. What it does add is the shape of the result — that weeks, days and exercises come back nested — which is valuable given there is no output schema. It stops short of noting depth limits, ordering, or behavior for an id that doesn't exist.

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?

A single short sentence with no filler, and the payload description (weeks/days/exercises) is front-loaded. It is a noun phrase rather than a verb-led statement, which slightly weakens the framing but costs nothing in length.

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?

For a read-only, single-parameter fetch with full annotation coverage and no output schema, the description is nearly sufficient: it establishes the resource and the nested return structure an agent will receive. The remaining gap is the missing cue that list_programs must be called first to obtain an id, which the schema covers only implicitly.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage, and the schema already explains that programId comes from list_programs or list_student_programs. The description adds no further meaning about the identifier, so baseline 3 applies.

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 names a specific resource ('One training program') and enumerates its embedded contents ('weeks, days and exercises'), which tells an agent exactly what a retrieval yields. It does not explicitly distinguish itself from list_programs or list_student_programs, so sibling differentiation is left to the schema's parameter note rather than the prose.

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?

Using 'One ... program' implies the singular-fetch counterpart to the list tools, but the description never states when to use this instead of list_programs or list_student_programs, nor any preconditions such as needing a valid id. The only routing hint lives in the schema's programId description, not the tool description itself.

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