FindSaunaPlunge MCP server
MCP serverDev toolsYour AI can find cold plunge, sauna, and contrast-therapy studios across US metros once this integration is added. It draws on a directory where every fact is dated. That means you can see how recent each detail is before relying on it.
Use FindSaunaPlunge MCP server in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add FindSaunaPlunge MCP server and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use FindSaunaPlunge MCP server to search venues
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add the integration, then ask your AI to find cold plunge, sauna, or contrast-therapy studios in a US metro. Check the dates it reports to see how current each detail is.
What your AI can do with it
- Find cold plunge studios in a US metro
- Find sauna studios in a US metro
- Find contrast-therapy studios in a US metro
- See the date attached to each studio detail
- List studio options across several metros
Install FindSaunaPlunge MCP server
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user findsaunaplunge-mcp-server 'https://findsaunaplunge.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://findsaunaplunge.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=findsaunaplunge-mcp-server&config=eyJ1cmwiOiJodHRwczovL2ZpbmRzYXVuYXBsdW5nZS5jb20vbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://findsaunaplunge.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add findsaunaplunge-mcp-server --url 'https://findsaunaplunge.com/mcp'Run it once, then sign in with codex mcp login findsaunaplunge-mcp-server if the server asks for an account.
From the project's README
As published by findsaunaplunge/mcp in README.md.
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.
- Endpoint:
https://findsaunaplunge.com/mcp— Streamable HTTP, stateless, no auth, open CORS.GETserves human documentation;POSTis JSON-RPC. - Registry:
com.findsaunaplunge/findsaunaplunge(domain-verified). - Data: same records as the CC BY 4.0 feed
/api/v1/venues.json; archived monthly at github.com/findsaunaplunge/data, DOI 10.5281/zenodo.22132913.
Tools
| 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. |
Connect
# Claude Code
claude mcp add --transport http findsaunaplunge https://findsaunaplunge.com/mcp
# Any client, by hand
curl -s -X POST https://findsaunaplunge.com/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_venues","arguments":{"citySlug":"austin-tx","modality":"cold_plunge","limit":3}}}'
Run it yourself
The handler needs nothing but the public feed, so it runs anywhere with Node 24+:
npm start # JSON-RPC over stdio, one message per line (= node src/serve.ts --stdio)
npm run http # Streamable HTTP on :8080 — POST /mcp (= node src/serve.ts)
docker build -t findsaunaplunge-mcp . && docker run -i findsaunaplunge-mcp # stdio
npm test # smoke test: stdio + HTTP against the live feed
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.
How it runs
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.
Design rules
- Stateless: no sessions, no server-initiated SSE. Every
POSTis self-contained. - Unknown arguments are rejected with a message naming the valid ones, rather than silently ignored.
- Nothing here is, or will be, a paid placement.
Licence
MIT — see LICENSE. The venue data the server serves is separately licensed CC BY 4.0.
Tools it offers (5)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
search_venuesget_venuelist_citiesget_city_statsget_data_freshness
Signals
- Last commit
- Sep 2026
Advanced
- Delivery
- findsaunaplunge MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
com-findsaunaplunge-findsaunaplunge- Source
- github.com/findsaunaplunge/mcp
- Hosted endpoint
https://findsaunaplunge.com/mcp
github.com/findsaunaplunge/mcp