FindSaunaPlunge — US cold plunge & sauna studios

Cold plunge, sauna and contrast-therapy studios across US metros, each fact dated.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
70%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~547Tokens (tool definitions)
~792 BTypical response size
Minimal attention impact (0.43% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "findsaunaplunge": {
      "url": "https://findsaunaplunge.com/mcp"
    }
  }
}

Remote endpoints

https://findsaunaplunge.com/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_venues(query, citySlug, modality, access, maxDropInUsd, ...)

Search cold plunge / sauna venues. All filters are optional and AND-combined. Absent fields in results mean "not published", never zero.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Substring match on venue name (case-insensitive)."
    },
    "citySlug": {
      "type": "string",
      "description": "City slug, e.g. \"dallas-tx\". Use list_cities to discover."
    },
    "modality": {
      "type": "string",
      "enum": [
        "cold_plunge",
        "traditional_sauna",
        "infrared_sauna",
        "steam_room",
        "cryotherapy",
        "red_light",
        "pemf",
        "compression",
        "float"
      ],
      "description": "Venue must offer this modality."
    },
    "access": {
      "type": "string",
      "enum": [
        "private_suite",
        "communal",
        "mixed"
      ],
      "description": "private_suite = your own room; communal = shared areas; mixed matches either request. Venues that do not publish their access model are excluded whenever this filter is used — absence of the fact is not a match."
    },
    "maxDropInUsd": {
      "type": "number",
      "description": "Only venues with a PUBLISHED drop-in price at or below this. Excludes venues with no published price."
    },
    "limit": {
      "type": "number",
      "description": "Max results, default 10, cap 25."
    }
  }
}
🟢get_venue(id)

Fetch the full record for one venue by its stable id.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Venue id, e.g. \"alive-and-well-dallas-tx\"."
    }
  },
  "required": [
    "id"
  ]
}
🟢list_cities

Cities with live venues, with counts and available modalities.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_city_stats(citySlug)

Aggregate figures for one covered city: venue count, modality and access breakdowns, contrast-capable count, and median published prices and plunge temperature. Every median carries its denominator (n) — absent fields are excluded, never treated as zero.

Input Schema

{
  "type": "object",
  "properties": {
    "citySlug": {
      "type": "string",
      "description": "City slug, e.g. \"dallas-tx\". Use list_cities to discover."
    }
  },
  "required": [
    "citySlug"
  ]
}
🟢get_data_freshness

When the dataset was generated and how recently venues were checked: oldest and newest lastVerified dates, counts by age bucket, and the newest check date per city.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools