Skip to main content
Glama

update_program

Edit a program. items, if given, REPLACES the whole list: call get_program first and send back every item you want to keep (with their ids). Clients already on the program keep their own copy until push_program_to_clients. (confirm-gated: previews until confirm: true)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>",
      "input": "<input>"
    },
    "name": "update_program"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
inputYes
confirmNoMust be true to actually execute. If false/omitted, returns a preview only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=false, so the description carries the behavioral burden and does well: it discloses that items REPLACES the entire list (a destructive replacement, not a merge), that client-side copies stay stale until push_program_to_clients, and that the call is confirm-gated with preview-by-default. It omits what happens to existing items when lengthDays shrinks or what the preview returns.

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 the core action, then the destructive items rule, then the downstream propagation caveat. Dense and largely waste-free, though the confirm-gated parenthetical duplicates the schema's own confirm description.

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 mutation tool with no output schema and only a readOnlyHint annotation, the description supplies the essential replacement, propagation, and confirmation semantics an agent needs to avoid data loss. Residual gaps around resizing/truncation and preview output are minor.

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?

Schema description coverage is only 33% and the object is deeply nested, so more compensation was warranted. The description covers the highest-risk parameter (items replacement and id reuse) and confirm, but says nothing about name, lengthDays, or description, leaving the agent to infer truncation behavior.

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?

"Edit a program" gives a specific verb plus resource that distinguishes it from create_program, archive_program, and get_program in the sibling list. It stops short of naming those siblings explicitly, so the agent still infers the boundary rather than being routed.

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 gives a concrete precondition workflow: call get_program first and send back every item to keep, and it points to push_program_to_clients for propagating to enrolled clients. It does not state when to prefer this over, say, update_workout_plan, but the when-to-use context for the hazardous path is clear.

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.