Skip to main content
Glama

Server Details

Tineo exposes an MCP server at https://api.tineo.ai/mcp for authorized tool use.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
Tineo
Claude
–

TDQS

A3.6/5.0

Scored across 109 tools

Disambiguation3/5

Most tools target a distinct resource+action, but several clusters blur together: ten cruise_* tools carry near-identical copy-pasted descriptions, library_list_item_add vs library_list_items_add differ only by plural, and discover overlaps with search_hotels/search_attractions/search_tours/places_search. Flight selection is also spread across flight_quickadd, flight_quickadd_lookup, flight_route_lookup and segment_create, forcing the agent to reason about intent rather than tool name.

Naming Consistency3/5

The dominant pattern is noun_verb snake_case (trip_create, segment_update, friend_request_accept), but it breaks in many places: bare verbs (discover, fetch, search, trips_hub, tineo_ping), get_-prefixed readers (get_routes, get_trip_weather, get_travel_stats) mixed with bare readers (trip_details, segment_details, settings_read), and inconsistent singular/plural between checklist_item_update and checklist_items_add, and library_list_item_add vs library_list_items_add.

Tool Count2/5

109 tools is far beyond a reasonable surface; whole sub-domains (cruise = 10 tools, library lists = 9, checklists = 5, friends = 5) are decomposed per-operation rather than consolidated. The domain is broad but each granular tool adds selection cost, and several could be folded into single tools with an action parameter.

Completeness4/5

Coverage is unusually thorough: full CRUD plus restore for trips, segments, cities, expenses, library lists, checklists, cruises, travelers, sharing and settings, along with search/fetch, booking links, weather and flight status. Minor gaps remain, such as no delete for expenses and no create/upload path for travel documents (only audit and reassign), but agents can work around these.

Available Tools

109 tools
affiliate_program_catalogAffiliate Program CatalogA
Read-onlyIdempotent
Inspect

Return Tineo's travel-affiliate catalog with truthful implementation status. Use only for questions about supported affiliate programs, never for a link to a specific or previously searched travel result. With generic search intent, validated generic adapters may include safe Tineo-owned CTA links. A card with bookingLink=null is metadata only, not a booking handoff or live inventory.

Inputs: limit, locale, endDate, trip_id, +7 more.

assistant_airbnb_search_tripSearch Airbnbs for a TripA
Read-onlyIdempotent
Inspect

Search Airbnb listings for an existing Tineo trip. Derives location and dates from the trip; the model may override. location must be a city or area, not a whole country (ask the user which city). Each card has distance_km from the requested place and in_requested_area; listings outside the area come last. If none are in the area, say so with their distances and do NOT re-search the same place with a reworded location string. Amenity filtering only via the amenities enum; there is NO keyword/free-text filter, so tell the user anything else can't be filtered. If structuredContent.status is 'unavailable', do NOT retry the same search: share structuredContent.fallback_search_url (a prefilled airbnb.com search), offer a hotel search, or a support ticket.

Inputs: trip_id (required), adults, infants, check_in, +12 more.

assistant_airbnb_search_userSearch AirbnbsA
Read-onlyIdempotent
Inspect

Search Airbnb listings by location and dates. Use when the user is not asking about a specific trip in Tineo. Returns a slim list of cards (title, type, rating, host, URL). location must be a city or area, not a whole country (ask the user which city). Each card has distance_km from the requested place and in_requested_area; listings outside the area come last. If none are in the area, say so with their distances and do NOT re-search the same place with a reworded location string. Amenity filtering only via the amenities enum; there is NO keyword/free-text filter, so tell the user anything else can't be filtered. If structuredContent.status is 'unavailable', do NOT retry the same search: share structuredContent.fallback_search_url (a prefilled airbnb.com search), offer a hotel search, or a support ticket.

Inputs: check_in (required), location (required), check_out (required), adults, +11 more.

audit_travel_documentsAudit Travel DocumentsA
Read-onlyIdempotent
Inspect

Audit expiration dates of the user's travel documents (passports, visas, insurance) and flag expired, expiring soon (<180 days), or expiring before trip end.

Inputs: trip_id.

batch_segment_createCreate itinerary itemsAInspect

Create multiple segments in a trip in one call. Put each item's values in fields, named as segment_get_schema returns them (Activity activityType is one of: tour, dining, show, spa, class, sports, sightseeing, other). Each item succeeds or fails on its own: valid items are created and failed items are returned by index with the reason, so resend only the failed items. Max 50 segments per call; split larger itineraries into several calls. Segment dates must fall within the parent trip dates. Dates up to 1 day outside the trip extend it, with a warning; further out, call trip_update first. For an Activity, Lodging, EventTicket or Parking at a real place, call places_search first and put the result's place ID in fields.placeId: Tineo links that place (map pin and coordinates) and fills a missing name, address, phone and website. Never invent a time: if the user has not given or chosen one, ask, or send the date only (YYYY-MM-DD) in startDateTime and Tineo stores it as time not set. Send a clock time only when the user stated it or a booking shows it. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification. Cruise/CruiseDay generic writes require the dedicated cruise tools; their schemas and full reads remain available.

Inputs: trip_id (required), segments (required).

checklist_items_addAdd Checklist ItemsAInspect

