claude mcp add mcp-cuddlynest -- npx -y mcp-cuddlynest
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
1 ★ · mafedelahoz/mcp-cuddlynest · read from the GitHub search API · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 1 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository mafedelahoz/mcp-cuddlynest;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
A Model Context Protocol (MCP) server for searching CuddlyNest hotels and retrieving listing details, including **room options, prices, availability and cancellation policies**. Read-only by design: search and listing details only. No booking, no payment. How it gets the data This server reads that data **the same way a visitor does**: it opens the real, public listing page in a headless browser (Playwright/Chromium), lets *the page's own JavaScript* load the rooms, waits for them to render, and reads the result out of the DOM. | Data | Source | | --- | --- | | Name, description, address, coordinates, star rating, amenities, images | Listing page schema.org ld+json + Open Graph tags (cuddlynest.ts) | | Room title, partner, unit_price, remaining_rooms, price_breakdown, cancellation_policy (incl. .text), room_filters | Rendered listing page DOM, via a React-fiber walk (scrape-listing.ts) | | Destination → place candidates + top hotels | autosuggestion-2-0.cuddlynest.com (public, no auth) | | Destination → broader city hotel list (~60–250) | discovery-pages.cuddlynest.com/fetch_geopage/ (public); recovered from a hotel's product-detail breadcrumbs | | product_id → name / city / breadcrumbs | ldp-2-0-product-details.cuddlynest.com/api/v1/productDetail (public) | | product_id → canonical listing path | /hotel/- server redirect | The DOM extraction, and how it breaks extractRoomsFromDom() walks every price-shaped text node (COL$742,637), then walks up its **React fiber tree** to the nearest ancestor component whose props carry both unit_price and roomGroups. Those props are the room offer the page already rendered. This is coupled to CuddlyNest's current frontend internals (a React prop shape, not a stable contract). If they ship a frontend change it can start returning zero rooms even though the public page still shows prices. The single place to update is the detector condition 'unit_price' in p && 'roomGroups' in p in scrape-listing.ts. npm run e2e:sansiraka is meant to catch that early (non-zero exit, not a silent empty result). The fromPriceText ("From COL$…") field uses a looser heuristic and can come back null even on a healthy scrape; rooms.fromPrice (cheapest extracted unit) is the reliable figure. --- Requirements - Node.js 18+ - A Chromium build for Playwright. npm install runs playwright install chromium automatically (postinstall); if that is blocked in your environment, run npx playwright install chromium once by hand. Installation Published as cuddlynest-mcp on npm and listed in the official MCP registry as io.github.mafedelahoz/cuddlynest-mcp. Add "--ignore-robots-txt" to args to bypass robots.txt for the listing-page fetches. CUDDLYNEST_SCRAPE_TIMEOUT_MS (default 35000) caps how long the browser waits for prices to render. An MCPB bundle (.mcpb) for Claude Desktop is attached to each GitHub release — note it does **not** bundle Chromium, so run npx playwright install chromium once after installing it that way. Remote / Streamable HTTP Default transport is stdio. For a hosted deployment, run it over Streamable HTTP: --- Tools Both tools are annotated readOnlyHint: true — they never write, book, or pay.