Skip to main content
Glama

Update a loyalty account

update_loyalty_account
DestructiveIdempotent

Update fields on an existing loyalty account by id. Partial update: only the fields you provide are changed; omitted fields keep their current value. If unfamiliar with TripLedger semantics, call get_tripledger_guide first. Use null to clear accountNumber, nickname, or status. Account numbers are partially masked in all output; never write a masked value back.

Input Schema

NameRequiredDescriptionDefault
idYesID of the loyalty account to update.
statusNo
nicknameNo
personIdNo
programIdNo
accountNumberNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, yet the description adds real context beyond them: partial-update semantics (omitted fields preserved), null as the clearing mechanism, and a critical warning that output is masked so a masked value must never be written back. That last point is behavioral information an agent could not infer from any structured field.

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 tight sentences, front-loaded with the core action and partial-update rule, followed by the guide pointer, null semantics, and the masking warning. No filler or restated name/title.

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 destructive mutation with no output schema, the definition covers the essentials: partial semantics, how to clear values, and the masking pitfall. It omits what changing personId/programId implies and any validation or failure behavior, which would be the remaining gaps.

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 only 17% (just id documented), so the description must compensate. It does so for three of the five optional fields by explaining null clears accountNumber, nickname, and status, and it establishes the partial-update rule for all fields. personId and programId still get no semantic explanation, keeping it from a 5.

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?

States a specific verb and resource ('Update fields on an existing loyalty account by id') and clarifies it is a partial update, which distinguishes it from create_loyalty_account and delete_loyalty_account. It does not name a sibling explicitly, so it lands just short of a 5.

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 usage conditions: call get_tripledger_guide first if unfamiliar with semantics, and use null specifically to clear accountNumber, nickname, or status. Lacks explicit exclusions (e.g., when to prefer delete_loyalty_account), but the operative guidance is concrete.

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