Skip to main content
Glama

Povver — Strength Training

Read Periodization

read_periodization
Read-only

The periodization plan. view: current (auto-generated or authored: phases, policy, status, next_session) · preview (plan: validates a policy and shows what it would do; writes nothing). Plan shape and rules: resource povver://guide/periodization. Change it with manage_periodization.

Input Schema

NameRequiredDescriptionDefault
planNoThe plan exactly as manage_periodization(set) takes it.
viewYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / plan / additionalProperties
      Previous value: -falseNew value: +{}
    • changedInput schema / properties / plan / description
      Previous value: -"Policy only: no exercises or sets. Shape and rules: povver://guide/periodization."New value: +"The plan exactly as manage_periodization(set) takes it."
    • removedInput schema / properties / plan / properties / goal
      Removed value: -{
      -  "enum": [
      -    "hypertrophy",
      -    "strength",
      -    "powerbuilding",
      -    "muscular_endurance"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / plan / properties / planned_weeks
      Removed value: -{
      -  "maximum": 16,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / plan / properties / policy
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "deload_schedule": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "every_n_weeks": {
      -          "maximum": 8,
      -          "minimum": 3,
      -          "type": "integer"
      -        },
      -        "hold_intensity": {
      -          "const": true,
      -          "type": "boolean"
      -        },
      -        "volume_cut_pct": {
      -          "maximum": 60,
      -          "minimum": 30,
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "every_n_weeks",
      -        "volume_cut_pct",
      -        "hold_intensity"
      -      ],
      -      "type": "object"
      -    },
      -    "per_muscle_overrides": {
      -      "additionalProperties": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "progression_rule": {
      -            "enum": [
      -              "double_progression",
      -              "linear_load",
      -              "rir_autoreg"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "propertyNames": {
      -        "maxLength": 40,
      -        "type": "string"
      -      },
      -      "type": "object"
      -    },
      -    "phase_schedule": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "name": {
      -            "maxLength": 60,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "volume_modifier": {
      -            "maximum": 1.5,
      -            "minimum": 0.3,
      -            "type": "number"
      -          },
      -          "weeks": {
      -            "maximum": 12,
      -            "minimum": 1,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "name",
      -          "weeks"
      -        ],
      -        "type": "object"
      -      },
      -      "maxItems": 12,
      -      "minItems": 1,
      -      "type": "array"
      -    },
      -    "progression_params": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "increment_kg": {
      -          "maximum": 5,
      -          "type": "number"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "progression_rule": {
      -      "enum": [
      -        "double_progression",
      -        "linear_load",
      -        "rir_autoreg"
      -      ],
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "phase_schedule",
      -    "progression_rule",
      -    "deload_schedule"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / properties / plan / required
      Removed value: -[
      -  "goal",
      -  "planned_weeks",
      -  "policy"
      -]
  2. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, lowering the burden. The description still adds value by clarifying that preview 'validates a policy and shows what it would do; writes nothing,' and by listing what current returns (phases, policy, status, next_session). It stops short of describing error or empty-state behavior.

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?

Highly front-loaded and dense, using separators to pack view semantics, the resource pointer, and the mutation sibling into a few lines with no filler. The telegraphic fragments are efficient, if slightly terse, but every element earns its place.

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 two-parameter read tool with no output schema, the description covers the views, what current returns, the non-mutating nature of preview, a resource pointer for plan shape/rules, and the change path via manage_periodization. Adequate, though the nested plan object's expected shape is delegated entirely to the external resource.

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?

With 50% schema coverage, the description compensates: the 'view' enum values are fully explained in prose, and it links the 'plan' object to the preview view and to manage_periodization(set). This adds meaning beyond the bare enum and the schema's single plan description.

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 ('the periodization plan') and enumerates the two views with their contents, so an agent knows this reads the plan in one of two modes. It names the sibling that mutates it (manage_periodization), aiding differentiation, though the read verb itself is carried mainly by the name 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 Guidelines4/5

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

It clearly distinguishes when to use each view: 'current' for the existing auto-generated or authored plan, 'preview' for validating a policy without writing. It also routes write operations to manage_periodization. No explicit 'when not to use' statement, but the view conditions and the sibling hand-off are actionable.

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.