Dreamfare

app.dreamfarePublished by dreamfare.appOfficial publisherv1.0.1Updated Oct 25, 2026

Travel tools for AI agents: plan and edit real trips, search stays and tours, import travel videos.

Overview

AI-generated overview

Dreamfare is a remote travel MCP server that lets an assistant plan, edit and share real trips, search flights, stays, trains, cars and activities, and save or-

What you can do
Plan and manage trips: build a day-by-day itinerary with Dreamfare's planner, create, read, edit, copy or delete trips, and add stops from saved places or search results. Search travel inventory: flights, stays, trains, rental cars, activities and real venues with prices, dates and booking links. Research and compare options from earlier searches in depth or side by side. Import places and tips from shared links or pasted text, and manage the saved library and folders. Manage the traveler's profile, membership, credits and wallet, plus trip crew, invites and crew chat. Browse published trips for inspiration and show itinerary or result cards to the traveler.
When to use it
Useful when a traveler wants an assistant to research a destination, compare flights, stays or activities, assemble a day-by-day itinerary, or keep a saved library of places and tips. Also fits collaborative trip planning with a crew and turning social or blog travel content into saved places.
Requirements
A remote MCP endpoint at api.dreamfare.app over streamable HTTP; no packages, environment variables or headers are declared. A Dreamfare account is implied by profile, membership, credits and wallet tools. Network access to the Dreamfare server and to third-party travel and place providers is needed for searches and imports.
Before you install
Tools write to the traveler's account: trips, library, profile, crew membership and chat messages can be created, changed or deleted, and delete_trip requires echoing the exact trip title. Searches return real prices and booking links but do not book or purchase. Importing from a URL sends that link to the Dreamfare server for reading. Reading the profile can change membership and credit records.

Installation

In SourceWeft

  1. Open Dreamfare in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/app.dreamfare%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "dreamfare": {
      "type": "http",
      "url": "https://api.dreamfare.app/mcp"
    }
  }
}

Tools

21

get_trip

Read a trip, or list trips

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.

ParameterstripIdincludechatLimitchatBefore

create_trip

Create a Dreamfare trip

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.

ParametersdaysroomstitleadultsendDatecurrencypartySizestartDatecabinClassdescriptionchildrenAgespresentation+4 more

add_to_trip

Add to a trip

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.

ParametersdatadatekindtexttimestopsguestsoptionsourcerequiredstopIdtripIdrequiredcheckIn+13 more

edit_trip

Edit a trip

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.

ParameterstripIdrequiredactionsrequiredpresentation

delete_trip

Delete a trip

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.

ParameterstripIdrequiredconfirmTitlerequired

plan_trip

Plan a whole trip with Dreamfare's planner

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.

ParametersbriefrequiredtitleendDatecurrencylogisticspartySizestartDatefolderNamedurationDayspresentationsavedPlaceIdsdestinationNamerequired+2 more

search_car_rentals

Search rental cars

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.

ParameterscurrencyminSeatsdriverAgerequiredpickupDaterequiredpickupTimerequireddropoffDaterequireddropoffTimerequiredpresentationtransmissionpickupAirportrequireddropoffAirportlicenseCountryrequired+1 more

search_trains

Search trains

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.

ParameterssortlimitorigincurrencysearchIdjourneyIddepartDatemaxChangespassengersreturnDatedepartAfterdestination+6 more

search_stays

Search places to stay

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.

ParametersnamenearsortlimitbudgetgueststripIdcheckInrequiredcheckOutrequiredcurrencyfallbackkeywords+17 more

search_activities

Search activities and tours

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.

Parametersqdatenamenearsorttagsflagslimitoffsetcategorycurrencyfallback+10 more

search_places

Discover real places

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.

ParametersqkindrequirednearsortlimitguestsoffsetopenAtregionrequiredcheckInopenNowcategory+11 more

search_flights

Search and compare flights

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.

ParameterssortcabinlimitorigininfantsairlinesarriveBycabinBagchildrencurrencymaxStopsmaxTotal+25 more

research_options

Research one option, or compare a few

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.

ParametersiddatekindnamenearguestsoptioncheckInoptionscheckOutcriteriacurrency+4 more

import_places

Import places and tips from a link, text or file

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.

ParametersurldatatextsourcerequiredcontentTypeoperationIdpresentation

get_profile

Read the traveler's account

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.

Parameterspresentation

update_profile

Update the traveler's profile

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.

ParametersbiodisplayNamenationalityhomeCurrencypresentationvisitedCountries

list_library

Read the traveler's saved library

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.

ParametersareakindsorttypelimitqueryoffsetimportIdfolderNamepresentation

edit_library

Save and tidy the traveler's library

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.

ParametersmoverenameaddTipssavePlaceremoveTipsshowFolderdeletePlacespresentationcreateFoldersdeleteFoldersrenameFolders

manage_crew

Change a trip's crew or talk to it

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.

ParameterspostleaveinviteremovetripIdrequiredsetRolepresentationrevokeInvites

explore_trips

Browse published trips

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.

Parametersqsortlimitoffsetdestinationpresentation

display_card

Display a card

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.

ParameterstripIdresultIdpresentation

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.