Hotel search and recommendations for Valpas-protected accommodations — hotels equipped with patented bed-bug prevention technology. Carousel and map view rendered directly inside Claude, ChatGPT, and any MCP Apps host.
The Valpas Hotels MCP exposes two tools that let an AI assistant search the Valpas-verified hotel network on behalf of the user:
Every result is from the Valpas-protected network — accommodations using Valpas's patented bed-bug prevention technology. The MCP is search and recommendation only: it never takes payment or holds reservations. Booking happens on the operator's site via the link in each result card.
Coverage. Hotels in 21 countries: Finland, Denmark, France, Greece, Iceland, Netherlands, Belgium, Italy, United Kingdom, Spain, Switzerland, Portugal, Indonesia, Germany, Sweden, Japan, Ireland, Cyprus, Norway, Malta, and Poland.
Not for. Airbnbs, apartments, hostels, vacation rentals, restaurants, flights, car rentals, attractions, or general travel guides — Valpas only covers Valpas-verified hotels.
search_hotels and get_hotel_details) appear in the tool picker.POST JSON-RPC to /mcp with Content-Type: application/json and Accept: application/json, text/event-stream. Stateless Streamable HTTP transport — the MCP protocol version is negotiated per connection (the server accepts every version supported by the latest @modelcontextprotocol/sdk release it ships with). Widget HTML is served at ui://widgets/apps-sdk/<name>.html (Apps SDK hosts) and ui://widgets/ext-apps/<name>.html (MCP Apps hosts).
search_hotelsSearches the Valpas-verified hotel network with progressive filter relaxation on zero matches.
| Parameter | Type | Notes |
|---|---|---|
| q | string | Optional. Free-text query — typically a city or country (e.g. "Paris", "Helsinki"). Accepts query as an alias. |
| min_rating | number | Optional. Minimum TripAdvisor rating (0–5). |
| price_levels | string[] | Optional. One or more of "$", "$$", "$$$", "$$$$". |
| neighborhoods | string[] | Optional. Neighborhood names (e.g. "Sentier"). |
| styles | string[] | Optional. Style tags (e.g. "Boutique", "Luxury", "Family"). |
| limit | number | Optional. Default 10, max 25. |
| offset | number | Optional. For pagination — default 0. |
Returns hotel id, name, rating, review count, price level, location (city, country, neighborhoods), styles, hero image, and booking / website URLs. If zero matches, the tool retries with progressively relaxed filters and surfaces a note explaining what was relaxed.
get_hotel_detailsReturns the full record for a single hotel. Pass either id from a search result or name for fuzzy lookup.
| Parameter | Type | Notes |
|---|---|---|
| id | string | Optional. Valpas hotel id (UUID) from a search result, or a TripAdvisor location id. |
| name | string | Optional. Hotel name — fuzzy-matched against the network. |
Returns everything search_hotels returns, plus full description, address, amenities list, photo gallery, rating breakdown, reviewer-profile percentages (business / couples / solo / family / friends), and TripAdvisor ranking string. One of id or name is required.
Natural-language prompts that work out of the box:
_meta.session so widget events join with tool-call events without exposing raw identifiers.mcp_session, mcp_request (with sanitized args), and ui_event (impressions, clicks).The widget is iframe-cached per conversation. If you tweak host settings or reconnect, the easiest fix is to start a new chat. Verify your host actually supports MCP Apps — basic MCP support without app rendering will still call the tool but won't show the carousel.
The tool automatically relaxes filters (drops neighborhoods first, then widens price levels, then drops styles) and includes a note in the response explaining what was relaxed. If you still get nothing, the country may not be on the supported list — see Overview.
The CTA uses the MCP ui/open-link notification to ask the host to open the URL externally. Some hosts implement this by navigating the iframe in-place rather than opening a new tab. That's a host limitation — try cmd-click / ctrl-click on the link to force a new tab if your host honors browser-level click modifiers.
For Valpas-related questions — reach out to hello@valpashotels.com.
For technical issues with this MCP server — email support@listoai.co.