Skip to main content
Glama

Add Address to Address Book

starshipit_add_address

Saves a new contact address to the StarShipIt address book so frequent suppliers, warehouses, or customers can be reused on future orders.

Instructions

Add a new address entry to the StarShipIt address book for reuse in future orders.

When to use: Use this when a contact's details need to be saved for repeated use — e.g. a frequent supplier, warehouse, or customer. Once saved, addresses can be retrieved via starshipit_list_addresses and assigned to orders without re-entering details.

Required fields:

  • name — full name of the contact

  • street — street address

  • post_code — postcode

  • country — country name (e.g. "Australia") or ISO code (e.g. "AU")

Optional fields:

  • code — your custom reference code for quick lookup

  • company, suburb, city, state

  • phone, email

  • instructions — courier delivery instructions

  • building — building name or apartment number

  • carrier — preferred carrier ID (0 = no preference)

  • signature_required — whether delivery requires a signature

Returns: The newly created address object including its assigned id.

Errors:

  • 400 — missing required fields (name, street, post_code, country) or validation failure

  • 409 — address with the same code may already exist

  • 401/403 — authentication failure

Example:

{
  "address": {
    "code": "MELB-WH",
    "name": "Warehouse Manager",
    "company": "Acme Logistics",
    "street": "55 Bourke St",
    "suburb": "Melbourne",
    "city": "Melbourne",
    "state": "VIC",
    "post_code": "3000",
    "country": "Australia",
    "phone": "0398765432",
    "email": "warehouse@acme.com",
    "signature_required": false
  }
}

Input Schema

NameRequiredDescriptionDefault
addressYesThe address details to save

Output Schema

NameRequiredDescriptionDefault
errorsNoValidation or processing errors returned by StarShipIt
objectNoThe response payload when StarShipIt returns a non-object value
successNoStarShipIt success flag (a boolean on most endpoints)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the write-oriented annotations, the description discloses the created-object result with its assigned `id`, validation failures, possible duplicate-code conflicts, and authentication errors. These details clarify persistence, failure modes, and the potential non-idempotent behavior without contradicting any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and usage guidance are front-loaded, and the headings make the material easy to scan. However, the exhaustive field inventory and large example substantially repeat a fully documented schema, making the definition longer than necessary.

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

Completeness5/5

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

The definition supplies the information needed to select and invoke the tool: creation scope, reuse scenario, required inputs, a complete nested request example, related retrieval tooling, and likely errors. The existing output schema and annotations further reduce the chance of important operational context being missing.

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%, and the required/optional field lists largely repeat information already present in that schema. The concrete nested JSON example helps with payload assembly, but the description adds little new parameter meaning, validation guidance, or default behavior beyond the structured fields.

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 opening sentence uses a specific verb and resource: adding a new entry to the StarShipIt address book for reuse in future orders. It also distinguishes the tool's role from `starshipit_list_addresses`, which is identified as the way to retrieve saved addresses.

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?

The explicit "When to use" section gives concrete situations involving frequent suppliers, warehouses, and customers, and explains the downstream retrieval workflow. It does not provide a when-not-to-use case, such as directing agents to `starshipit_update_address` when modifying an existing entry.

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