Add one or more tasks to the end of an existing trip checklist. Get checklist_id from trip_checklists. Each item has text and an optional category (the section heading it appears under). A checklist holds at most 100 tasks; tasks are a flat list with no subtasks. Calling this twice adds the tasks twice. To create a new checklist use segment_create (type Note, isChecklist true). Never show IDs to users.

Inputs: items (required), checklist_id (required).

checklist_items_removeRemove Checklist ItemsA
DestructiveIdempotent
Inspect

Permanently remove one or more tasks from a trip checklist. Get checklist_id and the item IDs from trip_checklists. Confirm with the user before removing. To delete a whole checklist use segment_delete. Never show IDs to users.

Inputs: item_ids (required), checklist_id (required).

checklist_items_reorderReorder Checklist ItemsA
DestructiveIdempotent
Inspect

Put a trip checklist's tasks in a new order. Get checklist_id and the item IDs from trip_checklists, then send order listing every task ID exactly once in the new order. The app groups tasks under their section headings in first-appearance order. Never show IDs to users.

Inputs: order (required), checklist_id (required).

checklist_item_updateUpdate Checklist ItemA
DestructiveIdempotent
Inspect

Change one task on a trip checklist: its text, its category (section heading), or whether it is done. Get checklist_id and item_id from trip_checklists. Send only what changes. checked true marks the task done for the current user (on a shared trip it shows complete once every traveler ticks it); checked false unticks it. category "" removes the task from its section. Never show IDs to users.

Inputs: item_id (required), checklist_id (required), text, checked, +1 more.

cruise_createcruise createA
Idempotent
Inspect

Preview and commit cruise create operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_day_createcruise day createA
Idempotent
Inspect

Preview and commit cruise day create operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_day_deletecruise day deleteA
DestructiveIdempotent
Inspect

Preview and commit cruise day delete operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_day_restorecruise day restoreA
DestructiveIdempotent
Inspect

Preview and commit cruise day restore operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_day_updatecruise day updateA
DestructiveIdempotent
Inspect

Preview and commit cruise day update operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_deletecruise deleteA
DestructiveIdempotent
Inspect

Preview and commit cruise delete operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_getGet commercial cruiseA
Read-onlyIdempotent
Inspect

Read the complete commercial Cruise and linked CruiseDay fields, including soft-deleted items and version. Omit cruiseId to read the trip version before creation. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: tripId (required), cruiseId. Returns: result, status, success, contractVersion

cruise_reordercruise reorderA
DestructiveIdempotent
Inspect

Preview and commit cruise reorder operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_restorecruise restoreA
DestructiveIdempotent
Inspect

Preview and commit cruise restore operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

cruise_updatecruise updateA
DestructiveIdempotent
Inspect

Preview and commit cruise update operations atomically. First call cruise_get for expectedVersion. Omit confirmationToken to preview, show the changes to the user, then repeat the unchanged request with its token only after the user approves. Reuse idempotencyKey for retries. Omitting a field preserves it; null clears nullable fields. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification.

Inputs: request (required), confirmationToken. Returns: result, status, success, contractVersion

diagnose_failed_importDiagnose Failed ImportA
Read-onlyIdempotent
Inspect

Triage a failed, held, or partially processed email import on the user's account. Returns the failure step, error message, likely reason, and actionable next steps.

Inputs: trip_id, import_id.

discoverDiscover travel optionsA
Read-onlyIdempotent
Inspect

Search for hotels, restaurants, attractions, or activities to recommend to the traveler, returned as rich visual cards (image, rating, price level, link). Use this when the user wants suggestions or things to do/eat/stay near a place.

Inputs: category (required), query, latitude, location, +4 more.

duplicate_checklistDuplicate ChecklistAInspect

Duplicate a checklist into one or more new checklists on the same trip. Each copy keeps item text and sections; every item starts unchecked. Provide source_note_id (a checklist segment ID from trip_details) and one title per copy (max 10).

Inputs: titles (required), source_note_id (required).

estimate_transfer_drive_timeEstimate Transfer Drive TimeA
Idempotent
Inspect

Estimate the drive time of a Transfer or Transport segment (taxi, car service, airport transfer, ground transport) from its pickup and drop-off at its pickup time, using Apple Maps traffic prediction. apply=false (default) only reports the estimate; apply=true saves it as the estimated drop-off time so the Tineo calendar and iCal feed show the real ride length instead of a flat hour. A drop-off time already on the booking or set by the user is never changed, and a failed lookup changes nothing. Present the result as an estimate.

Inputs: segment_id (required), apply.

fetchFetch Tineo ItemA
Read-onlyIdempotent
Inspect

Use this when the user wants the full text for a specific Tineo search result. Pass an ID returned by search, such as trip:{id}, segment:{id}, travel-document:{id}, or document:{id}.

Inputs: id (required).

flight_quickaddAdd flight to tripAInspect

Look up a real flight by number and date, then create it as a segment in the trip. Combines flight_quickadd_lookup + segment_create in one call. May take 2-5 seconds due to external flight data lookup. Segment dates must fall within the parent trip dates; use trip_update first to extend the trip.

Inputs: trip_id (required), flight_number (required), departure_date (required), airline, +1 more.

flight_quickadd_lookupLook up a flightA
Read-onlyIdempotent
Inspect

