Skip to main content
Glama
cotletdev

Pirate Ship MCP Server

Update ship-from address

update_ship_from_address

Change the name, origin, or return address of a saved Ship From Address, which saves the edit as a new version and returns the new ID.

Instructions

Changes a Ship From Address: its name, origin or return address.

Edits one saved Ship From Address; fields you leave out keep their values. origin_is_return true sends returns to the origin, return_address sets a separate one. Pirate Ship saves an edit as a new version: the answer carries the new id, use it from then on. Labels already bought keep their address.

Input Schema

NameRequiredDescriptionDefault
titleNo
originNo
address_idYesid from list_ship_from_addresses.
return_addressNoA separate return address.
origin_is_returnNotrue sends returns to the origin.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior5/5

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

It discloses behavior the annotations cannot: an edit is persisted as a new version, the response carries a new id that must be used going forward, and already-purchased labels retain their old address. This also explains why idempotentHint is false, so the description and annotations reinforce rather than duplicate each other.

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?

The opening sentence states the action and mutable fields up front, and each subsequent sentence carries a distinct fact (partial update, the origin_is_return toggle, versioning, label immutability). The second sentence ('Edits one saved Ship From Address') restates the first slightly, which is the only waste.

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 non-idempotent mutation with no output schema, the description covers the crucial return-value detail (a new id) and the side effect on existing labels. It omits anything about permissions or error conditions, but nothing an agent needs to call it correctly is missing.

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?

With 60% schema coverage, the description adds real meaning: it maps 'name' to the title field, explains that origin_is_return=true routes returns to the origin, and that return_address sets a separate one. Nested origin/return_address sub-fields are left to the schema, which already documents them individually.

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?

The description gives a specific verb ('Changes'/'Edits') and resource ('a Ship From Address') plus the scope of mutable fields (name, origin, return address), which separates it from create_ship_from_address and delete_ship_from_address. It never names a sibling explicitly, so the differentiation is implied rather than stated.

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?

'Edits one saved Ship From Address' establishes the precondition that the record must already exist, and 'fields you leave out keep their values' clarifies partial-update usage. There is no explicit statement of when to prefer this over create_ship_from_address or set_default_ship_from_address, so an agent must infer the routing.

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