Skip to main content
Glama

Seatac Connection rides

Plan a Seattle cruise trip

plan_cruise_trip
Read-onlyIdempotent

Build a day-by-day plan for a Seattle cruise departure, the same plan the seatac.co sailing page shows: fly into Seatac, ride to a hotel near the pier (or straight to the ship on sailing day), the ride to the terminal, and the ride home or one more night after the cruise. Each step has its booking link and cost: ride estimates from Seatac's own pricing (whole dollars before fee and tax; final price at booking), typical hotel rates, and a flight comparison link. Needs the ship and sailing date (use find_cruise_sailings first if unsure). Pass hotel_slug from hotel_options to put a hotel in the plan and the total.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "ship": "<ship>",
      "sail_date": "<sail_date>"
    },
    "name": "plan_cruise_trip"
  }
}

Input Schema

NameRequiredDescriptionDefault
shipYesShip name, any case; partial names work ("Bliss").
arriveNoWhen they fly in: same_day, day_before (default), or two_days_before.
sail_dateYesSailing (embarkation) date in Seattle, YYYY-MM-DD.
hotel_nameNoOptional name of another hotel they already booked.
hotel_slugNoOptional hotel from hotel_options (a previous call) to include in the plan and total.
party_sizeNoTravelers (1-14, default 2).
after_cruiseNoairport (default): straight to the airport; hotel: one more night in Seattle.
arrival_dateNoOr an exact arrival date (YYYY-MM-DD), up to 14 days before sailing.
home_airportNoOptional 3-letter code of the airport they fly from, e.g. ORD.
arrival_flightNoOptional arriving flight number, e.g. AS 342, prefilled on the airport ride.

Output Schema

NameRequiredDescriptionDefault
costNo
daysNo
errorNo
sailingNo
arrival_dateNo
hotel_optionsNo
plan_page_urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

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 openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: each step carries a booking link and cost, ride figures are whole dollars before fee and tax with the final price at booking, hotel rates are 'typical', and the flight is a comparison link rather than a booking. That pricing caveat is exactly the kind of disclosure annotations cannot carry.

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 plan contents are front-loaded and the prerequisite/parameter rules are packed into the closing sentences, so nothing critical is buried. It is a single dense paragraph, and the framing clause 'the same plan the seatac.co sailing page shows' is the least load-bearing phrase but also sets expectations for output shape.

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 10-parameter composition tool it covers inputs, prerequisites, provenance of costs, and what the plan contains; an output schema exists, so return structure needn't be spelled out and the description wisely only sketches it. Minor gap: it doesn't say what happens when ship/sail_date don't resolve to a real sailing.

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 every parameter including enums and the arrive/arrival_date interplay is already documented. The description only restates ship/sail_date as required and explains that hotel_slug from hotel_options feeds both the plan and the total, which is a small but genuine addition. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb and resource ('Build a day-by-day plan for a Seattle cruise departure') and enumerates what the plan contains: arrival flight, hotel stay, ride to terminal, ride home or extra night. It names the sibling find_cruise_sailings as the prerequisite lookup and hotel_options as the source of hotel_slug, so an agent can place it in the workflow without opening any schema.

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?

'Needs the ship and sailing date (use find_cruise_sailings first if unsure)' gives an explicit prerequisite and fallback; 'Pass hotel_slug from hotel_options' gives a second call-chaining rule. No explicit when-not-to-use or comparison against quote_ride / compare_parking_vs_ride, which keeps it below a 5.

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