Look up flight details by airline, flight number, and departure date before creating or editing a flight segment. Use this when the user gives a flight number and wants to add, preview, or verify a flight.

Inputs: flight_number (required), departure_date (required), airline, airline_code.

flight_route_lookupFlight Route LookupA
Read-onlyIdempotent
Inspect

Find scheduled flights by route and date when the flight number is NOT known: origin airport, destination airport, local departure date, and optionally an airline. Returns matching flights with their flight numbers so the exact flight can then be added via flight_quickadd. Use flight_quickadd_lookup instead when the user already has the full flight number.

Inputs: date (required), origin (required), destination (required), airline_code.

flight_status_for_segmentCheck saved flight statusA
Read-onlyIdempotent
Inspect

Get current flight status for an existing flight segment in a user's trip. Use this when the user asks if a flight in their itinerary is delayed, canceled, on time, boarding, or has gate/terminal updates. Status is cached for a few minutes, so call it once per flight per answer; calling again for the same flight soon after returns the same result. The text says when the provider last updated the data.

Inputs: segment_id (required), id. Returns: type, flight, matched, flightStatus

forwarding_address_createCreate Forwarding AddressA
Idempotent
Inspect

Create the authenticated user's personal Tineo forwarding address when they explicitly ask for one. Tineo reads email sent to that address and adds the travel bookings it finds to the user's trips, so the user can forward confirmations from any inbox or give it to a travel agent or booking site. Never replaces or changes an existing address: if one already exists it is returned unchanged. Use forwarding_address_get to read addresses without creating one.

Inputs: confirmed (required).

forwarding_address_getGet Forwarding AddressA
Read-onlyIdempotent
Inspect

Read the authenticated user's Tineo email forwarding addresses without changing anything. Returns the personal forwarding address when one exists, any other active personal addresses, and the universal trips@tineo.ai address, which works for mail forwarded from the user's primary or registered email. A personal address can also receive mail sent by an assistant or travel provider. If the user has no personal address and wants one, use forwarding_address_create after they ask for it.

Inputs: no named parameters.

friend_request_acceptAccept Friend RequestA
Destructive
Inspect

Accept an INCOMING pending friend request by request_id (from friend_requests_pending). This connects you and notifies the sender, so confirm with the user before calling.

Inputs: request_id (required).

friend_request_declineDecline Friend RequestA
Destructive
Inspect

Decline an INCOMING pending friend request by request_id (from friend_requests_pending). Confirm with the user before calling.

Inputs: request_id (required).

friend_request_resendResend Friend RequestA
Destructive
Inspect

Resend the notification email for one of YOUR OUTGOING pending friend requests by request_id (from friend_requests_pending). This re-emails the recipient, so confirm with the user first and pass confirmed=true. Throttled on an escalating cadence (60s after the original send, 24h after the first resend) and capped at 2 total resends per request.

Inputs: confirmed (required), request_id (required).

friend_request_sendSend Friend RequestA
Destructive
Inspect

Send a friend request to another user by user_id, or by email. This emails a real person, so ALWAYS confirm the recipient with the user before calling, and pass confirmed=true only once they agree. Provide exactly one of user_id or email. If the email belongs to someone not on Tineo, an invitation to join is sent instead. For privacy, the email path always reports the same neutral result whether or not the address is registered.

Inputs: confirmed (required), email, message, user_id.

friend_requests_pendingPending Friend RequestsA
Read-onlyIdempotent
Inspect

List the authenticated user's pending friend requests, split into incoming (awaiting your response) and outgoing (awaiting the other person). Returns the counterpart's name only, never their email. Use the returned request_id with friend_request_accept / friend_request_decline / friend_request_resend.

Inputs: no named parameters.

friends_listList FriendsA
Read-onlyIdempotent
Inspect

List the authenticated user's accepted friends (paged). Returns each friend's name, home location, your label for them (Friend/Family) and your two-way trip-sharing state. Never returns other users' email addresses.

Inputs: page, search, page_size.

generate_packing_listGenerate Packing ListA
Idempotent
Inspect

Create a weather- and activity-aware packing checklist for a trip, grouped into sections and saved as a pinned checklist note. Never changes an existing list: if one already exists it is returned unchanged; use packing_list_regenerate to replace it. Requires the trip to have a destination or at least one itinerary item. Provide the trip_id from trips_list. For one list per person, pass people (max 6). Tineo builds the list on its servers with its AI model provider, sending the trip's title, dates, destinations, itinerary items, weather forecast, any context_notes, and each person's age band and notes (never their name).

Inputs: trip_id (required), people, context_notes.

get_day_of_travel_briefDay Of Travel BriefB
Read-onlyIdempotent
Inspect

Get airport day-of-travel intelligence combining cached airport conditions and ground-transportation guides (trains, shuttles, taxis) for an airport code or flight segment.

Inputs: iata_code, flight_segment_id. Returns: note, type, airports, retrievedAt

get_flight_airport_conditionsFlight Airport ConditionsA
Read-onlyIdempotent
Inspect

Get cached airport conditions, delay indices, weather, and flight rules for an IATA airport code (e.g. "ORD") or a flight segment's departure and arrival airports. Cache-only: reads existing airport intelligence and never triggers an external fetch.

Inputs: route_to, iata_code, flight_segment_id.

