Skip to main content
Connect to https://stardrift.ai/mcp to use these tools. The API reference documents the underlying HTTP operations; tool names and HTTP routes are not always the same. The API enforces authentication, permissions, and ownership. The MCP wrapper also validates inputs and filters place candidates.

Trips and itineraries

Day numbers start at 1 and must already exist. Use get_itinerary to inspect them. Use entry_id to edit, move, or remove a visit; item_id identifies its underlying activity. plan_version reports the current revision; it is not an optimistic-lock parameter.

Correct a visit

After adding a place, keep the returned entry_id. For example, move it from day one to day two:
Pass that object to move_entry. Then clear its annotation with update_entry:
The omitted time stays unchanged. Read get_itinerary afterward to verify the result. Search first, then pass search_id and result_index to the add tool. These references belong to your account and last 24 hours; prices may change sooner. Follow next_offset with get_search_results to see subsequent pages. Search results are the underlying provider options, not Stardrift AI picks. get_itinerary returns journeys and stays alongside activities and days, including the IDs needed to remove a selection. Each item carries its primary booking_link and a booking_link_count; pass include_booking_links: true to get every booking site’s link and price. Places carry their rating, review count and one photo_url; review texts, photo galleries and map outlines are left out. Saved items remain in the trip when search references expire. Repeating the same selection in the same trip returns the existing item. Hotel prices distinguish nightly amounts from whole-stay totals. Supply child ages and guest nationality for accurate availability. Save an option, then open the returned trip_url on Stardrift to continue toward booking. Never use record_stay to save an unbooked candidate. No search or add tool purchases, holds inventory, takes payment, or guarantees an observed rate.

Bookings and recorded events

There is no tool to manually record or edit a confirmed flight by number/date; forward its confirmation email to your import address. Event update/removal tools are not currently available. Recording an event does not buy a ticket.

Saved lists

A saved list is a collection of places, separate from a day-by-day trip. Lists made with create_saved_list are private by default; lists imported from a post are public, as in the app.

Edit an existing list in a fresh conversation

  1. Find the list by title with list_saved_lists.
  2. Call get_saved_list(list_id=…). Its list contains metadata and sections; items contains saved-item IDs. The default page size is 100, with a maximum of 200.
  3. Follow next_offset until null if you need every item.
  4. Use a saved item’s id for edits, removals, and section membership. Its place_id identifies the underlying place and is not the editing ID.
  5. Read the list again after edits. Removal tools may return no body.
Publishing requires an explicit visibility change. A populated public_url alone does not mean the list is public. After making a list private, anonymous reads return a private-list placeholder without its places.

Errors and recovery

Adding the same Google place again is not the name-collision error: the existing activity can be reused for another visit. Do not treat a 409 as proof that the requested place is already present. The tools preserve API error explanations. The wrapper can also return input errors such as Pass search_query or place_id, or No venue matched, without an HTTP status.