Free US cleaning cost, time, crew, and chemical-use calculators with visual reports.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when a user needs a planning estimate for ready-to-use cleaning solution, concentrate, water, or generic container quantities across one or many jobs. It does not recommend brands and product-label directions always take precedence.
Optional US ZIP code for market context.
Parts water per one part concentrate, such as 64 for 1:64.
Use this when a user needs a planning estimate for ready-to-use cleaning solution, concentrate, water, or generic container quantities across one or many jobs. It does not recommend brands and product-label directions always take precedence.
| Argument | Type | Description |
|---|---|---|
| jobs_count* | integer | |
| soil_level | string | |
| postal_code | string | Optional US ZIP code for market context. |
| cleaning_type | string | |
| dilution_ratio | number | Parts water per one part concentrate, such as 64 for 1:64. |
| reserve_percent | number | |
| product_category* | string | |
| average_square_feet* | integer | |
| container_size_ounces | number | |
| coverage_sqft_per_gallon | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobs_count",
"average_square_feet",
"product_category"
],
"properties": {
"jobs_count": {
"type": "integer",
"maximum": 100000,
"minimum": 1
},
"soil_level": {
"enum": [
"light",
"average",
"heavy"
],
"type": "string",
"default": "average"
},
"postal_code": {
"type": "string",
"pattern": "^\\d{5}(?:-\\d{4})?$",
"description": "Optional US ZIP code for market context."
},
"cleaning_type": {
"enum": [
"standard",
"deep",
"move_in_out",
"commercial"
],
"type": "string",
"default": "standard"
},
"dilution_ratio": {
"type": "number",
"default": 64,
"maximum": 1024,
"minimum": 1,
"description": "Parts water per one part concentrate, such as 64 for 1:64."
},
"reserve_percent": {
"type": "number",
"default": 10,
"maximum": 50,
"minimum": 0
},
"product_category": {
"enum": [
"all_purpose",
"bathroom",
"floor",
"glass",
"degreaser"
],
"type": "string"
},
"average_square_feet": {
"type": "integer",
"maximum": 500000,
"minimum": 100
},
"container_size_ounces": {
"type": "number",
"default": 128,
"maximum": 640,
"minimum": 1
},
"coverage_sqft_per_gallon": {
"type": "number",
"maximum": 100000,
"minimum": 100
}
},
"additionalProperties": false
}Use this when a user asks how long a cleaning job may take or how many cleaners are needed. Works for homes, apartments, offices, retail, and vacation rentals. It estimates workload, not worker availability or a price quote.
| Argument | Type | Description |
|---|---|---|
| bathrooms | number | |
| condition | string | |
| postal_code | string | Optional US ZIP code. It affects the market label, not cleaning time. |
| square_feet* | integer | |
| cleaning_type | string | |
| property_type* | string | |
| rooms_or_zones | integer | |
| max_visit_hours | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"property_type",
"square_feet"
],
"properties": {
"bathrooms": {
"type": "number",
"default": 1,
"maximum": 200,
"minimum": 0
},
"condition": {
"enum": [
"light",
"average",
"heavy"
],
"type": "string",
"default": "average"
},
"postal_code": {
"type": "string",
"pattern": "^\\d{5}(?:-\\d{4})?$",
"description": "Optional US ZIP code. It affects the market label, not cleaning time."
},
"square_feet": {
"type": "integer",
"maximum": 500000,
"minimum": 200
},
"cleaning_type": {
"enum": [
"standard",
"deep",
"move_in_out",
"turnover"
],
"type": "string",
"default": "standard"
},
"property_type": {
"enum": [
"home",
"apartment",
"office",
"retail",
"vacation_rental"
],
"type": "string"
},
"rooms_or_zones": {
"type": "integer",
"default": 5,
"maximum": 500,
"minimum": 1
},
"max_visit_hours": {
"type": "number",
"default": 4,
"maximum": 12,
"minimum": 1
}
},
"additionalProperties": false
}Use this when a user wants a free planning estimate for cleaning a US house, apartment, condo, or townhouse. Returns price range, labor hours, crew size, duration, assumptions, and a visual report. Do not present it as a binding quote.
| Argument | Type | Description |
|---|---|---|
| pets | integer | |
| add_ons | array | |
| bedrooms | integer | |
| bathrooms | number | |
| condition | string | |
| frequency | string | |
| postal_code* | string | US ZIP code used to select local or national rates. |
| square_feet* | integer | Total interior square footage. |
| cleaning_type | string | |
| property_type |
Use this when a user wants a free office or commercial cleaning budget estimate in the United States. Returns per-visit and monthly ranges, labor, crew, schedule assumptions, and a visual report. Do not use for residential cleaning or present it as a binding bid.
| Argument | Type | Description |
|---|---|---|
| add_ons | array | |
| kitchens | integer | |
| occupancy | string | |
| restrooms | integer | |
| floor_type | string | |
| postal_code* | string | US ZIP code used to select local or national rates. |
| square_feet* | integer | |
| workstations | integer | |
| service_level | string | |
| service_frequency |
| string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"postal_code",
"square_feet"
],
"properties": {
"pets": {
"type": "integer",
"default": 0,
"maximum": 10,
"minimum": 0
},
"add_ons": {
"type": "array",
"items": {
"enum": [
"oven",
"refrigerator",
"interior_windows",
"inside_cabinets",
"laundry",
"dishes"
],
"type": "string"
},
"default": [],
"maxItems": 6
},
"bedrooms": {
"type": "integer",
"default": 2,
"maximum": 20,
"minimum": 0
},
"bathrooms": {
"type": "number",
"default": 1,
"maximum": 20,
"minimum": 0
},
"condition": {
"enum": [
"light",
"average",
"heavy"
],
"type": "string",
"default": "average"
},
"frequency": {
"enum": [
"one_time",
"weekly",
"biweekly",
"monthly"
],
"type": "string",
"default": "one_time"
},
"postal_code": {
"type": "string",
"pattern": "^\\d{5}(?:-\\d{4})?$",
"description": "US ZIP code used to select local or national rates."
},
"square_feet": {
"type": "integer",
"maximum": 20000,
"minimum": 200,
"description": "Total interior square footage."
},
"cleaning_type": {
"enum": [
"standard",
"deep",
"move_in_out"
],
"type": "string",
"default": "standard"
},
"property_type": {
"enum": [
"house",
"apartment",
"condo",
"townhouse"
],
"type": "string",
"default": "house"
}
},
"additionalProperties": false
}| string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"postal_code",
"square_feet"
],
"properties": {
"add_ons": {
"type": "array",
"items": {
"enum": [
"day_porter",
"interior_glass",
"appliance_cleaning",
"supply_restocking"
],
"type": "string"
},
"default": [],
"maxItems": 4
},
"kitchens": {
"type": "integer",
"default": 1,
"maximum": 100,
"minimum": 0
},
"occupancy": {
"enum": [
"low",
"average",
"high"
],
"type": "string",
"default": "average"
},
"restrooms": {
"type": "integer",
"default": 1,
"maximum": 200,
"minimum": 0
},
"floor_type": {
"enum": [
"mostly_hard",
"mostly_carpet",
"mixed"
],
"type": "string",
"default": "mixed"
},
"postal_code": {
"type": "string",
"pattern": "^\\d{5}(?:-\\d{4})?$",
"description": "US ZIP code used to select local or national rates."
},
"square_feet": {
"type": "integer",
"maximum": 500000,
"minimum": 300
},
"workstations": {
"type": "integer",
"default": 10,
"maximum": 10000,
"minimum": 0
},
"service_level": {
"enum": [
"essential",
"standard",
"detailed"
],
"type": "string",
"default": "standard"
},
"service_frequency": {
"enum": [
"weekly",
"twice_weekly",
"three_weekly",
"five_weekly",
"daily"
],
"type": "string",
"default": "five_weekly"
}
},
"additionalProperties": false
}