The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the FindSaunaPlunge — US cold plunge & sauna studios listing page.
Model Context Protocol server for findsaunaplunge.com: cold plunge, sauna and contrast-therapy venues across US metros. get_data_freshness reports the current venue count and the dates the records were last checked. Every published temperature and price is read from the venue's own pages and carries its source URL, capture date and verbatim quote. Absent fields mean the venue does not publish that detail — never zero.
https://findsaunaplunge.com/mcp — Streamable HTTP, stateless, no auth, open CORS. GET serves human documentation; POST is JSON-RPC.com.findsaunaplunge/findsaunaplunge (domain-verified)./api/v1/venues.json; archived monthly at github.com/findsaunaplunge/data, DOI 10.5281/zenodo.22132913.| Tool | Arguments | Returns |
|---|---|---|
search_venues | query?, citySlug?, modality?, access?, maxDropInUsd?, limit? | Compact venue records; filters AND-combine. maxDropInUsd matches only venues with a published drop-in price. |
get_venue | id | The full feed record, including per-fact sources. |
list_cities | — | Covered cities with venue counts and available modalities. |
get_city_stats | citySlug | Counts, published price and temperature ranges, contrast-capable venues. |
get_data_freshness | — | When the feed was built and the newest/oldest lastVerified. |
The handler needs nothing but the public feed, so it runs anywhere with Node 24+:
Both modes read https://findsaunaplunge.com/api/v1/venues.json (override with FINDSAUNAPLUNGE_ORIGIN), so a self-hosted copy serves exactly what the site serves.
src/mcp.ts is the whole server: one handleMcp(request, env) function mounted at /mcp inside the site's Cloudflare Worker. It has no dependencies. Tool results come from the static /api/v1/venues.json asset produced by the site build (fetched through the Worker's ASSETS binding and memoized per isolate), so the server can never disagree with the site and a deploy refreshes it automatically. server.json is the registry manifest.
This repository is the published source of that server. The site itself is not open source.
POST is self-contained.MIT — see LICENSE. The venue data the server serves is separately licensed CC BY 4.0.