get_flight_change_historyFlight Change HistoryA
Read-onlyIdempotent
Inspect

Get recorded historical timeline of flight schedule changes, gate changes, and delays for flights monitored on the user's trips.

Inputs: trip_id, since_days, flight_date, airline_code, +2 more.

get_routesGet RoutesA
Read-onlyIdempotent
Inspect

Compare available driving, transit, walking, and bicycling route summaries between two places using Google Maps. Returns duration and distance estimates for supported modes, plus Uber, Lyft, Waymo, and Google Maps handoff buttons for the destination. Set origin to 'home' for the user's saved home address. Ground time excludes airport check-in and security. Fares, detailed legs, flights, and ferries are unavailable.

Inputs: origin (required), destination (required), time, modes, +1 more.

get_travel_statsGet Travel StatsA
Read-onlyIdempotent
Inspect

Get lifetime travel summary statistics across all owned and shared trips: total trips, completed trips, total segments, and segment counts by type.

Inputs: no named parameters.

get_trip_expense_summaryTrip Expense SummaryA
Read-onlyIdempotent
Inspect

Get trip spend totals, per-currency breakdowns, traveler balances, and calculated who-pays-whom settlement suggestions for a trip.

Inputs: trip_id (required), include_settlements.

get_trip_weatherTrip WeatherA
Read-onlyIdempotent
Inspect

Get trip weather. Daily detail returns a city-grouped forecast bounded to trip dates with confidence tiers; current or hourly detail returns observed or near-term conditions for one trip city. Provide trip_id from trips_list. The Tineo itinerary already shows each day's weather and refreshes it automatically as the trip gets closer.

Inputs: trip_id (required), hours, detail, city_id, +1 more. Returns: type, cities, detail, tripId, +3 more

import_parse_text_previewPreview Travel Text ImportA
Read-onlyIdempotent
Inspect

Parse pasted travel confirmation text into proposed itinerary segments without saving anything. Use this before creating segments from copied email, PDF, or booking text.

Inputs: text (required), trip_id, user_hint, max_segments.

known_participantsKnown Trip ParticipantsA
Read-onlyIdempotent
Inspect

Search people the authenticated user previously added to trips. Use before traveler_add, then obtain explicit invitation consent and confirm the email address.

Inputs: names (required).

library_list_clear_completedClear Completed Library List ItemsA
DestructiveIdempotent
Inspect

Permanently delete every completed item from an owned Library List. Tell the user how many items will be removed; call with confirmed=true only after they confirm. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: listId (required), confirmed (required), expectedVersion (required).

library_list_deleteDelete Library ListA
DestructiveIdempotent
Inspect

Delete an entire owned Library List and all of its items. Name the list to the user first; call with confirmed=true only after they confirm. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: listId (required), confirmed (required), expectedVersion (required).

library_list_getRead Library ListA
Read-onlyIdempotent
Inspect

Read one owned Tineo Library List, including every stable item UUID and its version. Read before editing; preserve fields the user did not ask to change. Never use trip segment IDs or guess list/item IDs.

Inputs: listId (required), itemType.

library_list_item_addAdd Library List ItemA
Idempotent
Inspect

Add one item to an owned Library List. Generate one new itemId UUID for the item and reuse it on retries, so a retried call never adds a duplicate. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: text (required), itemId (required), listId (required), expectedVersion (required).

library_list_item_deleteDelete Library List ItemA
DestructiveIdempotent
Inspect

Permanently delete one item from an owned Library List. Show the user the exact item first; call with confirmed=true only after they confirm. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: itemId (required), listId (required), confirmed (required), expectedVersion (required).

library_list_items_addAdd Library List ItemsA
Idempotent
Inspect

Add several items to an owned Library List in one call, in order (for example a whole packing or to-do list). Give each item its own new itemId UUID and reuse the same values on retries, so a retried call never adds duplicates. Up to 100 items per call; split longer lists. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: items (required), listId (required), expectedVersion (required).

library_list_items_reorderReorder Library List ItemsA
DestructiveIdempotent
Inspect

Reorder the items of an owned Library List. orderedItemIds must contain every current item ID exactly once, in the new order. Show the user the proposed order first; call with confirmed=true only after they confirm. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: listId (required), confirmed (required), orderedItemIds (required), expectedVersion (required).

library_list_item_updateUpdate Library List ItemA
DestructiveIdempotent
Inspect

Change one existing item in an owned Library List (text, completed, color, notes, priority, dueDate), for example to check it off. Changes only the fields named in updateFields. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: itemId (required), listId (required), updates (required), updateFields (required), +1 more.

library_list_updateUpdate Library ListA
DestructiveIdempotent
Inspect

Change one owned Library List's own details (title, emoji, color, description). Changes only the fields named in updateFields; never touches the list's items. Use the listId and expectedVersion from the latest library_list_get. On library_version_mismatch, read the list again and reconsider the change; never retry blindly. Library Lists only, not trip checklists.

Inputs: listId (required), updates (required), updateFields (required), expectedVersion (required).

packing_list_regenerateRegenerate Packing ListA
Destructive
Inspect

