Skip to main content
Glama

Almost Fire

Correct a set

edit_set
Idempotent

Use this when the person corrects a set they already logged. Give its setId from get_today or get_session and only the values they change; null keeps the rest. Comes back with an Undo. Do not use to log a new set; use log_set.

Input Schema

NameRequiredDescriptionDefault
rirNo
loadNo
repsNo
setIdYes
loadUnitNo
idempotencyKeyYesA new random id for this change (a UUID). Send the same one again only to retry this exact change.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (destructiveHint=false, idempotentHint=true, readOnlyHint=false), and the description adds genuinely new behavioral facts: it is a partial update where null preserves existing values, and the response includes an Undo path. It stops short of describing what happens on an invalid setId or stale idempotencyKey, which is the remaining behavioral gap.

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

Conciseness5/5

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

Four short clauses, front-loaded with the trigger, followed by target sourcing, update semantics, and the negative case. No sentence is redundant and nothing important is buried at the end.

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?

With an output schema present, the description is not obligated to explain return values, yet it still notes the Undo. Given six parameters, one enum, and low schema coverage, the only real omissions are enum semantics for loadUnit and validation behavior for setId — minor for a single-record edit tool.

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 coverage is only 17%, so the description carries real weight and does add meaning: 'only the values they change; null keeps the rest' explains the nullable load/reps/rir/loadUnit fields and 'setId from get_today or get_session' explains where the identifier comes from. It says nothing about the loadUnit enum (kg/lb/label) or the rir bounds, leaving two parameters to the bare schema.

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?

The description states a specific action on a specific resource ('corrects a set they already logged') and immediately contrasts it with log_set, so the agent can separate the two without inspecting schemas. It also points at get_today/get_session as the source of the setId, closing the loop on how the target is identified.

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

Usage Guidelines5/5

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

It gives an explicit trigger ('when the person corrects a set they already logged'), an explicit exclusion ('Do not use to log a new set') with the named alternative log_set, and the prerequisite for obtaining setId. This is the full when/when-not/alternative triad.

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