Seatac Connection rides

Live fares, trip planners, and booking links for Seatac Airport, Seattle, and cruise-pier rides.

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
94%
命名质量
89%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~7,031token 数(工具定义)
~4.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 5.49%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "rides": {
      "url": "https://seatac.co/api/mcp"
    }
  }
}

远程端点

https://seatac.co/api/mcpstreamable-http

它能做什么

工具清单

工具(14)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢get_service_info

Describe Seatac Connection: private, pre-booked rides between Seatac Airport and the Seattle area, plus hourly charters. Returns the service area, vehicle types with passenger and bag capacity, booking requirements, and the cancellation and refund policy. Fares are quoted per trip; use quote_ride for a live price.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢quote_ride(pickup, dropoff, pickup_datetime, passengers, bags, ...)

Get the live fare for a specific Seatac Connection ride, per eligible vehicle, priced exactly as seatac.co checkout prices it. Each vehicle includes a booking_url where the customer reviews and pays. Rate limited; reuse a quote instead of re-requesting it.

输入模式

{
  "type": "object",
  "properties": {
    "pickup": {
      "description": "Pickup location. Street address, hotel, or place in the Seattle area, e.g. \"Seattle-Tacoma International Airport\", \"Pier 91\", \"Hyatt Regency Bellevue\", or \"1301 5th Ave, Seattle\".",
      "type": "string"
    },
    "dropoff": {
      "description": "Drop-off location. Street address, hotel, or place in the Seattle area, e.g. \"Seattle-Tacoma International Airport\", \"Pier 91\", \"Hyatt Regency Bellevue\", or \"1301 5th Ave, Seattle\". Optional for hourly charters.",
      "type": "string"
    },
    "pickup_datetime": {
      "description": "Pickup date and time, ISO 8601. Without an offset it is read as Seattle local time (America/Los_Angeles), e.g. 2026-11-02T14:30.",
      "type": "string"
    },
    "passengers": {
      "description": "Number of passengers (1-12).",
      "maximum": 12,
      "minimum": 1,
      "type": "integer"
    },
    "bags": {
      "description": "Number of checked-size bags (0-12).",
      "maximum": 12,
      "minimum": 0,
      "type": "integer"
    },
    "flight_number": {
      "description": "Optional flight number for Seatac pickups or drop-offs, e.g. AS 123.",
      "type": "string"
    },
    "hours": {
      "description": "Set only for an hourly charter: the number of hours (1-24).",
      "maximum": 24,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "pickup",
    "pickup_datetime",
    "passengers"
  ],
  "additionalProperties": false
}
🟢start_booking(pickup, dropoff, pickup_datetime, passengers, bags, ...)

Create a prefilled seatac.co reservation link for the customer to open. They review the trip, enter contact details, and pay on seatac.co. Nothing is booked or charged by this tool.

输入模式

{
  "type": "object",
  "properties": {
    "pickup": {
      "description": "Pickup location. Street address, hotel, or place in the Seattle area, e.g. \"Seattle-Tacoma International Airport\", \"Pier 91\", \"Hyatt Regency Bellevue\", or \"1301 5th Ave, Seattle\".",
      "type": "string"
    },
    "dropoff": {
      "description": "Drop-off location. Street address, hotel, or place in the Seattle area, e.g. \"Seattle-Tacoma International Airport\", \"Pier 91\", \"Hyatt Regency Bellevue\", or \"1301 5th Ave, Seattle\". Optional for hourly charters.",
      "type": "string"
    },
    "pickup_datetime": {
      "description": "Pickup date and time, ISO 8601. Without an offset it is read as Seattle local time (America/Los_Angeles), e.g. 2026-11-02T14:30. Optional.",
      "type": "string"
    },
    "passengers": {
      "description": "Number of passengers (1-12).",
      "maximum": 12,
      "minimum": 1,
      "type": "integer"
    },
    "bags": {
      "description": "Number of checked-size bags (0-12).",
      "maximum": 12,
      "minimum": 0,
      "type": "integer"
    },
    "flight_number": {
      "description": "Optional flight number for Seatac pickups or drop-offs, e.g. AS 123.",
      "type": "string"
    },
    "hours": {
      "description": "Set only for an hourly charter: the number of hours (1-24).",
      "maximum": 24,
      "minimum": 1,
      "type": "integer"
    },
    "vehicle_slug": {
      "description": "Optional vehicle_slug from quote_ride or get_service_info to preselect.",
      "type": "string"
    }
  },
  "required": [
    "pickup"
  ],
  "additionalProperties": false
}
🟢find_cruise_sailings(ship, cruise_line, date, from, to, ...)

Look up Seattle cruise sailings from the Port of Seattle schedule (2026 season and the preliminary 2027 season): which pier and terminal a ship uses on a date, and which ships sail on a day. Filter by ship (fuzzy), cruise_line, date or from/to, and pier. Each upcoming embarkation (turnaround) day includes ride_to_pier with a prefilled seatac.co booking link from Seattle-Tacoma International Airport; call quote_ride with its quote_ride_arguments plus a pickup time for the live fare. Without a date filter, only sailings from today on are returned.

输入模式

{
  "type": "object",
  "properties": {
    "ship": {
      "description": "Ship name, any case; partial names work, e.g. \"Norwegian Bliss\" or \"Bliss\".",
      "type": "string"
    },
    "cruise_line": {
      "description": "Cruise line, e.g. \"Norwegian\" or \"Holland America\".",
      "type": "string"
    },
    "date": {
      "description": "A single date, YYYY-MM-DD.",
      "format": "date",
      "type": "string"
    },
    "from": {
      "description": "Start of a date range, YYYY-MM-DD (inclusive).",
      "format": "date",
      "type": "string"
    },
    "to": {
      "description": "End of a date range, YYYY-MM-DD (inclusive).",
      "format": "date",
      "type": "string"
    },
    "pier": {
      "description": "Pier 66 (Bell Street) or Pier 91 (Smith Cove).",
      "enum": [
        "66",
        "91"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢plan_cruise_trip(ship, sail_date, party_size, home_airport, arrive, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "ship": {
      "description": "Ship name, any case; partial names work (\"Bliss\").",
      "type": "string"
    },
    "sail_date": {
      "description": "Sailing (embarkation) date in Seattle, YYYY-MM-DD.",
      "format": "date",
      "type": "string"
    },
    "party_size": {
      "description": "Travelers (1-14, default 2).",
      "maximum": 14,
      "minimum": 1,
      "type": "integer"
    },
    "home_airport": {
      "description": "Optional 3-letter code of the airport they fly from, e.g. ORD.",
      "type": "string"
    },
    "arrive": {
      "description": "When they fly in: same_day, day_before (default), or two_days_before.",
      "enum": [
        "same_day",
        "day_before",
        "two_days_before"
      ],
      "type": "string"
    },
    "arrival_date": {
      "description": "Or an exact arrival date (YYYY-MM-DD), up to 14 days before sailing.",
      "format": "date",
      "type": "string"
    },
    "arrival_flight": {
      "description": "Optional arriving flight number, e.g. AS 342, prefilled on the airport ride.",
      "type": "string"
    },
    "hotel_slug": {
      "description": "Optional hotel from hotel_options (a previous call) to include in the plan and total.",
      "type": "string"
    },
    "hotel_name": {
      "description": "Optional name of another hotel they already booked.",
      "type": "string"
    },
    "after_cruise": {
      "description": "airport (default): straight to the airport; hotel: one more night in Seattle.",
      "enum": [
        "airport",
        "hotel"
      ],
      "type": "string"
    }
  },
  "required": [
    "ship",
    "sail_date"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "arrival_date": {
      "format": "date",
      "type": "string"
    },
    "cost": {
      "properties": {
        "lines": {
          "type": "array"
        },
        "total_high_usd": {
          "type": "number"
        },
        "total_low_usd": {
          "type": "number"
        },
        "unpriced_rides": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "days": {
      "items": {
        "properties": {
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "label": {
            "type": "string"
          },
          "steps": {
            "items": {
              "properties": {
                "estimate_usd": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "kind": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "error": {
      "type": "string"
    },
    "hotel_options": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "plan_page_url": {
      "format": "uri",
      "type": "string"
    },
    "sailing": {
      "type": "object"
    }
  }
}
🟢plan_seattle_trip(start, end, nights, purpose, party_size, ...)

Plan a Seattle visit day by day, the same plan as seatac.co/seattle-trip-planner: a work trip, seeing family, a game or concert, or a holiday (for a cruise use plan_cruise_trip). Give the dates; everything else is optional and can be added on later calls. Returns each day in order: arrival (flight, the Seatac ride with its pickup time and estimate), the hotel, each day's plan from morning to evening with meetings at their set times, meals, experiences and events, the estimated travel time between stops and a ride link for each leg, warnings when something won't fit, suggested restaurants and experiences for empty parts of the day, games and concerts on each date with ticket links, the ride back to the airport timed from the flight home, hotel options ranked for the trip (nearest the meetings for work), an estimated total, and plan_page_url, which opens exactly this plan for the traveler to change and book. Nothing is assumed booked. Read-only; no payment.

输入模式

{
  "type": "object",
  "properties": {
    "start": {
      "description": "Day they arrive in Seattle, YYYY-MM-DD.",
      "format": "date",
      "type": "string"
    },
    "end": {
      "description": "Day they leave, YYYY-MM-DD (same as start for a day trip). Or give nights.",
      "format": "date",
      "type": "string"
    },
    "nights": {
      "description": "Nights in Seattle instead of end (0-21, default 2).",
      "maximum": 21,
      "minimum": 0,
      "type": "integer"
    },
    "purpose": {
      "description": "What the trip is for: business, visit, event or vacation. Business ranks hotels by the meetings and defaults to 1 traveler.",
      "enum": [
        "business",
        "visit",
        "event",
        "vacation"
      ],
      "type": "string"
    },
    "party_size": {
      "description": "Travelers (1-14; default 1 for business, else 2).",
      "maximum": 14,
      "minimum": 1,
      "type": "integer"
    },
    "arrive_by": {
      "description": "fly (default), drive, or train_bus_ferry.",
      "enum": [
        "fly",
        "drive",
        "train_bus_ferry"
      ],
      "type": "string"
    },
    "arrival_place": {
      "description": "train_bus_ferry: where they arrive, e.g. King Street Station.",
      "type": "string"
    },
    "home_airport": {
      "description": "3-letter code of the airport they fly from, e.g. ORD.",
      "type": "string"
    },
    "arrival_flight": {
      "description": "Arriving flight number, e.g. AS 33.",
      "type": "string"
    },
    "landing_time": {
      "description": "Landing time at Seatac, Seattle time HH:MM. Sets the airport pickup and the first afternoon.",
      "type": "string"
    },
    "return_flight": {
      "description": "Flight home, e.g. AS 38.",
      "type": "string"
    },
    "departure_time": {
      "description": "Flight home's departure, Seattle time HH:MM. Sets the last day and the ride to the airport.",
      "type": "string"
    },
    "hotel_slug": {
      "description": "One of our hotels (slug from hotel_options).",
      "type": "string"
    },
    "hotel_name": {
      "description": "Or a hotel they booked elsewhere, \"name, address\".",
      "type": "string"
    },
    "meetings": {
      "description": "Meetings or appointments at set times (up to 10).",
      "items": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "What it is, e.g. Client meeting.",
            "type": "string"
          },
          "date": {
            "description": "YYYY-MM-DD, a day of the trip.",
            "format": "date",
            "type": "string"
          },
          "time": {
            "description": "Start, Seattle time HH:MM.",
            "type": "string"
          },
          "minutes": {
            "description": "Length in minutes (15-600, default 60).",
            "maximum": 600,
            "minimum": 15,
            "type": "integer"
          },
          "address": {
            "description": "Where it is, e.g. \"Amazon Spheres, 2111 7th Ave, Seattle, WA\".",
            "type": "string"
          },
          "lat": {
            "description": "Optional latitude of the address, for travel times.",
            "type": "number"
          },
          "lng": {
            "description": "Optional longitude of the address, for travel times.",
            "type": "number"
          }
        },
        "required": [
          "date",
          "time"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "picks": {
      "description": "Things to put on the plan (up to 30): a pick_id from suggestions, events, find_things_to_do or find_restaurants, a date, and optionally the part of the day.",
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "pick_id, e.g. space-needle, eat-pink-door, ev-<event>.",
            "type": "string"
          },
          "date": {
            "description": "YYYY-MM-DD, a day of the trip.",
            "format": "date",
            "type": "string"
          },
          "part": {
            "description": "morning, lunch, afternoon, dinner or evening (default: when it usually fits).",
            "enum": [
              "morning",
              "lunch",
              "afternoon",
              "dinner",
              "evening"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "date"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "suggestions": {
      "description": "Suggest restaurants and experiences for empty parts of each day (default true).",
      "type": "boolean"
    }
  },
  "required": [
    "start"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "cost": {
      "type": "object"
    },
    "days": {
      "items": {
        "properties": {
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "events": {
            "type": "array"
          },
          "label": {
            "type": "string"
          },
          "plan": {
            "type": "object"
          },
          "steps": {
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "error": {
      "type": "string"
    },
    "hotel_options": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "plan_page_url": {
      "format": "uri",
      "type": "string"
    },
    "trip": {
      "type": "object"
    }
  }
}
🟢compare_airport_options(trip_days, area, direction, rental_daily_rate, address, ...)

Compare every way to get between Seatac Airport (SEA) and a Seattle-area place for one trip: a private Seatac Connection ride, driving and parking at the SEA garage, a rental car, app rideshare or taxi, and Link light rail. Priced options carry real numbers (Port of Seattle garage rates, typical rental costs, example or live ride fares); rideshare and light rail are described, not priced, because their prices are not fixed. direction: "departing" (flying out of SEA: the alternative is parking), "arriving" (visiting: the alternative is a rental), or "both". Ranks the priced options cheapest first.

输入模式

{
  "type": "object",
  "properties": {
    "trip_days": {
      "description": "Length of the trip in days (1-30): days parked, or nights in town for a rental.",
      "maximum": 30,
      "minimum": 1,
      "type": "integer"
    },
    "area": {
      "description": "Seattle-area place the trip starts or ends at (default downtown-seattle).",
      "enum": [
        "downtown-seattle",
        "waterfront",
        "bellevue",
        "kirkland",
        "tacoma",
        "federal-way",
        "renton"
      ],
      "type": "string"
    },
    "direction": {
      "description": "departing = a local flying out of SEA (compare parking); arriving = a visitor flying in (compare a rental); both (default).",
      "enum": [
        "departing",
        "arriving",
        "both"
      ],
      "type": "string"
    },
    "rental_daily_rate": {
      "description": "Optional: the traveler's own daily rental rate before tax, USD.",
      "minimum": 0,
      "type": "number"
    },
    "address": {
      "description": "Optional exact pickup/drop-off address in the Seattle area for a live fare instead of the stored example fare, e.g. \"1301 5th Ave, Seattle\". Needs pickup_datetime. Uses one rate-limited live quote.",
      "type": "string"
    },
    "pickup_datetime": {
      "description": "With address: the ride's pickup date and time, ISO 8601, Seattle local time when no offset, e.g. 2026-11-02T14:30.",
      "type": "string"
    },
    "passengers": {
      "description": "Passengers for the live fare (1-12, default 2).",
      "maximum": 12,
      "minimum": 1,
      "type": "integer"
    },
    "bags": {
      "description": "Checked-size bags for the live fare (0-12, default 2).",
      "maximum": 12,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "trip_days"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "cheapest_priced": {
      "type": [
        "string",
        "null"
      ]
    },
    "error": {
      "type": "string"
    },
    "options": {
      "items": {
        "properties": {
          "how": {
            "type": "string"
          },
          "option": {
            "enum": [
              "private_ride",
              "airport_garage_parking",
              "rental_car",
              "rideshare_or_taxi",
              "link_light_rail"
            ],
            "type": "string"
          },
          "total_usd": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "pages": {
      "additionalProperties": {
        "format": "uri",
        "type": "string"
      },
      "type": "object"
    },
    "parking_breakeven_days": {
      "type": [
        "integer",
        "null"
      ]
    },
    "ranking": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "trip": {
      "type": "object"
    }
  }
}
🟢compare_parking_vs_ride(days, from_area, address, pickup_datetime, passengers, ...)

Compare parking at the Seatac (SEA) airport garage for a trip with a round-trip private ride to and from the airport, using the same numbers as seatac.co/parking: Port of Seattle drive-up rates (taxes included) against example sedan fares from seven Seattle-area starting points. Returns both totals, which is cheaper and by how much, and the trip length where the ride starts winning. Optional: pass address + pickup_datetime for a live fare (one rate-limited quote).

输入模式

{
  "type": "object",
  "properties": {
    "days": {
      "description": "Days the car would be parked (whole 24-hour days, 1-60).",
      "maximum": 60,
      "minimum": 1,
      "type": "integer"
    },
    "from_area": {
      "description": "Where the traveler drives from (default downtown-seattle).",
      "enum": [
        "downtown-seattle",
        "waterfront",
        "bellevue",
        "kirkland",
        "tacoma",
        "federal-way",
        "renton"
      ],
      "type": "string"
    },
    "address": {
      "description": "Optional exact pickup/drop-off address in the Seattle area for a live fare instead of the stored example fare, e.g. \"1301 5th Ave, Seattle\". Needs pickup_datetime. Uses one rate-limited live quote.",
      "type": "string"
    },
    "pickup_datetime": {
      "description": "With address: the ride's pickup date and time, ISO 8601, Seattle local time when no offset, e.g. 2026-11-02T14:30.",
      "type": "string"
    },
    "passengers": {
      "description": "Passengers for the live fare (1-12, default 2).",
      "maximum": 12,
      "minimum": 1,
      "type": "integer"
    },
    "bags": {
      "description": "Checked-size bags for the live fare (0-12, default 2).",
      "maximum": 12,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "days"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "airport_garage": {
      "properties": {
        "total_usd": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "breakeven_days": {
      "description": "Trip length (days) from which the ride costs less than the garage.",
      "type": [
        "integer",
        "null"
      ]
    },
    "cheaper": {
      "enum": [
        "ride",
        "parking",
        "tie"
      ],
      "type": "string"
    },
    "difference_usd": {
      "type": "number"
    },
    "error": {
      "type": "string"
    },
    "page_url": {
      "format": "uri",
      "type": "string"
    },
    "private_ride": {
      "properties": {
        "booking_url": {
          "format": "uri",
          "type": "string"
        },
        "fare_source": {
          "enum": [
            "example_fare",
            "live_quote"
          ],
          "type": "string"
        },
        "one_way_usd": {
          "type": "number"
        },
        "round_trip_usd": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "trip": {
      "type": "object"
    },
    "verdict": {
      "type": "string"
    }
  }
}
🟢compare_rental_vs_ride(nights, staying_in, rental_daily_rate, hotel_parking_per_night, start_date, ...)

Compare renting a car at Seatac (SEA) for a stay with a private ride from the airport and back, as seatac.co/seatac-car-rental does: typical SEA daily rate, taxes and airport fees, the facility charge, and hotel parking every night (gas left out), against example sedan fares. Override the daily rate or hotel parking with the traveler's own quote. Returns the breakdown, which is cheaper, a ride booking link, and a rental search link (partner; seatac.co may earn a commission). Optional live fare with address + pickup_datetime (one rate-limited quote).

输入模式

{
  "type": "object",
  "properties": {
    "nights": {
      "description": "Nights in town (1-30); the rental runs one day per night.",
      "maximum": 30,
      "minimum": 1,
      "type": "integer"
    },
    "staying_in": {
      "description": "Where the traveler stays (default downtown-seattle).",
      "enum": [
        "downtown-seattle",
        "waterfront",
        "bellevue",
        "kirkland",
        "tacoma"
      ],
      "type": "string"
    },
    "rental_daily_rate": {
      "description": "Optional: the traveler's own daily rental rate before tax, USD.",
      "minimum": 0,
      "type": "number"
    },
    "hotel_parking_per_night": {
      "description": "Optional: the hotel's overnight parking per night, USD.",
      "minimum": 0,
      "type": "number"
    },
    "start_date": {
      "description": "Optional rental pickup date (YYYY-MM-DD) for the rental search link.",
      "format": "date",
      "type": "string"
    },
    "address": {
      "description": "Optional exact pickup/drop-off address in the Seattle area for a live fare instead of the stored example fare, e.g. \"1301 5th Ave, Seattle\". Needs pickup_datetime. Uses one rate-limited live quote.",
      "type": "string"
    },
    "pickup_datetime": {
      "description": "With address: the ride's pickup date and time, ISO 8601, Seattle local time when no offset, e.g. 2026-11-02T14:30.",
      "type": "string"
    },
    "passengers": {
      "description": "Passengers for the live fare (1-12, default 2).",
      "maximum": 12,
      "minimum": 1,
      "type": "integer"
    },
    "bags": {
      "description": "Checked-size bags for the live fare (0-12, default 2).",
      "maximum": 12,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "nights"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "cheaper": {
      "enum": [
        "ride",
        "rental",
        "tie"
      ],
      "type": "string"
    },
    "difference_usd": {
      "type": "number"
    },
    "error": {
      "type": "string"
    },
    "page_url": {
      "format": "uri",
      "type": "string"
    },
    "private_ride": {
      "properties": {
        "booking_url": {
          "format": "uri",
          "type": "string"
        },
        "one_way_usd": {
          "type": "number"
        },
        "round_trip_usd": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "rental_car": {
      "properties": {
        "base_usd": {
          "type": "number"
        },
        "hotel_parking_usd": {
          "type": "number"
        },
        "search_url": {
          "format": "uri",
          "type": "string"
        },
        "taxes_and_fees_usd": {
          "type": "number"
        },
        "total_usd": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "trip": {
      "type": "object"
    },
    "verdict": {
      "type": "string"
    }
  }
}
🟢recommend_hotels_with_rides(near, checkin, checkout, party_size, limit, ...)

Recommend Seattle hotels for a stay with the whole-trip cost: typical room rate for the nights plus the rides the stay needs (Seatac → hotel on check-in day, then hotel → cruise pier or back to Seatac on check-out day). near is a cruise pier (pier-66, pier-91: check-out day is sailing day) or a hotel area. For a pier it also prices a SeaTac airport hotel, so the traveler can see when a cheaper airport room plus rides beats a downtown room. Room links lead; ride links are the add-on. Typical rates and ride estimates, not live prices.

输入模式

{
  "type": "object",
  "properties": {
    "near": {
      "description": "A cruise pier (pier-66, pier-91) or a hotel area.",
      "enum": [
        "pier-66",
        "pier-91",
        "seatac-hotels",
        "downtown-seattle",
        "waterfront",
        "belltown-slu-seattle-center",
        "bellevue",
        "eastside",
        "kirkland"
      ],
      "type": "string"
    },
    "checkin": {
      "description": "Check-in date, YYYY-MM-DD.",
      "format": "date",
      "type": "string"
    },
    "checkout": {
      "description": "Check-out date, YYYY-MM-DD (sailing day for a pier).",
      "format": "date",
      "type": "string"
    },
    "party_size": {
      "description": "Travelers (1-14, default 2).",
      "maximum": 14,
      "minimum": 1,
      "type": "integer"
    },
    "limit": {
      "description": "Hotels to return (1-8, default 5).",
      "maximum": 8,
      "minimum": 1,
      "type": "integer"
    },
    "compare_airport_hotel": {
      "description": "For a pier: also price a SeaTac airport hotel (default true).",
      "type": "boolean"
    }
  },
  "required": [
    "near",
    "checkin",
    "checkout"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "airport_hotel_alternative": {
      "type": [
        "object",
        "null"
      ]
    },
    "error": {
      "type": "string"
    },
    "hotels": {
      "items": {
        "properties": {
          "name": {
            "type": "string"
          },
          "rides": {
            "type": "array"
          },
          "rooms_url": {
            "format": "uri",
            "type": "string"
          },
          "typical_nightly_usd": {
            "type": [
              "object",
              "null"
            ]
          },
          "whole_trip_usd": {
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "insight": {
      "type": [
        "string",
        "null"
      ]
    },
    "page_url": {
      "format": "uri",
      "type": "string"
    },
    "stay": {
      "type": "object"
    }
  }
}
🟢find_events_near(from, to, near, kind, ride_from, ...)

Find Seattle-area games, concerts and shows on given dates (from Seatac's daily Ticketmaster snapshot), the same list seatac.co shows as "Happening while you're here". With near (the airport, a cruise pier, or a hotel area) events are nearest first, one per venue, within 20 miles, with the straight-line distance; without it, the biggest events first. Each event has its start time, the planned ride (pickup time to arrive 45 minutes early, estimated end, ride back), a prefilled round-trip booking link, the event page and the ticket link.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "description": "First date, YYYY-MM-DD (Seattle).",
      "format": "date",
      "type": "string"
    },
    "to": {
      "description": "Last date, inclusive (up to 14 days after from). Omit for one day.",
      "format": "date",
      "type": "string"
    },
    "near": {
      "description": "Where the traveler is: sea-airport, a cruise pier, or a hotel area. Omit for the biggest events.",
      "enum": [
        "sea-airport",
        "pier-66",
        "pier-91",
        "downtown-seattle",
        "waterfront",
        "belltown-slu-seattle-center",
        "bellevue",
        "eastside",
        "kirkland"
      ],
      "type": "string"
    },
    "kind": {
      "description": "Only sports, concert, or show.",
      "enum": [
        "sports",
        "concert",
        "show"
      ],
      "type": "string"
    },
    "ride_from": {
      "description": "Optional address the ride to the event starts from (e.g. their hotel), prefilled in the booking link.",
      "type": "string"
    },
    "limit": {
      "description": "Events to return (1-10, default 5).",
      "maximum": 10,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "from"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "events": {
      "items": {
        "properties": {
          "date": {
            "type": "string"
          },
          "event_page_url": {
            "format": "uri",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "ride_booking_url": {
            "format": "uri",
            "type": "string"
          },
          "ride_plan": {
            "type": [
              "object",
              "null"
            ]
          },
          "start_time": {
            "type": [
              "string",
              "null"
            ]
          },
          "tickets_url": {
            "type": "string"
          },
          "venue": {
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "page_url": {
      "format": "uri",
      "type": "string"
    },
    "searched": {
      "type": "object"
    }
  }
}
🟢find_things_to_do(part, hotel_slug, limit)

Seattle experiences the trip planner offers (Space Needle and Chihuly Garden, a harbor cruise, the Museum of Flight, food tours and more): what each is, how long it takes, which parts of the day it fits, rough price level, where it is, a ticket link, and with hotel_slug about how long it takes to get there. Each has a pick_id to pass to plan_seattle_trip's picks.

输入模式

{
  "type": "object",
  "properties": {
    "part": {
      "description": "Only those that fit this part of the day.",
      "enum": [
        "morning",
        "lunch",
        "afternoon",
        "dinner",
        "evening"
      ],
      "type": "string"
    },
    "hotel_slug": {
      "description": "Our hotel (from plan_seattle_trip's hotel_options) to estimate travel time from.",
      "type": "string"
    },
    "limit": {
      "description": "How many (default 10).",
      "minimum": 1,
      "type": "integer"
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "experiences": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "page_url": {
      "format": "uri",
      "type": "string"
    }
  }
}
🟢find_restaurants(meal, near, hotel_slug, limit)

Places to eat in Seattle from the trip planner's own list, for breakfast, lunch or dinner, nearest first to an area (pike-place, waterfront, downtown, pioneer-square, queen-anne, airport) or one of our hotels: cuisine, price level, address, a one-line why, a map link, and with hotel_slug about how long it takes to get there. Each has a pick_id for plan_seattle_trip's picks.

输入模式

{
  "type": "object",
  "properties": {
    "meal": {
      "description": "breakfast, lunch or dinner.",
      "enum": [
        "breakfast",
        "lunch",
        "dinner"
      ],
      "type": "string"
    },
    "near": {
      "description": "Area to start from (default downtown, or the hotel's area).",
      "enum": [
        "airport",
        "downtown",
        "pike-place",
        "pioneer-square",
        "queen-anne",
        "waterfront"
      ],
      "type": "string"
    },
    "hotel_slug": {
      "description": "Our hotel (from plan_seattle_trip's hotel_options): nearest it first, with travel time.",
      "type": "string"
    },
    "limit": {
      "description": "How many (default 6).",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "meal"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "restaurants": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "searched": {
      "type": "object"
    }
  }
}
🟢plan_airport_departure(departure_datetime, international, from, drive_minutes, pickup_address)

Work out when to leave for Seatac (SEA) for a departing flight, the seatac.co departure planner's rule: be at the terminal 2 hours before a domestic or 3 hours before an international departure (SEA's advice), minus Seatac's stored typical drive from the starting point. Returns the terminal-arrival target, the pickup time, a prefilled ride booking link, and how long before departure to leave from each place we have a drive time for.

输入模式

{
  "type": "object",
  "properties": {
    "departure_datetime": {
      "description": "Scheduled departure, ISO 8601; Seattle local time when no offset, e.g. 2026-11-02T08:15.",
      "type": "string"
    },
    "international": {
      "description": "true for an international flight (3-hour rule); default false (2 hours).",
      "type": "boolean"
    },
    "from": {
      "description": "Starting point with a stored drive time.",
      "enum": [
        "downtown-seattle",
        "bellevue",
        "kirkland",
        "pier-66",
        "pier-91",
        "airport-hotels"
      ],
      "type": "string"
    },
    "drive_minutes": {
      "description": "Optional drive time in minutes (5-240) when starting elsewhere; overrides the stored time.",
      "maximum": 240,
      "minimum": 5,
      "type": "integer"
    },
    "pickup_address": {
      "description": "Optional exact pickup address, prefilled in the booking link.",
      "type": "string"
    }
  },
  "required": [
    "departure_datetime"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "be_at_terminal_by": {
      "type": "string"
    },
    "booking_url": {
      "format": "uri",
      "type": "string"
    },
    "drive_minutes": {
      "type": "integer"
    },
    "error": {
      "type": "string"
    },
    "leave_before_departure": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "page_url": {
      "format": "uri",
      "type": "string"
    },
    "pickup_at": {
      "type": "string"
    }
  }
}

社区

评价此服务器

证据

最近观测

已验证未记录版本14 个工具