Regenerate a trip's existing packing checklist: replaces the generated items the user has not touched, and keeps every item the user checked, added or edited. Use only after the user asks to redo or refresh the list. With people, only those people's lists are regenerated (a person without a list gets a new one); a trip with no list yet gets a new one. Provide the trip_id from trips_list. Tineo builds the list on its servers with its AI model provider, sending the trip's title, dates, destinations, itinerary items, weather forecast, any context_notes, and each person's age band and notes (never their name).

Inputs: trip_id (required), people, context_notes.

place_detailsView place detailsA
Read-onlyIdempotent
Inspect

Look up a selected place ID for its name, address, map URL, coordinates, photos, and timezone when missing from places_search. Google rich business details are disabled: do not use this tool to answer opening-hours, open-now, price, website, phone, or rating questions. Missing fields mean unavailable, not closed or absent. Previously cached optional details may be stale.

Inputs: place_id (required), language.

search_airport_loungesSearch Airport LoungesA
Read-onlyIdempotent
Inspect

Requires Tineo Ultra access. Search Tineo's populated first-party airport-lounge catalog by IATA and optional terminal/gate. Returns terminal, concourse, stored gate reference, location, access, amenity, rating, and day-pass fields with categorical gate relevance (not walking distance).

Inputs: iata_code (required), gate, terminal, max_results. Returns: gate, note, type, lounges, +7 more

search_attractionsSearch Attractions & SightsA
Read-onlyIdempotent
Inspect

Search for popular tourist attractions, sights, landmarks, and things to do in a destination using TripAdvisor and Google Places. Returns attraction cards with ratings, descriptions, addresses, and ticket/experience links. Use when the user asks about top sights, landmarks, or attractions in a city.

Inputs: query (required), limit, location.

search_flight_pricesSearch Flight PricesA
Read-onlyIdempotent
Inspect

Never send more than 3 search_flight_prices calls in one turn: calls beyond 3 are rejected without searching. Search for flight itineraries with prices between two airports on a date using Google Flights. Returns available itineraries with prices, durations, airlines, layovers, and ranked route-search actions. Ages 12-17 are mapped as adults where a provider requires it; ages 0-1 are infants whose lap-versus-seat placement and provider policy must be confirmed before booking. Each account runs one search at a time; the second and third wait their turn and still return results. When the user names several airports, destinations, dates or trip lengths, search the 1 to 3 most likely combinations first (or one outbound_end_date range of up to 7 days), show the results, then ask before searching more. A queued or slow search returns lookupStatus pending with retry_after_seconds; it keeps its place and finishes on its own, so repeat the identical call after that wait to get its result. When the user rules out airlines or connection airports/countries, pass include_airlines/exclude_airlines/avoid_connection_airports/avoid_connection_countries so excluded routes are removed. Fares carry no baggage allowance: never claim a fare includes bags.

Inputs: outbound_date (required), arrival_airport (required), departure_airport (required), trip_id, +11 more.

search_hotelsSearch Hotels & LodgingA
Read-onlyIdempotent
Inspect

Search for hotels and accommodations. Ordinary searches use the text query. Dated radius searches use a geographic bounding box and exact distance filter; SearchAPI does not apply the text query or style preferences within the radius. Provider coverage may be incomplete and prices may change. A hotel_place_id without radius_meters searches by the resolved hotel name; with radius_meters it searches nearby. Only a unique identity match retains its offer links.

Inputs: limit, query, trip_id, check_in, +8 more.

search_toursSearch Tours & ActivitiesA
Read-onlyIdempotent
Inspect

Search for bookable tours, activities, excursions, and experiences at a destination using GetYourGuide with Viator and Tiqets travelpayouts fallbacks. Returns tour options with titles, prices, ratings, durations, and booking links. Use when the user asks about things to do, tours, activities, excursions, or experiences in a city or destination. Search one destination per call.

Inputs: query (required), date, limit, trip_id, +2 more.

segment_associate_placeAssociate Place With SegmentA
Destructive
Inspect

Attach a Google Place to an ALREADY-EXISTING segment retroactively — writes a place association and syncs the segment's address/city/country/coordinates from the place. Use when a segment has a venue/name but no address (e.g. imported from a ticket confirmation with venue-only data). Requires a place_id from places_search/place_details. For CarRental/Transfer segments pass role "origin" or "destination"; omit for single-location segments (Activity, Lodging, EventTicket, Parking), which default to "primary".

Inputs: place_id (required), segment_id (required), role.

segment_createCreate itinerary itemAInspect

Create a new segment in a trip. FIRST call segment_get_schema to get the required fields for the segment type. Required in fields, besides trip_id: Flight airline (or a flightNumber starting with the airline code, e.g. UA 123), departureAirportCode, arrivalAirportCode, startDateTime; Lodging propertyName, startDateTime; Activity title, startDateTime; EventTicket eventName, startDateTime; CarRental rentalCompany, startDateTime; Train and Ferry operator, departureCity, arrivalCity, startDateTime; Transfer provider, pickupLocation, dropoffLocation, startDateTime; Parking facilityName, startDateTime; Note title; Poll title, options. Then provide the trip_id, segment_type, and fields matching the schema. Segment dates must fall within the parent trip dates. Dates up to 1 day outside the trip extend it, with a warning; further out, call trip_update first. For an Activity, Lodging, EventTicket or Parking at a real place, call places_search first and put the result's place ID in fields.placeId: Tineo links that place (map pin and coordinates) and fills a missing name, address, phone and website. Never invent a time: if the user has not given or chosen one, ask, or send the date only (YYYY-MM-DD) in startDateTime and Tineo stores it as time not set. Send a clock time only when the user stated it or a booking shows it. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification. Cruise/CruiseDay generic writes require the dedicated cruise tools; their schemas and full reads remain available.

Inputs: trip_id (required), fields, segment_type.

segment_deleteDelete itinerary itemA
Destructive
Inspect

Delete a segment from a trip. This action cannot be undone. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification. Cruise/CruiseDay generic writes require the dedicated cruise tools; their schemas and full reads remain available.

Inputs: segment_id (required).

segment_detailsView itinerary itemA
Read-onlyIdempotent
Inspect

Get full details for a specific trip segment. Returns complete information based on segment type: flight details (airline, flight number, airports, terminals, seats, baggage), hotel details (property, address, check-in/out times, room type, amenities), activity details (venue, tickets, timing), event ticket details (event name, venue, timing, vendor, order, confirmation), car rental details (company, vehicle, pickup/dropoff locations), or transfer details (provider, transfer type, pickup/dropoff locations, addresses, and local times). bookingContext describes whether Tineo can prepare an in-app reviewed change or needs the full editor; it is not a save confirmation or additional write authority.

Inputs: segment_id (required). Returns: canEdit, segment, bookingContext, duplicateStatus

segment_get_schemaGet itinerary item fieldsA
Read-onlyIdempotent
Inspect

Get the schema for a segment type. CALL THIS FIRST before creating/updating segments. Returns required fields and their types for the specified segment type. Supported types: Flight, Lodging, CarRental, Train, Transfer, Ferry, EventTicket, Parking, Activity, Note, Poll. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification. Cruise/CruiseDay generic writes require the dedicated cruise tools; their schemas and full reads remain available. Additional supported schemas: Cruise, CruiseDay, CruiseActivity.

Inputs: segment_type (required).

segment_updateUpdate itinerary itemA
DestructiveIdempotent
Inspect

Update an existing segment. Only provide the fields you want to change. Get field names from segment_get_schema if unsure. Segment dates must fall within the parent trip dates; use trip_update first to extend the trip. To change a checklist's tasks use checklist_items_add, checklist_item_update, checklist_items_remove or checklist_items_reorder (IDs from trip_checklists). The result lists the saved value of every field you sent, read back from Tineo, so do not call segment_details to confirm the change. On an Activity, Lodging, EventTicket or Parking, fields.placeId (a place_id from places_search) attaches that place the same way segment_associate_place does, replacing the stored address with the place's. Never invent a time: if the user has not given or chosen one, ask, or send the date only (YYYY-MM-DD) in startDateTime and Tineo stores it as time not set. Send a clock time only when the user stated it or a booking shows it. For commercial cruise reservations and sea/port days use cruise_* tools. Never substitute Activity, CruiseActivity or another segment type for a cruise day. Ordinary shore excursions remain valid Activity/CruiseActivity. If cruise tools are unavailable explain the limitation and ask for clarification. Cruise/CruiseDay generic writes require the dedicated cruise tools; their schemas and full reads remain available.

Inputs: id, fields, segment_id.

settings_readRead Tineo SettingsA
Read-onlyIdempotent
Inspect

Reads the user's Tineo display and notification settings: units, date and time formats, flight monitoring, and trip reminder emails.

Returns: layout, schema, values

settings_updateUpdate Tineo SettingsB
DestructiveIdempotent
Inspect

Changes the user's Tineo display and notification settings. Only include settings the user asked to change.

Inputs: set (required). Returns: values

support_ticket_createCreate Support TicketA
Destructive
Inspect

Create a Tineo support ticket after the user explicitly asks or confirms and notify Tineo support by email. Use when the assistant cannot complete a request, a tool fails, or the requested capability is unsupported. Tineo attaches the user's app version, platform, device model and OS version automatically, so do not ask for them or list them as unknown.

Inputs: summary (required), confirmed (required), description (required), source, +4 more.

tineo_pingCheck Tineo connectionA
Read-onlyIdempotent
Inspect

Check that Tineo is connected and the user is signed in. Returns the signed-in account's name and email; it does not list trips.

Inputs: no named parameters. Returns: type, user

travel_document_assign_tripAssign Travel Document To TripA
DestructiveIdempotent
Inspect

Move or assign a travel document (insurance, visa, passport scan, voucher) to another trip the user OWNS, or back to the general library. Provide document_id from a documents listing and trip_id from trips_list. Omit trip_id (or pass null) to move the document to the library. Only trips the user owns are valid targets. The document's linked files move with it; a file also attached to another document is left in place and reported. If more than one document could match the request, confirm which one before moving. Returns the document, its previous and new trip, and how many linked files were re-pointed.

Inputs: document_id (required), trip_id.

traveler_addAdd trip travelerA
Destructive
Inspect

Add a traveler only after known_participants and the user's explicit invitation decision. With an invitation, pass email and invite_confirmed=true; this creates and sends the trip invitation. If the user explicitly declines, omit email and pass invite_confirmed=false. If the email matches someone the user already added to a trip, that existing traveler's name is reused instead of creating a second identity for the same person.

Inputs: name (required), trip_id (required), invite_confirmed (required), email.

traveler_assignAssign traveler to itinerary itemA
Idempotent
Inspect

