accueil / serveurs / Recherche & Web / app.dreamfare/mcp
app.dreamfare/mcp
serveur MCP (Model Context Protocol) · dreamfare 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que app.dreamfare/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « app.dreamfare/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 21 outils
- add_to_trip≈ 1848 tokens
Put something on a trip as stops. source says what: stops (plain stops you describe in stops), saved_places (library places with their pins, photos and links; by savedPlaceIds, folderName, or importId for everything an import found), search_result (one option from search_stays, search_activities or search_places by resultId + optionId), flight (a fare from search_flights by searchId + offerId), train (a fare from search_trains by searchId + journeyId), receipt (a booking confirmation as text or base64 image/PDF; parsed, filed on the trip, and the matching stop marked booked). Say which day with dayIndex or date; a stay defaults to its check-in date, a flight or train to its departure day. These are plans, not bookings: the traveler books through each stop's bookingUrl. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (25)
Paramètresdata· string · optionnel
(source=receipt) Raw base64 bytes of the image or PDF, no data URL prefixdate· ? · optionnel
The day's calendar date (YYYY-MM-DD) instead of dayIndexkind· string · optionnel · stay | activity | place
(source=search_result) What the option is, for legacy object callers. stay = a search_stays property. activity = a search_activities product. place = a search_places result's itemDraft. Restored from resultId when you pass one.text· string · optionnel
(source=receipt) The confirmation text; omit when sending image/PDF bytestime· ? · optionnel
Start time at the destination, HH:MM (a stay's check-in time; saved_places: the first place of each day)stops· array · optionnel
(source=stops) Each stop names its day with dayIndex or dateguests· ? · optionnel
(source=search_result) Stays: travelers sharing the roomoption· object · optionnel
(source=search_result) The option/offer object (or, for kind 'place', the itemDraft), unchangedsource· string · requis · stops | saved_places | search_result | flight | train | receipt
stops = plain stops described in `stops`; saved_places = library places by savedPlaceIds, folderName or importId, with pins, photos and links intact; search_result = one search option by resultId + optionId; flight = a search_flights fare by searchId + offerId; train = a search_trains fare by searchId + journeyId; receipt = a booking confirmation (text, or contentType + data) filed on the tripstopId· string · optionnel
(source=receipt) Link the confirmation to this stop and mark it bookedtripId· string · requischeckIn· ? · optionnel
(source=search_result) Stays: requiredofferId· string · optionnel
(source=flight) The fare's id from that searchcheckOut· ? · optionnel
(source=search_result) Stays: requireddayIndex· ? · optionnel
0-based day for the stop (stops carry their own); or give date insteadimportId· string · optionnel
(source=saved_places) Everything an import found; the import's own day hints place each stopoptionId· string · optionnel
Exact propertyId (stay), productId (activity), or id (place) from that search replyresultId· string · optionnel
The search reply's display.resultId; account-bound and retained for 30 minutessearchId· string · optionnel
(source=flight, train) The searchId returned by search_flights or search_trainsjourneyId· string · optionnel
(source=train) The journey's id from that searchfolderName· string · optionnel
(source=saved_places) Every place in this library foldercontentType· string · optionnel · image/jpeg | image/png | image/webp | application/pdf
(source=receipt) Type of the base64 bytes in datapresentation· object · optionnelsavedPlaceIds· array · optionnel
(source=saved_places) Place ids from list_libraryspreadAcrossDays· boolean · optionnel
(source=saved_places) Deal the places out across the trip's days in order instead of one day
Exemple d'appel{"name": "add_to_trip", "arguments": {"source": "stops", "tripId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_trip≈ 1208 tokens
Save a travel plan as a Dreamfare trip the traveler can open, edit with their crew, and book. Pass the full day-by-day plan in one call via days; stops are enriched shortly after creation (photos, map pins, booking links). Use plan_trip instead when the traveler wants Dreamfare's planner to build the days. To copy a trip, pass copyFromPublicationId (a trip from explore_trips; keeps the creator's credit) or copyFromTripId (one of the traveler's own) and no days. Before planning a destination, check list_library for the traveler's saves there and ask whether to include them (add_to_trip source=saved_places keeps their pins and links). Returns the trip and its URL; always give the traveler that URL. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (16)
Paramètresdays· array · optionnel
Day-by-day plan; day 1 falls on startDate when dates are setrooms· integer · optionneltitle· string · optionnel
Required unless copyingadults· integer · optionnel
Adults travelling; wins over partySizeendDate· ? · optionnelcurrency· string · optionnel
Trip budgeting currency; defaults to the traveler's home currency, then USDpartySize· integer · optionnelstartDate· string · optionnelcabinClass· ? · optionneldescription· string · optionnelchildrenAges· array · optionnel
One age per child travellingpresentation· object · optionnelcopyFromTripId· string · optionnel
Duplicate one of the traveler's own tripsdestinationName· string · optionnel
City or region, e.g. 'Tokyo'copyFromPublicationId· string · optionnel
Copy a published trip (publicationId from explore_trips) into the traveler's accountdestinationCountryCode· string · optionnel
ISO 3166-1 alpha-2
Exemple d'appel{"name": "create_trip", "arguments": {"days": [], "rooms": 1, "title": "texte", "adults": 1, "endDate": "texte", "currency": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_trip≈ 183 tokens
Delete a trip the traveler owns (also unpublishes it from Explore). Requires echoing the exact trip title as confirmTitle; only call this after the traveler explicitly asks to delete the trip. Returns data plus display.resultId; call display_card to show it.
Paramètres, retour & exemple (2)
ParamètrestripId· string · requisconfirmTitle· string · requis
The trip's exact title, as confirmation
Exemple d'appel{"name": "delete_trip", "arguments": {"tripId": "texte", "confirmTitle": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - display_card≈ 476 tokens
Show a Dreamfare card to the traveler: a trip's itinerary (tripId) or the details of an earlier result (resultId, from that tool's display.resultId). Call it once, after the requested work is done or when the traveler asks to see something; never after every intermediate call. It reads a saved snapshot retained for 30 minutes and never repeats a search, edit, import, message or charge. If a snapshot has expired, use a non-charging lookup to retain a new result; never repeat a trip/account edit, import or charge merely to display it. This is the only tool that opens a visual; every other tool returns data. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (3)
ParamètrestripId· string · optionnel
Show this trip's itineraryresultId· string · optionnel
Show an earlier result by its display.resultId; never invent this idpresentation· object · optionnel
Exemple d'appel{"name": "display_card", "arguments": {"tripId": "texte", "resultId": "texte", "presentation": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - edit_library≈ 1447 tokens
Change what the traveler has saved, in one call: save a place, delete places, move places into a folder or out to unsorted, rename a place, create, rename or delete folders, and add or remove travel tips. Save a place when the traveler wants it remembered without putting it on a trip yet; put library places on a trip with add_to_trip source=saved_places. Ids and folder names come from list_library. Deleting a folder keeps its places as unsorted. Returns the places shelf, plus savedPlace and tips for the parts that ran. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (11)
Paramètresmove· array · optionnel
Move places: folderName null means unsorted, and a new name creates the folder.rename· array · optionnel
Give saved places new titles.addTips· array · optionnel
Tips to write into the notebook. Leave areaName out for advice that travels everywhere.savePlace· object · optionnel
Remember one place. Saving a title already in the library is a no-op.removeTips· array · optionnel
Tip ids to delete (list_library with kind tips).showFolder· string · optionnel
Which folder the returned shelf shows.deletePlaces· array · optionnel
Saved place ids to delete from the library.presentation· object · optionnelcreateFolders· array · optionnel
Folder names to create; an existing name is left alone.deleteFolders· array · optionnel
Delete folders by name; their places survive as unsorted.renameFolders· array · optionnel
Rename folders by name.
Exemple d'appel{"name": "edit_library", "arguments": {"move": [], "rename": [], "addTips": [], "savePlace": {}, "removeTips": [], "showFolder": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - edit_trip≈ 2615 tokens
Every change to an existing trip in one batched call. Structural actions: update_trip (details and notes), update_stop / remove_stop / move_stop (by stopId from get_trip), add_day / update_day / remove_day (by 0-based dayIndex). Side actions: packing (the packing list), mark_booked (record a booking the traveler made), vote_stop (crew votes), refresh_stay_prices (re-quote partner-priced stays). Stage actions, at most one per call and run last: finalize locks the trip for sharing and booking, reopen unlocks it, publish puts a finalized trip on a public link and Explore, unpublish takes it off. Omitted fields keep their value; null clears. A finalized trip rejects structural edits, so reopen it in its own call first. remove_stop and remove_day delete data. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (3)
ParamètrestripId· string · requisactions· array · requispresentation· object · optionnel
Exemple d'appel{"name": "edit_trip", "arguments": {"tripId": "texte", "actions": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - explore_trips≈ 601 tokens
Trips other travelers published on Dreamfare, by destination and free text: real itineraries with stops, photos and creator credit. Give the traveler their own editable copy with create_trip copyFromPublicationId. Use it for inspiration and for how locals actually route a city, not for live prices. Continue the same search with nextOffset. Retains an account-bound result for 30 minutes for later display; does not copy, publish or change a trip. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (6)
Paramètresq· string · optionnel
Words in the title or summary.sort· string · optionnel · popular | newest
popular: most liked, saved and copied first. newest: most recently published first.limit· integer · optionnel
How many trips to return.offset· integer · optionnel
Skip this many trips. Pass the nextOffset from the previous call.destination· string · optionnel
City, region or country the trip goes to.presentation· object · optionnel
Exemple d'appel{"name": "explore_trips", "arguments": {"q": "texte", "sort": "popular", "limit": 1, "offset": 1, "destination": "texte", "presentation": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_profile≈ 359 tokens
The traveler's Dreamfare account snapshot: profile, membership tier, Stardust credits, and wallet balance (commission earned through tracked bookings). Reading also initializes or reconciles membership and credit allowance records: expired membership can end, the monthly credit period can roll, and the grant can change with the tier. This does not spend credits, purchase travel, or change the wallet balance. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (1)
Paramètrespresentation· object · optionnel
Exemple d'appel{"name": "get_profile", "arguments": {"presentation": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_trip≈ 478 tokens
Read a trip, or list the traveler's trips (own and shared, newest first) when tripId is omitted. A trip comes back with its days and stops (stopIds for edit_trip), the packing list, tips for the destination, the sharing state, and per-stop booking links; bookings made through a stop's bookingUrl earn the traveler commission back. include adds essentials (tracked partner links for an eSIM, rental cars and transfers), crew (members, roles, open invites), receipts (filed booking confirmations) and chat (the crew chat, newest last; chatBefore pages back). Read silently while planning; show the plan with display_card. Retains an account-bound result for 30 minutes for later display; does not edit the trip, mark chat read or make a booking. Returns data plus display.resultId; call display_card to show it.
Paramètres, retour & exemple (4)
ParamètrestripId· string · optionnel
Omit to list the traveler's trips insteadinclude· array · optionnel
Extra sections to fold in: essentials = tracked eSIM, rental-car and transfer links for the destination; crew = owner, collaborators with roles, and open invites; receipts = booking confirmations filed on the trip; chat = the crew chat's latest messages, including pollschatLimit· integer · optionnel
With include chat: how many messageschatBefore· string · optionnel
With include chat: only messages before this ISO timestamp, to page further back
Exemple d'appel{"name": "get_trip", "arguments": {"tripId": "texte", "include": [], "chatLimit": 1, "chatBefore": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - import_places≈ 784 tokens
Pull the real places and travel tips out of something the traveler shares and save them to their library. source url reads a TikTok, Instagram, YouTube, Facebook, Reddit, blog or other travel page on the Dreamfare server, subject to the source being reachable. source text reads words they pasted. source file reads a screenshot or travel PDF. Runs in the background: poll list_library with the returned importId until status is done or failed, about 20 to 90 seconds. Every place and tip is saved with its source, so list_library finds them later. Once done, add them to a trip with add_to_trip source=saved_places (importId keeps the pins, photos and tips) or plan days around them with plan_trip. General travel tips are advice, not stops. Costs Stardust credits exactly like importing in the app, and a failed import refunds them. Identical input within 10 minutes returns the same importId without another charge, including a failed job. Poll that job instead of starting it again. Use a new operationId only when the traveler explicitly asks for a fresh extraction; keep it unchanged when retrying. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (7)
Paramètresurl· string · optionnel
(source=url) The video, post or blog address, exactly as shared.data· string · optionnel
(source=file) Raw base64 bytes, no data URL prefix.text· string · optionnel
(source=text) The pasted text, verbatim. At least 40 characters.source· string · requis · url | text | file
Where the places come from. url: a link the traveler shared. text: words they pasted. file: a screenshot or PDF they supplied.contentType· string · optionnel · image/jpeg | image/png | image/webp | image/heic | application/pdf
(source=file) The bytes' media type. image/jpeg, image/png, image/webp and image/heic are screenshots or photos; application/pdf is a travel document.operationId· string · optionnel
Normally omit. Only for an explicitly requested fresh extraction of the same input within 10 minutes: choose a new operation ID once, then reuse it for retries. Different input is always a separate import.presentation· object · optionnel
Exemple d'appel{"name": "import_places", "arguments": {"source": "url"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_library≈ 950 tokens
Read what the traveler has saved: their places with folders, their travel-tips notebook, and the results of an import. Topic/area search can refresh missing or expired venue photos from public place providers without changing the saved entries. Pass importId to follow an import started by import_places: while status is neither done nor failed, call again after about 15 seconds. Pass query or area to search places and tips together, with the source each one came from. Pass folderName, type or sort to browse the places shelf itself, and offset with the returned nextOffset to continue. Tips are advice, never itinerary stops. Put library places on a trip with add_to_trip source=saved_places (by savedPlaceIds, folderName or importId), or plan days around them with plan_trip. Retains an account-bound result for 30 minutes for later display; does not start an import, spend credits or change library entries. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (10)
Paramètresarea· string · optionnel
Destination to scope the answer to, such as 'Lisbon'. General tips come with it.kind· string · optionnel · all | places | tips
What to read. all: saved places and tips together. places: saved places only. tips: the tips notebook only.sort· string · optionnel · newest | oldest | name
Places only. newest: most recently saved first. oldest: earliest saved first. name: alphabetical by title.type· string · optionnel · all | places | areas
Places only. all: everything saved. places: individual places. areas: whole-city or region entries, which are destinations rather than stops.limit· integer · optionnel
How many entries to return. Searches return at most 8; the shelf defaults to 40.query· string · optionnel
Words to look for in saved places and tips, such as 'airport train'.offset· integer · optionnel
Skip this many entries. Pass the nextOffset from the previous call.importId· string · optionnel
Follow this import: its status and every place and tip it extracted.folderName· string · optionnel
Places only: one folder's places; 'unsorted' means places in no folder. Keeps the answer on the places shelf even with a query.presentation· object · optionnel
Exemple d'appel{"name": "list_library", "arguments": {"area": "texte", "kind": "all", "sort": "newest", "type": "all", "limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - manage_crew≈ 894 tokens
Everything that changes who is on a trip, plus the crew chat, in one call: invite someone, change a member's role, remove a member, leave the trip, revoke an open invite, and post a message. Read the crew and the chat first with get_trip include crew and include chat: collaboratorId, invite ids and member userIds all come from there. Anyone who can edit the trip may invite and post, only the owner may set roles, remove members or revoke invites, and any member other than the owner may leave. An emailed invite leaves Dreamfare. Returns the crew, plus invite and posted for the parts that ran. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (8)
Paramètrespost· object · optionnel
Say something to the crew in the trip's chat.leave· boolean · optionnel
Remove yourself from the trip. The owner cannot leave; delete the trip instead.invite· object · optionnel
Create an invite link. With no email, the returned link is what to share.remove· array · optionnel
Owner only: collaboratorIds to take off the trip.tripId· string · requis
The trip whose crew is changing.setRole· array · optionnel
Owner only: change what these members may do.presentation· object · optionnelrevokeInvites· array · optionnel
Owner only: invite ids to kill, so the links stop working.
Exemple d'appel{"name": "manage_crew", "arguments": {"tripId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - plan_trip≈ 1187 tokens
Build a complete day-by-day trip in one call with Dreamfare's own planner: real venues with their opening hours, a stay, activities from partner inventory, the traveler's saved places woven in, pins, photos and booking links, all stitched server-side in about 10 seconds. Prefer it for 'plan me N days in X'. Use create_trip when the traveler dictated the stops themselves. The traveler's saved places at the destination count even when they do not mention them: pass savedPlaceIds or folderName for the ones they want in, or includeSavedPlaces (true = all of them, false = none). Leave all three out and, when they have saves there, the call returns them unbuilt and uncharged so you can ask first. Costs Stardust credits like planning in the app, and get_profile shows the balance. Give the traveler the trip URL. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (14)
Paramètresbrief· string · requis
What the traveler wants, in their words: pace, interests, budget, must-sees, dietary needstitle· string · optionnel
Trip title; defaults to the destination.endDate· ? · optionnelcurrency· string · optionnel
ISO currency code for the trip's prices; defaults to the traveler's home currency.logistics· object · optionnel
Already-booked stays and flights; the planner keeps these fixed and plans around them.partySize· integer · optionnel
How many people travel; sizes the stay and the costs.startDate· string · optionnelfolderName· string · optionnel
Weave in every place from this saved-places folder (max 20)durationDays· integer · optionnel
Number of itinerary days, even without calendar dates. With one date, derives the other; with both dates, must equal their inclusive span. Default 4 when dates do not determine duration.presentation· object · optionnelsavedPlaceIds· array · optionnel
Saved places to weave into the days; ids come from list_library.destinationName· string · requis
City or region, e.g. 'Lisbon'includeSavedPlaces· boolean · optionnel
The traveler's answer about their saved places at the destination: true weaves in all of them (max 20), false leaves them out. Omit it before you've asked.destinationCountryCode· string · optionnel
ISO alpha-2 country code of the destination.
Exemple d'appel{"name": "plan_trip", "arguments": {"brief": "texte", "destinationName": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - research_options≈ 1459 tokens
Research options from an earlier search: one in depth, or two to five side by side. Pass resultId (that search reply's display.resultId) with optionIds. One id returns everything known about that option: photos, an editorial summary and what reviewers say, key facts (stars, guest score, capacity, cancellation and instant-book policies, duration, languages, meeting point, inclusions, itinerary, opening hours, price level, phone, website), features, the exact location, and prices per booking site for stays plus tours and tickets at landmarks. Two to five ids return one table: price, rating and reviews, distance, duration, cancellation and features, with the best cell in each row marked and verdict naming the winners. Use it when the traveler asks about one option ('tell me more', 'is it near', 'what's included', 'can I cancel', 'is it open Sunday'), when they are weighing a few ('which of these', 'A or B', 'the cheapest that is still well rated'), and before recommending one. Every option is researched fresh, so the answer is exact rather than a summary of the search screen. Stays: pass checkIn, checkOut and guests so prices cover the traveler's dates. Legacy callers without a resultId can echo search objects in option or options, pass a search_places placeId as id, or a name with destination. Attach what the traveler picks with add_to_trip source 'search_result', reusing the same resultId and optionId. Retains an account-bound research result for 30 minutes for later display. Does not reserve, purchase or spend credits. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (16)
Paramètresid· string · optionnel
A search_places result's placeId (kind 'place')date· ? · optionnel
Activities: the day the traveler has in mindkind· string · optionnel · stay | activity | place
What the options are, for legacy object callers. stay = a property from search_stays | activity = a product from search_activities | place = a restaurant, shop, landmark or Google-listed hotel from search_places. Restored from resultId when you pass one.name· string · optionnel
Look up by name when there is no object: 'Time Out Market'near· string · optionnel
The landmark or neighborhood the search was anchored on, so distances read 'from Alfama'guests· integer · optionnel
Stays: travelers sharing the roomoption· object · optionnel
Legacy single-option research: the search result echoed unchangedcheckIn· string · optionnel
Stays: the traveler's check-in date, so prices cover their nightsoptions· array · optionnel
Legacy comparison: two to five search results of one kind, echoed unchangedcheckOut· ? · optionnel
Stays: the traveler's check-out datecriteria· array · optionnel
Comparison only: compare these rows, in this order, with no duplicates. Stays take nightly (per-night price), total (whole-stay price), stars, rating, reviews, distance, sleeps, cancellation, features. Activities take perPerson (per-person price), rating, reviews, duration, category, languages, cancellation, distance, features. Places take rating, reviews, priceLevel, openNow, hoursToday, distance, features. Rows that do not apply come back in unavailableCriteria.currency· string · optionnel
ISO pricing currency; defaults to the traveler's home currencyresultId· string · optionnel
The search reply's display.resultId; account-bound and retained for 30 minutesoptionIds· array · optionnel
Exact IDs from that search reply (propertyId for a stay, productId for an activity, id for a place), in the order to research. One id returns the full detail; two to five return a comparison in this order. Needs resultId, and must not be combined with option/options/id/name.destination· string · optionnel
City the options are in; anchors name lookups and distancespresentation· object · optionnel
Exemple d'appel{"name": "research_options", "arguments": {"id": "texte", "date": "texte", "kind": "stay", "name": "texte", "near": "texte", "guests": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_activities≈ 1440 tokens
Search bookable activities, tours and experiences for a destination. Say what kind with q ('food tour', 'sunset cruise', 'day trip to Sintra') and narrow with category, flags, tags, duration or minRating. Default order is partner relevance: for a budget or a 'cheaper' ask set maxPrice or minPrice and sort cheapest instead of repeating the search, and read priceRange for what was found. Each result carries tags, flags and a short description. Plain activity stops added with add_to_trip source 'stops' are matched to partners automatically, so search here only when the traveler wants options. Research one, or weigh two to five, with research_options using this reply's display.resultId and each productId; attach the pick with add_to_trip source 'search_result'. Retains an account-bound result for 30 minutes for later display, research or attachment. Does not purchase or spend credits. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (22)
Paramètresq· string · optionnel
What kind of experience, in the traveler's words: 'food tour', 'sunset cruise', 'kayaking'date· string · optionnelname· string · optionnel
ONE specific product the traveler named ('Devour Lisbon food tour'): found on its own terms and leads the list. A kind of experience is qnear· string · optionnel
A landmark, neighborhood or hotel inside the destination to search around: products with a known meeting point stay within 5 km (or maxDistanceKm) and report distanceMeters, nearest firstsort· string · optionnel · best | cheapest | rating | duration
best = partner relevance (default) | cheapest = lowest per-person price | rating = best reviewed first | duration = shortest firsttags· array · optionnel
Partner tag words EVERY kept product must carry: 'kid' / 'family', 'wheelchair', 'small group', 'private', 'romantic', 'sunset', 'night', 'luxury', 'self-guided', 'audio guide', 'hop-on hop-off'. For who-it-is-for asks, instead of stuffing qflags· array · optionnel
Every kept product must carry all of these. free_cancellation = cancellable for a refund | skip_the_line = priority entry | private_tour = your party only | likely_to_sell_out = limited availabilitylimit· integer · optionneloffset· integer · optionnel
'Show me more': skip this many products (12 per page) instead of repeating the same searchcategory· string · optionnel
Keep only products whose partner tags match ('Food & Drink', 'Day Trips', 'Museums', 'Walking Tours')currency· string · optionnelfallback· string · optionnel · cheapest | none
What to do when nothing matches. cheapest = return the cheapest available, labeled as alternatives (default) | none = keep the filters strict and return nothingmaxPrice· number · optionnel
Per-person price ceiling, MAJOR units of the pricing currency (50 = $50)minPrice· number · optionnel
Per-person price floor, major unitsminRating· number · optionnel
Traveler-rating floor, 0–5timeOfDay· string · optionnel · morning | afternoon | evening
Keeps products whose listed start times fall in that window; products with no listed time stay. morning = before noon | afternoon = noon to 17:00 | evening = after 17:00minReviews· integer · optionnel
'Well reviewed' / 'popular': ignore products with fewer reviews than this (300 is a solid bar)destination· string · requispresentation· object · optionnelmaxDistanceKm· number · optionnel
Drop products whose meeting point is farther than this from `near`maxDurationMinutes· integer · optionnel
'Under 3 hours' = 180minDurationMinutes· integer · optionnel
Exemple d'appel{"name": "search_activities", "arguments": {"destination": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_car_rentals≈ 754 tokens
Search Trip.com rental cars for an airport pickup and drop-off, with exact local dates and times, the driver's age and the licence's issuing country. Ask for a missing age or licence country; never guess either. Trip.com quotes a 30 to 60 driver-age band for that range, while supplier eligibility uses the real age. Returned prices are rental totals, not daily rates, and deposits sit outside them. Links open a search the traveler completes: they confirm the vehicle, the policies and the final price there. There is no in-app booking, and a failed source never means no cars exist. Retains an account-bound result for 30 minutes for later display. Does not reserve a car or spend credits. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (13)
Paramètrescurrency· string · optionnelminSeats· integer · optionnel
Keep only cars with at least this many seatsdriverAge· integer · requis
The driver's actual age; ask, never guesspickupDate· string · requispickupTime· string · requis
Local pickup time, HH:MMdropoffDate· ? · requisdropoffTime· string · requis
Local drop-off time, HH:MMpresentation· object · optionneltransmission· string · optionnel · automatic | manual
automatic = self-shifting gearbox | manual = stick shiftpickupAirport· string · requis
Pickup airport, exact IATA code. Resolve a city name with search_flights first.dropoffAirport· string · optionnel
Drop-off airport IATA code; defaults to the pickup airportlicenseCountry· string · requis
The driving licence's issuing country, ISO2; ask, never guessmaxTotalAmount· integer · optionnel
Rental-total ceiling in integer minor units of currency
Exemple d'appel{"name": "search_car_rentals", "arguments": {"driverAge": 1, "pickupDate": "texte", "pickupTime": "texte", "dropoffDate": "texte", "dropoffTime": "texte", "pickupAirport": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_flights≈ 2347 tokens
Search and compare real flights for a route and dates, or re-read an earlier board. A fresh search starts a server-side provider search job and retains its board; it does not book or purchase a flight. origin and destination take an IATA airport or metro code, or a plain city or airport name that is resolved here; when several cities match or none does, the reply is an error carrying candidates, so ask the traveler and search again with a code. Pass searchId to filter, sort or re-read a board without another scrape; a partial board can gain fares when read again. Every fare carries the quote of each site that answered. Never imply a site that did not answer was searched. Returned amounts, minTotalAmount and maxTotalAmount are whole-party integer minor units; maxTotal and minTotal take normal currency units and priceBasis says whether they mean the party or a seat. Lead with the per-seat price and its seats multiplier when the party buys more than one seat, then name the whole-party total once. Clock filters are local to each departure or arrival airport. For a deadline such as home by Sunday evening resolve the exact date and use returnArriveBy; arriveBy is the outbound equivalent. bookingUrl opens the exact itinerary on bookOn, itineraryUrl is that provider's own page, sourceUrl is research evidence only. Attach a fare with add_to_trip source 'flight', this searchId and the fare's offerId. Prices are indicative until the traveler books. Returns data plus display.resultId; call display_card to show it.
Paramètres, retour & exemple (37)
Paramètressort· ? · optionnel
best = balanced price, time and connections (default) | cheapest = lowest whole-party fare | fastest = shortest elapsed journey | fewest_stops = fewest connectionscabin· string · optionnel · economy | premium_economy | business | first
economy = the standard cabin | premium_economy = the extra-legroom cabin | business = lie-flat or wide seat | first = the top cabinlimit· ? · optionnel
Maximum fares to return, in requested sort order. Use 1 for one flight or 3 for three; default 3. Return fewer only when fewer are available. Maximum 60.origin· string · optionnel
Where the flight starts: an IATA airport or metro code (LHR, LON), or a city or airport name resolved here ('Lisbon' becomes LIS). Omit only when refining with searchId.infants· ? · optionnel
Infants under 2; at most one per adultairlines· ? · optionnel
Only these IATA carrier codes on every segmentarriveBy· string · optionnel
Absolute outbound arrival deadline YYYY-MM-DDTHH:MM in the arrival airport local calendarcabinBag· ? · optionnel
Only fares including a cabin bagchildren· ? · optionnel
Children aged 2 to 11currency· string · optionnel
ISO pricing currency; defaults to the traveler's home currencymaxStops· ? · optionnel
Maximum connections in EACH direction; 0 means nonstopmaxTotal· ? · optionnel
Fare ceiling in normal currency units; priceBasis defaults to totalminTotal· ? · optionnel
Fare floor in normal currency units; priceBasis defaults to totalsearchId· string · optionnel
Refine an earlier board instead of scraping again: the searchId that search returned, retained for about 90 minutes. Route, dates, party, cabin and currency stay as they were; filters and sort narrow what was retained.checkedBag· ? · optionnel
Only fares including a checked bagdepartDate· string · optionnel
Outbound date, YYYY-MM-DD, within 330 days. Omit only when refining with searchId.passengers· integer · optionnel
Adults; default 1priceBasis· string · optionnel · total | per_person
Reads minTotal and maxTotal only. total = the whole party's fare (default) | per_person = the budget is per adult or child seat, infant costs still includedreturnDate· ? · optionnel
YYYY-MM-DD for the return; omit for one wayarriveAfter· ? · optionnel
HH:MM local at the outbound destinationdepartAfter· ? · optionnel
HH:MM local at the outbound origindestination· string · optionnel
Where it lands: an IATA airport or metro code, or a city or airport name. Omit only when refining with searchId.arriveBefore· ? · optionnel
HH:MM local at the outbound destinationdepartBefore· ? · optionnel
HH:MM local at the outbound originpresentation· object · optionnelmaxTotalAmount· integer · optionnel
Whole-party fare ceiling in integer MINOR units, regardless of priceBasisminTotalAmount· integer · optionnel
Whole-party fare floor in integer MINOR units, regardless of priceBasisnoSelfTransfer· ? · optionnel
Hide separate-ticket itinerariesreturnArriveBy· ? · optionnel
Absolute home arrival deadline YYYY-MM-DDTHH:MM in the home airport local calendar; requires returnDate. Use for home by Sunday evening instead of a clock-only filter.excludedAirlines· array · optionnel
Exclude these IATA carrier codes from every segmentmaxLayoverMinutes· integer · optionnel
Maximum ground time at EVERY connection; nonstop fares remain eligibleminLayoverMinutes· integer · optionnel
Minimum ground time at EVERY connection; nonstop fares remain eligiblereturnArriveAfter· ? · optionnel
HH:MM local at the return destination; requires returnDatereturnDepartAfter· ? · optionnel
HH:MM local at the return origin; requires returnDatemaxDurationMinutes· integer · optionnel
Maximum elapsed journey duration in EACH direction, including connectionsreturnArriveBefore· ? · optionnel
HH:MM local at the return destination; requires returnDatereturnDepartBefore· ? · optionnel
HH:MM local at the return origin; requires returnDate
Exemple d'appel{"name": "search_flights", "arguments": {"sort": "texte", "cabin": "economy", "limit": "texte", "origin": "texte", "infants": "texte", "airlines": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_places≈ 1327 tokens
Find real venues for a destination: restaurants, activities, hotels, landmarks and shopping, with ratings, pins and photos, from partner inventory plus cached Google Places. Use it to ground a plan in real places. For hotels pass checkIn and checkOut, or use search_stays: without them prices cover a sample window a month out and the reply says so in pricedWindow, and a hotel added to a day is re-dated and re-quoted. Narrow with openNow or openAt, priceLevels, minRating, and near with radiusKm. minRating reads each source's own scale: hotels run 0 to 10, Google places and tours 0 to 5. Research a result, or weigh two to five, with research_options using this reply's display.resultId and the result's id; attach the pick with add_to_trip source 'search_result', which keeps its pin, photo and any partner bookability. Retains an account-bound result for 30 minutes for later display, research or attachment. Does not save library entries, edit trips or spend credits. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (23)
Paramètresq· string · optionnel
Refinement, e.g. 'ramen', 'sunset cruise'kind· string · requis · activity | hotel | restaurant | shopping | landmark
activity = tours and experiences | hotel = places to stay | restaurant = places to eat | shopping = shops and markets | landmark = sights and attractionsnear· string · optionnel
A landmark or neighborhood inside the region to search aroundsort· string · optionnel · best | cheapest | rating
best = relevance (default) | cheapest = lowest price first | rating = best rated firstlimit· integer · optionnel
Maximum results to return, including one or three. A provider page can contain fewer.guests· integer · optionneloffset· integer · optionnel
Continue with the previous reply's nextOffset; keep the same query and filters.openAt· string · optionnel
Only places open at this local time, 'YYYY-MM-DDTHH:MM' (needs listed hours)region· string · requis
City or region, e.g. 'Lisbon'checkIn· string · optionnel
Hotels: price a concrete windowopenNow· boolean · optionnel
Restaurants/shops/landmarks: only places open right nowcategory· string · optionnel
Activities: partner tag to keep ('Food & Drink')checkOut· ? · optionnelcurrency· string · optionnelradiusKm· number · optionnel
How far around `near` to look (default 3 km)maxBudget· number · optionnel
Price ceiling in MAJOR units of currency: per night for hotels, per person for activities. Unknown prices follow includeUnpriced.minBudget· number · optionnel
Price floor in the same currency and basis as maxBudget.minRating· number · optionnel
Rating floor: Google/tours 0–5, hotels 0–10priceLevels· array · optionnel
Google price levels to keep: 0 free, 1 $, 2 $$, 3 $$$, 4 $$$$presentation· object · optionnelincludeUnpriced· boolean · optionnel
Keep results with no known price (most restaurants and landmarks). Set false for a shortlist that must have a verifiable price.freeCancellation· boolean · optionnel
Hotels and activities: free cancellation onlymaxDurationMinutes· integer · optionnel
Activities: length ceiling
Exemple d'appel{"name": "search_places", "arguments": {"kind": "activity", "region": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_stays≈ 2144 tokens
Search stays for a city and exact dates. Prices include taxes and fees for the quoted accommodation, and guests is the party sharing it, not a room count. Use budget {amount, currency, basis:'per_night'} or maxNightlyAmount in integer minor units (USD 15000 is $150), and sort cheapest when the traveler wants cheaper. Set constraintMode strict for real requirements; prefer allows labeled alternatives. near searches around a landmark, name finds one named property, and keywords matches style words in listing names. For hotels near food, galleries or other interests pass interests: each one is resolved to real places at the destination and matched by verified straight-line distance. Never call that distance a walking time, and claim no match without verified places. Property type is inferred from listing evidence, not certified by the supplier. No matches and a provider failure are different answers; never invent a matching quote. Research a property with research_options using this reply's display.resultId and the property's propertyId, attach it with add_to_trip source 'search_result', and present the returned bookingUrl for booking. Retains an account-bound result for 30 minutes for later display, research or attachment. Does not reserve, book or spend credits. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (29)
Paramètresname· ? · optionnel
One specific named hotel; a style such as boutique belongs in keywordsnear· ? · optionnel
Landmark or neighborhood inside destination; strict mode uses a 5 km radius unless maxDistanceKm is suppliedsort· ? · optionnel
best = provider relevance (default) | cheapest = lowest nightly price | rating = best guest score first | distance = closest to near or the city center firstlimit· ? · optionnel
Maximum results after filtering and sorting, default 8budget· ? · optionnel
Nightly ceiling for the quoted accommodation, including taxes/fees. Integer MINOR units: USD 15000 = $150. Do not combine with maxNightlyAmount.guests· ? · optionnel
Travelers sharing the quoted accommodation, 1–10; default 2tripId· ? · optionnel
Price against this trip: its currency is used when `currency` is omitted.checkIn· string · requis
Check-in calendar date, YYYY-MM-DDcheckOut· ? · requis
Check-out calendar date, YYYY-MM-DD; must be after checkIncurrency· ? · optionnel
ISO pricing currency. A bound in-app trip supplies its currency; MCP and the account assistant default to home currency, then USD.fallback· ? · optionnel
Legacy alias for constraintMode. none = strict | cheapest = prefer. Do not set both.keywords· ? · optionnel
Up to five style words matched against listing names; any one matchesminStars· ? · optionnel
Hotel-star floor, 1–5interests· ? · optionnel
Traveler interests such as food, art galleries, or quiet parks. Resolves real places and keeps hotels within maxDistanceKm (default 5 km) of a verified place for EACH interest. Do not put interests in listing-name keywords.minGuests· ? · optionnel
Minimum verified sleeping capacity; never relaxedminRating· ? · optionnel
Guest-score floor on the 0–10 scalemaxNightly· ? · optionnel
Deprecated: nightly ceiling in MAJOR currency units (150 = $150). Prefer budget or maxNightlyAmount; never combine them.minNightly· ? · optionnel
Deprecated: nightly floor in MAJOR currency units. Prefer minNightlyAmount; never combine them.minReviews· ? · optionnel
Minimum number of guest reviewsdestination· string · requis
City or town, e.g. Kyoto; use a town within a large regionminBedrooms· ? · optionnel
Minimum bedrooms; never relaxedpresentation· object · optionnelpropertyType· ? · optionnel
hotel (including family suites), rental, or hostel; inferred from listing evidencemaxDistanceKm· ? · optionnel
Maximum distance from near or the city center, in kilometersunknownPolicy· ? · optionnel
Property type only. exclude = drop listings whose type is unproven | include_labeled = keep them, labeled (the default). Price, capacity, cancellation and distance always need evidence.constraintMode· ? · optionnel
strict = every filter is a requirement, nothing is relaxed | prefer = labeled alternatives are allowed when nothing matches exactly (the default)freeCancellation· boolean|null · optionnel
Require supplier-confirmed free cancellation; this requirement is never relaxedmaxNightlyAmount· ? · optionnel
Nightly ceiling in integer MINOR units of currency; alternatively use budgetminNightlyAmount· ? · optionnel
Nightly floor in integer MINOR units of currency
Exemple d'appel{"name": "search_stays", "arguments": {"checkIn": "texte", "checkOut": "texte", "destination": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_trains≈ 1037 tokens
Search real dated train fares for a route, or re-read an earlier search. Results carry departures, arrivals, operators, durations and changes. Prices cover the requested adults, and returnOptions are separate one-way quotes. Pass searchId alone to filter or sort a search without asking the sellers again; pass searchId with journeyId for one fare's stored details. Start a fresh search when the route, date, currency or passenger count changes. A source failure does not mean no trains run. Never substitute a promotional from-price, a seller search page or a generic listing for an individual fare. Attach a fare with add_to_trip source 'train', this searchId and the unchanged journeyId. Stores fresh quotes under searchId for later refinement or attachment and retains an account-bound display result for 30 minutes. Does not reserve a seat, issue tickets or spend credits. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (18)
Paramètressort· string · optionnel · cheapest | fastest | earliest
cheapest = lowest whole-party fare (default) | fastest = shortest journey | earliest = first departurelimit· integer · optionnelorigin· string · optionnel
Where the journey starts, as a city or station name. Rail has no universal station codes. Omit only when refining with searchId.currency· string · optionnelsearchId· string · optionnel
Refine an earlier search instead of asking the sellers again: the searchId it returned. Route, date, currency and passengers stay fixed.journeyId· string · optionnel
With searchId: return the stored details of that one fare, exactly as it was quoted.departDate· string · optionnel
Outbound travel date, YYYY-MM-DD. Omit only when refining with searchId.maxChanges· integer · optionnel
Most changes of train allowed on a journey; 0 means directpassengers· integer · optionnel
Adult travelers; adult quotes never cover childrenreturnDate· ? · optionnel
Explicit return travel date. Omit for one way; never repeat the outbound date.departAfter· string · optionnel
Earliest outbound departure, HH:MM local, including the time it takes to reach the stationdestination· string · optionnel
Where it ends, as a city or station name. Omit only when refining with searchId.departBefore· string · optionnel
Latest outbound departure, HH:MM localpresentation· object · optionnelmaxTotalAmount· integer · optionnel
Whole-party one-way fare ceiling in integer minor unitsreturnDepartAfter· string · optionnel
Earliest return departure, HH:MM local; needs returnDatemaxDurationMinutes· integer · optionnel
Longest acceptable journey, in minutesreturnDepartBefore· ? · optionnel
Latest return departure, HH:MM local; needs returnDate
Exemple d'appel{"name": "search_trains", "arguments": {"sort": "cheapest", "limit": 1, "origin": "texte", "currency": "texte", "searchId": "texte", "journeyId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_profile≈ 439 tokens
Update profile fields: display name, bio, home currency, nationality, and the visited-countries list. Omitted fields keep their value. visitedCountries replaces the whole list, so read get_profile first when adding to it. Returns data plus display.resultId; call display_card to show it. presentation (optional) shapes what is shown without changing the action: compact or full layout, and only the limit, ids or sections this tool advertises.
Paramètres, retour & exemple (6)
Paramètresbio· ? · optionnel
Short profile blurb; null clears it.displayName· string · optionnel
The name other travelers see.nationality· ? · optionnel
ISO alpha-2 country code of the passport; null clears it.homeCurrency· string · optionnel
ISO currency code new trips and prices default to.presentation· object · optionnelvisitedCountries· array · optionnel
ISO alpha-2 codes of every country visited; replaces the whole list.
Exemple d'appel{"name": "update_profile", "arguments": {"bio": "texte", "displayName": "texte", "nationality": "texte", "homeCurrency": "texte", "presentation": {}, "visitedCountries": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».