{"serverId":"mcp-registry/com.findsaunaplunge/findsaunaplunge","tools":[{"name":"get_city_stats","fixed":{"name":"get_city_stats","description":"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.","inputSchema":{"type":"object","required":["citySlug"],"properties":{"citySlug":{"type":"string","description":"City slug, e.g. \"dallas-tx\". Use list_cities to discover."}}},"annotations":{"readOnlyHint":true},"title":"Get city statistics"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"get_data_freshness","fixed":{"name":"get_data_freshness","description":"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.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get dataset freshness"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"get_venue","fixed":{"name":"get_venue","description":"Fetch the full record for one venue by its stable id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Venue id, e.g. \"alive-and-well-dallas-tx\"."}}},"annotations":{"readOnlyHint":true},"title":"Get one venue"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"list_cities","fixed":{"name":"list_cities","description":"Cities with live venues, with counts and available modalities.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"List covered cities"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":42,"tokensAfter":42},{"name":"search_venues","fixed":{"name":"search_venues","description":"Search cold plunge / sauna venues. All filters are optional and AND-combined. Absent fields in results mean \"not published\", never zero.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Max results, default 10, cap 25."},"query":{"type":"string","description":"Substring match on venue name (case-insensitive)."},"access":{"enum":["private_suite","communal","mixed"],"type":"string","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."},"citySlug":{"type":"string","description":"City slug, e.g. \"dallas-tx\". Use list_cities to discover."},"modality":{"enum":["cold_plunge","traditional_sauna","infrared_sauna","steam_room","cryotherapy","red_light","pemf","compression","float"],"type":"string","description":"Venue must offer this modality."},"maxDropInUsd":{"type":"number","description":"Only venues with a PUBLISHED drop-in price at or below this. Excludes venues with no published price."}}},"annotations":{"readOnlyHint":true},"title":"Search venues"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":321,"tokensAfter":321}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}