Skip to main content
Glama

Save or Update Delivery Address

address.save

Save a customer delivery shipping address mapped to the active region in ~/.polopan/region.json.

Matches Flutter app (newapp) address schema: firstName, lastName, address1, address2, city, province, zip, country, phone, email, type.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoOptional existing address ID to update
zipYesPostal code / Zip code / PIN code
cityYesCity / Town
typeNoAddress label/type: 'Home', 'Work', or 'Other'Home
emailNoCustomer delivery notification email address
phoneNoRecipient contact phone number with country dialing code
countryNoDestination country code or natural name. Defaults to active region country.
address1YesStreet address, house/flat/building name
address2NoApartment, suite, unit, landmark, or area
lastNameNoRecipient last name
provinceNoState, Province, or Governorate
firstNameYesRecipient first name
is_defaultNoSet this address as default for the country (default true)
storage_modeNoStorage destination: 'local' (writes to ~/.polopan/region.json) or 'stateless' (returns for chat context without disk write). Defaults to 'stateless' in cloud-hosted environments.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior4/5

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

Annotations establish it is a non-destructive write; the description adds real value by disclosing the persistence target (~/.polopan/region.json), the region-mapping behavior, and schema parity with the Flutter app. It stops short of explaining update-vs-create conflict semantics or what happens to pre-existing addresses.

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-loaded with the core purpose in one sentence, followed by a short schema-parity note. The second sentence is somewhat redundant with the schema's field list, but overall it is tight and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter mutation tool with no output schema, the essential behavior (where it writes, region binding) is covered and safety is carried by annotations. It does not address return values, the outcome of an update to an existing id, or failure modes, leaving modest gaps.

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 description coverage is 100%, so the schema already carries all 14 parameter meanings (enums, defaults, id semantics, storage_mode). The description only re-lists field names that the schema already documents, adding no syntax or format detail beyond it, so baseline 3 applies.

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 (save/update a customer delivery shipping address) and clarifies its dual create-or-update role. It does not, however, name or contrast with address siblings like set_default or delete, leaving the agent to infer which address tool to reach for.

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

Usage Guidelines2/5

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

There is no explicit when-to-use vs when-not guidance and no reference to alternatives such as address.set_default (relevant since is_default is a parameter) or address.delete. Usage is only implied from the tool name and the 'id' parameter.

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