Assign one or more travelers to one or more segments in a single call. To put the same travelers on several segments (for example every flight of a trip), pass all of them in segment_ids and all travelers in traveler_ids in one call instead of one call per segment. Up to 50 segments and 50 travelers per call, and at most 200 segment-traveler pairs. Assigning an already-assigned traveler is a no-op, and each segment succeeds or fails on its own: the result lists what was assigned and, per segment, what failed and why.

Inputs: segment_id, segment_ids, traveler_id, traveler_ids.

traveler_update_emailCorrect pending traveler emailA
DestructiveIdempotent
Inspect

Correct one pending, unaccepted trip traveler's email after the owner supplies the exact traveler ID and new email. A changed address revokes the old link and automatically sends a renewed invitation. Report invitationSent truthfully; an unchanged address sends nothing.

Inputs: email (required), trip_id (required), traveler_id (required).

trip_checklistsTrip ChecklistsA
Read-onlyIdempotent
Inspect

Read every checklist on a trip with its items. Returns each checklist's title and, for every task, a stable itemId, text, category (section heading), position (0-based stored order; the app groups tasks under their section headings in first-appearance order), isChecked (complete for everyone on a shared trip) and checkedByMe (on a shared trip a task you ticked stays unchecked until every traveler ticks it). Tasks are a flat list: there are no subtasks or nested items. Pass checklist_id (the checklist's segment ID) to read just one checklist. Call this before editing items so you have the item IDs. To create a checklist use segment_create (type Note, isChecklist true, checklistItems [{text, category?}]). To change tasks use checklist_items_add (append tasks), checklist_item_update (text, category, or checked to mark done/not done), checklist_items_remove, or checklist_items_reorder, passing checklist_id and the item IDs. Delete a whole checklist with segment_delete. Never show IDs to users.

Inputs: trip_id (required), checklist_id.

trip_cities_listList Trip CitiesA
Read-onlyIdempotent
Inspect

List the ordered city associations for a trip. Returns trip_city_id values used by update, remove, and reorder.

Inputs: trip_id (required).

trip_cities_reorderReorder Trip CitiesA
DestructiveIdempotent
Inspect

Replace the trip city order using every current trip_city_id exactly once. The first city drives the automatic cover when an image is available.

Inputs: trip_id (required), ordered_trip_city_ids (required).

trip_city_addAdd Trip CityA
Idempotent
Inspect

Add a city to the end of a trip's ordered city list. This is idempotent when an equivalent city is already present. Pass city_name plus country: names are matched against the catalog (including aliases), a major city that shares its name with smaller places resolves to the major one, and a real town or island missing from the catalog (for example Bijagua or Santorini) is looked up in that country and added automatically.

Inputs: trip_id (required), city_id, country, city_name.

trip_city_removeRemove Trip CityA
DestructiveIdempotent
Inspect

Remove one city association from a trip by trip_city_id. Confirm this destructive action with the user first.

Inputs: trip_id (required), trip_city_id (required).

trip_city_updateUpdate Trip CityA
DestructiveIdempotent
Inspect

Replace one trip-city association with another city. This never edits the shared city catalog record.

Inputs: trip_id (required), trip_city_id (required), city_id, country, +1 more.

trip_cover_updateUpdate Trip Cover PhotoA
Destructive
Inspect

Set a trip's cover photo from an image URL or a place_photo_reference returned by places_search/place_details. Becomes the trip's hero image immediately. Provide the trip_id from trips_list.

Inputs: trip_id (required), image_url, place_photo_reference.

trip_createCreate tripAInspect

Create a new trip with explicit start_date and end_date (YYYY-MM-DD), covering its planned segments. Returns its ID; the authenticated user becomes the owner.

Inputs: title (required), end_date (required), start_date (required), description, +1 more.

trip_deleteDelete tripA
Destructive
Inspect

Delete a trip owned by the authenticated user and its itinerary segments. Requires confirmed=true after explicit user confirmation. Also removes connected calendar events when automatic sync is enabled.

Inputs: trip_id (required), confirmed (required).

trip_detailsView trip itineraryA
Read-onlyIdempotent
Inspect

Get detailed information about a specific trip. The text response includes the trip summary plus a chronological list of every segment (flights, hotels, activities, etc.) with each segment_id, so you can chain directly to segment_details, segment_update, segment_delete, or flight_status_for_segment without another search. Also includes traveler count. For full per-segment details, use segment_details with the returned segment_id. Use sections and segment_types to filter the response.

Inputs: trip_id (required), sections, segment_types. Returns: trip, canEdit, capabilities, contractVersion

trip_expense_createAdd trip expenseAInspect

Add expenses to a trip's shared expense ledger, with who paid and how each is split. Uses the same rules as the Expenses screen in Tineo. For one expense, send description and amount; for several (a list of receipts, a spreadsheet, a whole trip's costs), send them all in expenses in one call, up to 50 per call, instead of one call per expense. Each item in expenses is added or rejected on its own; failed items come back by index with the reason, so resend only those. Get traveler IDs from trip_expenses_list. Defaults: payer is the user, date is today in the user's profile time zone, an equal split with everyone on the trip (all on the payer on a solo trip). Confirm the amounts, payers and splits with the user before calling; for a batch, confirm the list once.

