Skip to main content
Glama

Otis

Save a client

client_save
DestructiveIdempotent

Create or replace client details. Collect country, region and business/consumer status for invoice tax review; never infer these from currency.

Input Schema

NameRequiredDescriptionDefault
nameYes
emailNo
regionNo
countryNo
tax_idsNo
client_idNo
request_idYesStable ID for this action; reuse only for identical retries.
business_idNoOmit for your own business; use businesses_list for shared business IDs.
postal_codeNo
tax_evidenceNo
customer_typeNounknown
billing_addressNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true; the description's 'replace' wording is consistent with that. It does not disclose what a replace overwrites (e.g., whether omitted fields such as tax_ids or billing_address are cleared) or that request_id drives retry safety, which is where the annotation bar is not met.

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?

Two tight sentences: the action is front-loaded, then the data-collection rule. No filler, though the second sentence packs two ideas (what to collect and what never to infer) into one clause.

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?

Given a destructive mutation with no output schema and low schema coverage, the description covers purpose and one critical domain rule but omits the create-vs-update mechanics that an agent needs before writing. Incomplete for a 12-parameter destructive tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17% out of 12 parameters, so the description must compensate and does not. It adds real meaning for country, region and customer_type (tax-review purpose, no currency inference) but leaves client_id, tax_ids, tax_evidence, billing_address, postal_code and email entirely unexplained.

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+resource pair ('Create or replace client details') that an agent can distinguish from clients_list or business_set. 'Create or replace' hints at upsert semantics but doesn't say which field selects the mode.

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

Usage Guidelines3/5

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

Implies the context (invoice tax review) and gives one negative rule ('never infer these from currency'), but names no alternatives and gives no condition for creating a new client vs. updating an existing one via client_id.

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.