Sauna Guide Quotes

Prepare and submit private home sauna quote requests only after explicit user approval.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,876Tokens (tool definitions)
~9.4 KBTypical response size
Moderate attention impact (1.47% 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": {
    "sauna-guide-quotes": {
      "url": "https://sauna.guide/mcp"
    }
  }
}

Remote endpoints

https://sauna.guide/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢prepare_sauna_quote_request(postalCode, state, city, contactName, email, ...)

Validate a draft sauna project request and identify missing details. This is read-only: it does not store data, send email, select a provider, or share contact details.

Input Schema

{
  "type": "object",
  "properties": {
    "postalCode": {
      "type": "string",
      "pattern": "^\\d{5}(?:-\\d{4})?$",
      "description": "US ZIP code where the sauna will be installed."
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Two-letter US state code for the project."
    },
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "description": "City where the sauna will be installed."
    },
    "contactName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "description": "Name of the person requesting the quote."
    },
    "email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Email address for personal provider-search updates."
    },
    "phone": {
      "type": "string",
      "maxLength": 30,
      "description": "US phone number for questions about the project."
    },
    "projectType": {
      "type": "string",
      "enum": [
        "prebuilt",
        "custom_indoor",
        "custom_outdoor",
        "not_sure"
      ],
      "description": "Prebuilt, custom indoor, custom outdoor, or not yet decided."
    },
    "heatType": {
      "type": "string",
      "enum": [
        "traditional_electric",
        "wood_fired",
        "infrared",
        "hybrid_or_unsure"
      ],
      "description": "Preferred sauna heat type, or hybrid_or_unsure when not decided."
    },
    "electricalReadiness": {
      "type": "string",
      "enum": [
        "240v_ready",
        "120v_only",
        "no_site_power",
        "not_sure"
      ],
      "description": "Optional description of the electrical power currently available at the site."
    },
    "budget": {
      "type": "string",
      "enum": [
        "under_5k",
        "5k_10k",
        "10k_20k",
        "20k_plus",
        "not_sure"
      ],
      "description": "Expected project budget range in US dollars."
    },
    "timeline": {
      "type": "string",
      "enum": [
        "within_30_days",
        "1_3_months",
        "3_6_months",
        "researching"
      ],
      "description": "Expected purchase or installation timeline."
    },
    "brandOrModel": {
      "type": "string",
      "maxLength": 160,
      "description": "Optional sauna brand or model already under consideration."
    },
    "notes": {
      "type": "string",
      "maxLength": 2000,
      "description": "Optional project details such as space, access, foundation, or electrical work."
    }
  },
  "required": [
    "postalCode"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "draft_ready"
    },
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "readyToSubmit": {
      "type": "boolean"
    },
    "missingFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "reviewUrl": {
      "type": "string",
      "format": "uri"
    },
    "contactDetailsSharedWithProvider": {
      "type": "boolean",
      "const": false
    },
    "newsletterOptIn": {
      "type": "boolean",
      "const": false
    },
    "nextStep": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "requestId",
    "readyToSubmit",
    "missingFields",
    "reviewUrl",
    "contactDetailsSharedWithProvider",
    "newsletterOptIn",
    "nextStep"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴submit_sauna_quote_request(requestId, postalCode, state, city, contactName, ...)

Store a complete sauna project request and send confirmation and internal notification emails. Call only after prepare_sauna_quote_request and after the user explicitly approves submission. This never subscribes the user to a newsletter and never shares contact details with providers.

Input Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The requestId returned by prepare_sauna_quote_request for this project."
    },
    "postalCode": {
      "type": "string",
      "pattern": "^\\d{5}(?:-\\d{4})?$",
      "description": "US ZIP code where the sauna will be installed."
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Two-letter US state code for the project."
    },
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "description": "City where the sauna will be installed."
    },
    "contactName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "description": "Name of the person requesting the quote."
    },
    "email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Email address for personal provider-search updates."
    },
    "phone": {
      "type": "string",
      "maxLength": 30,
      "description": "US phone number for questions about the project."
    },
    "projectType": {
      "type": "string",
      "enum": [
        "prebuilt",
        "custom_indoor",
        "custom_outdoor",
        "not_sure"
      ],
      "description": "Prebuilt, custom indoor, custom outdoor, or not yet decided."
    },
    "heatType": {
      "type": "string",
      "enum": [
        "traditional_electric",
        "wood_fired",
        "infrared",
        "hybrid_or_unsure"
      ],
      "description": "Preferred sauna heat type, or hybrid_or_unsure when not decided."
    },
    "electricalReadiness": {
      "type": "string",
      "enum": [
        "240v_ready",
        "120v_only",
        "no_site_power",
        "not_sure"
      ],
      "description": "Optional description of the electrical power currently available at the site."
    },
    "budget": {
      "type": "string",
      "enum": [
        "under_5k",
        "5k_10k",
        "10k_20k",
        "20k_plus",
        "not_sure"
      ],
      "description": "Expected project budget range in US dollars."
    },
    "timeline": {
      "type": "string",
      "enum": [
        "within_30_days",
        "1_3_months",
        "3_6_months",
        "researching"
      ],
      "description": "Expected purchase or installation timeline."
    },
    "brandOrModel": {
      "type": "string",
      "maxLength": 160,
      "description": "Optional sauna brand or model already under consideration."
    },
    "notes": {
      "type": "string",
      "maxLength": 2000,
      "description": "Optional project details such as space, access, foundation, or electrical work."
    },
    "confirmRequest": {
      "type": "boolean",
      "const": true,
      "description": "Set to true only after the user explicitly approves storing the request and sending confirmation and internal notification emails."
    }
  },
  "required": [
    "requestId",
    "postalCode",
    "state",
    "city",
    "contactName",
    "email",
    "phone",
    "projectType",
    "heatType",
    "budget",
    "timeline",
    "confirmRequest"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "provider_search_started",
        "review_fixture_validated"
      ]
    },
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "duplicate": {
      "type": "boolean"
    },
    "testMode": {
      "type": "boolean"
    },
    "contactDetailsSharedWithProvider": {
      "type": "boolean",
      "const": false
    },
    "newsletterOptIn": {
      "type": "boolean",
      "const": false
    },
    "updateTiming": {
      "type": "string",
      "enum": [
        "within_one_business_day",
        "not_applicable"
      ]
    }
  },
  "required": [
    "status",
    "requestId",
    "duplicate",
    "testMode",
    "contactDetailsSharedWithProvider",
    "newsletterOptIn",
    "updateTiming"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools