Skip to main content
Glama

ShotPulled

Update a machine

update_machine
Idempotent

Correct a registered machine — its name, control type, prep type and style, basket, boiler, accessories or notes. Only the keys you send in fields change; send null to clear an optional field (an empty string also clears a text field, but not a number or a closed list). Required fields can be changed but not cleared. fields may be omitted when only reason is sent. prep_style decides whether shots on this machine are diagnosed at all: only "espresso" is. Programs are edited with register_program, the built-in grinder link is not editable here, and archiving is set_equipment_archived.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsNo
reasonNoOptional note, appended to this record's own notes as an ordinary line. Omit it and nothing is written.
machine_idYesThis account's own machine number, from list_machines. Never guess one.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
messageYes
machine_idYes
changed_keysYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior1/5

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

The annotations declare idempotentHint true, but the reason field is described as 'appended to this record's own notes as an ordinary line,' which means repeated identical calls with the same reason are not idempotent. This is an annotation contradiction, so the score must be 1 despite the otherwise strong behavioral detail.

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?

The text is front-loaded and information-dense, with nearly every phrase contributing real value. It loses a point because several distinct rules are crammed into long sentences rather than a more scannable structure.

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?

The practical calling contract is almost fully specified: editable fields, clearing semantics, optional reason behavior, prep_style consequences, and sibling routing are all covered. It falls short only because the 'appended' reason behavior is left unreconciled with the idempotentHint annotation.

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?

The description adds material semantics beyond the schema: partial updates, null-to-clear behavior, empty-string handling, required-field clearing rules, and prep_style's effect on diagnosis. It does not elaborate every nested property, but the schema already covers most properties and the description compensates for the remaining gap well.

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 opens with a specific verb and resource ('Correct a registered machine') and enumerates the editable fields. It also names adjacent siblings such as register_program and set_equipment_archived, and explicitly says the grinder link is not editable here, so the tool's purpose is unambiguous.

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 concrete operational guidance: only sent keys change, null and empty-string clearing semantics, required-field constraints, and when fields may be omitted. It also routes programs to register_program, archiving to set_equipment_archived, and calls out the non-editable grinder link.

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