Skip to main content
Glama

write_measurement

Destructive

Log or update a day's body measurements like waist, chest, and body fat; null removes a value, and custom kinds can be added.

Instructions

Log body measurements for a day (default today; one check-in per day, so values given here join or replace that day's, and null removes one). Lengths in unit (default the one the app shows: cm, or in for a lb profile), stored in cm as the app does; bodyFat in %. custom takes the profile's own kinds by name, and a new name creates that kind. Kinds: neck, shoulders, chest, waist, hips, abdomen, upperArmLeft, upperArmRight, forearmLeft, forearmRight, wristLeft, wristRight, thighLeft, thighRight, calfLeft, calfRight, ankleLeft, ankleRight, bodyFat.

Input Schema

NameRequiredDescriptionDefault
dateNoDate YYYY-MM-DD (the profile’s local calendar day)
unitNo
customNoOwn kinds by name, e.g. { "Glutes": 98 }
valuesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the merge-or-replace-per-day semantics, that a null value removes a measurement (explaining the destructiveHint), unit defaulting and normalization to cm, and that a new custom name creates a kind. This is exactly the kind of detail annotations cannot convey.

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-loads the core operation and packs the important caveats (default date, one-per-day, null removal) early. The trailing enumeration of kinds is dense but necessary; sentences are long but not padded.

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 nested objects, four parameters, and no output schema, the description covers the essential behavioral surface: date default, unit handling, custom kinds, and value kinds. It stops short of stating permissions or how the write relates to read_measurements/delete_measurement.

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?

Schema coverage is 50%, and the description compensates by explaining unit defaults (app unit; cm, or in for a lb profile), storage in cm, bodyFat being a percentage, and the custom-name-to-kind mapping. It could still clarify the required-ness of date and the relationship between values and custom, but it adds real meaning.

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?

States a specific verb and resource ('Log body measurements') plus the scope ('for a day'), which cleanly separates it from siblings like read_measurements, write_bodyweight, and delete_measurement. An agent can identify the operation without opening the schema.

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?

Gives clear operating context: defaults to today and one check-in per day, so a call merges into or replaces the day's entry. It never names sibling alternatives (e.g. write_bodyweight for weight-only), so routing guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.