Inputs: trip_id (required), date, notes, split, +7 more.

trip_expenses_listTrip ExpensesA
Read-onlyIdempotent
Inspect

List a trip's individual expenses with who paid and how each is split, plus the trip's travelers (ID, name, and which one is the user). Use it to find an expense or traveler ID before trip_expense_update or trip_expense_create. For totals and who owes whom use get_trip_expense_summary.

Inputs: trip_id (required), query.

trip_expense_updateEdit trip expenseA
DestructiveIdempotent
Inspect

Change an existing trip expense: amount, description, date, category, who paid, or how it is split (for example, make an expense 100% one person's). Get the expense ID and traveler IDs from trip_expenses_list. Send only the fields that change; a split replaces the whole split. Changing the amount of an equal or percentage split keeps the same people and proportions. Only the trip owner or an editor can edit expenses.

Inputs: expense_id (required), date, notes, split, +6 more.

trip_renameRename tripA
DestructiveIdempotent
Inspect

Rename a trip owned by the authenticated user. Returns the old and new titles. May synchronize the title to the trip owner's connected calendars when automatic sync is enabled.

Inputs: trip_id (required), new_title (required).

trip_restoreRestore deleted tripA
Idempotent
Inspect

Restore a deleted trip owned by the authenticated user, together with the itinerary items that were removed when it was deleted (items deleted separately before that stay deleted). Call without trip_id to list recently deleted trips. Call with trip_id to preview the restore; nothing changes until the user explicitly confirms and you call again with confirmed=true. May re-add the trip to the owner's connected calendars when automatic sync is enabled.

Inputs: trip_id, confirmed, expected_deleted_at.

trip_sharing_getGet trip sharingA
Read-onlyIdempotent
Inspect

Read who can see the user's own trips, one trip (trip_id) or every trip they own (paged). For each trip it reports the three sharing mechanisms separately: people with per-trip access (access edit/view/invited/none, where invited means an invitation awaits acceptance and can still be revoked; invitation status pending/accepted/declined/expired, level view/edit, and traveler role), whether a public view link is active, and the trip's own friend-sharing switches (hidden from friends, plans shared with friends; per trip, not account settings). Pass friend_user_id (from friends_list) to also get that friend's exact state on each trip: per-trip access, invitation, and whether they see the trip summary or full plan through friend sharing (planVisibleVia: friend_grant = the user shares plans with this friend on every trip, trip_grant = this trip shares plans with all friends, or both). Use this before trip_sharing_set and to report sharing status. Only the trip owner can read this. Revoked invitations are deleted, so they are not listed. Never show IDs to the user.

Inputs: page, trip_id, page_size, upcoming_only, +1 more.

trip_sharing_setShare trips with a friendA
DestructiveIdempotent
Inspect

Give one friend view or edit access to the user's own trips, change their level, or remove it (access=none), for specific trips (trip_ids) or every trip the user owns (all_trips=true, 25 per page). Idempotent: it checks each trip first and only changes what differs, so re-running it never sends a duplicate invitation. New access is an invitation emailed to the friend, who gets access once they accept. Without confirmed=true nothing is written or emailed: it returns the plan per trip (would_invite, would_update_access, would_revoke, already_correct, already_invited, needs_attention). Show that plan, and call again with the same arguments plus confirmed=true only once the user has explicitly asked for this change, in this conversation or in the instructions of a scheduled task they set up; after they approve the plan, apply it without previewing or asking again. Results per trip: invited, invitation_updated, access_updated, revoked, already_correct, already_invited, needs_attention (with a reason, e.g. not the owner or access via the traveler list) or failed; report them to the user, describing invited trips as pending invitations rather than access already granted. Friend summaries are separate and never changed here: they follow the user's friend settings and each trip's hide-from-friends switch. Only friends can get access; for someone who is not a friend yet, offer friend_request_send first. If their friend request is still pending, the call changes nothing and returns friendRequest and a note: tell the user they haven't accepted yet, and only if the user still wants it, call again with confirmed=true and pending_friend_confirmed=true. Get friend_user_id from friends_list; never guess it from a name. Never show IDs to the user.

Inputs: access (required), friend_user_id (required), page, message, +5 more.

trips_hubTineo: My TripsA
Read-onlyIdempotent
Inspect

Opens the Tineo trips app: browse current, upcoming, and past trips and open a trip's day-by-day itinerary. The user launches it from the ChatGPT sidebar or a conversation panel.

Inputs: no named parameters. Returns: type, sections, totalCount, activeCount, +2 more

trips_listList tripsA
Read-onlyIdempotent
Inspect

List the user's trips. Use this when the user wants to see their trips, search for a specific trip, or asks about their travel plans.

Inputs: limit, search, status. Returns: trips, filters, totalCount

trip_travelersList trip travelersB
Read-onlyIdempotent
Inspect

Get the list of travelers/participants for a specific trip. Returns names, emails, roles, and which segments each traveler is assigned to.

Inputs: trip_id (required). Returns: tripId, canEdit, travelers

trip_updateUpdate tripB
Destructive
Inspect

Update trip dates, title, destination, or description for a trip the authenticated user can edit. May synchronize changes to the trip owner's connected calendars when automatic sync is enabled.

Inputs: trip_id (required), name, title, end_date, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
      16
      9 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources