Skip to main content
Glama

List Address Book

starshipit_list_addresses
Read-onlyIdempotent

Lists and searches saved StarShipIt address book contacts with pagination so you can reuse delivery details and avoid re-entering addresses.

Instructions

List saved addresses from the StarShipIt address book, with optional text filtering and pagination.

When to use: Use this to:

  • Look up an existing contact before creating an order (avoids re-entering addresses)

  • Search for a specific company or person's delivery details

  • Browse all saved addresses for account management

Parameters:

  • search_term (optional) — filters by name, company, street, suburb, city, or postcode; leave blank to list all

  • limit (default 50, max 250) — number of addresses per page

  • page (default 1) — page number for pagination; increase to load more results

Returns: An array of address objects, each containing:

  • id — unique address book ID (required for update/delete)

  • code, name, company

  • Full address: street, suburb, city, state, post_code, country

  • Contact info: phone, email

  • Delivery preferences: instructions, building, carrier, signature_required

Pagination: If total_records is greater than limit × page, increment page to retrieve more results.

Errors:

  • 401/403 — authentication failure

  • Empty result — no addresses match the search term or the address book is empty

Input Schema

NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1)
limitNoMaximum number of addresses to return per page (default: 50, max: 250)
search_termNoText to search across name, company, street, suburb, city, and postcode fields
response_formatNoOutput format: 'markdown' for human-readable or 'json' for machine-readablemarkdown

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.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered; the description adds real value with pagination mechanics ('if total_records > limit × page, increment page') and the 401/403 and empty-result failure modes. It does not cover rate limits or result ordering, but for a read-only list that is a minor gap.

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?

Bold section headers make it easy to scan and the when-to-use guidance is front-loaded right after the purpose sentence. The 'Returns' block duplicates field information that the output schema already supplies, which is the main wasted space.

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 paginated read-only list tool, the description covers purpose, filtering, pagination math, and error cases, which is enough for an agent to call it correctly. Enumerating return fields is redundant given an output schema exists, and the unmentioned response_format parameter is the only real content gap.

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 coverage is 100%, so the schema already documents all four parameters, including defaults and limits; the description largely restates them. It does add the useful semantics that search_term matches across name, company, street, suburb, city, and postcode and that a blank term lists everything, but it omits response_format entirely, so a baseline 3 is right.

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 first sentence names a specific verb and resource ('List saved addresses from the StarShipIt address book') and scopes it with filtering and pagination, which cleanly separates it from sibling mutations such as starshipit_add_address, starshipit_update_address, and starshipit_delete_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 'When to use' block gives three concrete scenarios, including the ordering-relevant one of looking up a contact before creating an order. It stops short of naming an alternative tool or stating when not to use this one, so it falls just under a 5.

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