{"serverInfo":{"name":"11FGB Cleaning Tools","version":"0.1.0"},"authentication":{"required":false,"schemes":[]},"transport":{"type":"streamable-http","url":"https://mcp.11fgb.com/mcp"},"tools":[{"name":"estimate_home_cleaning_cost","description":"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.","inputSchema":{"type":"object","properties":{"postal_code":{"type":"string","pattern":"^\\d{5}(?:-\\d{4})?$","description":"US ZIP code used to select local or national rates."},"property_type":{"type":"string","enum":["house","apartment","condo","townhouse"],"default":"house"},"square_feet":{"type":"integer","minimum":200,"maximum":20000,"description":"Total interior square footage."},"bedrooms":{"type":"integer","minimum":0,"maximum":20,"default":2},"bathrooms":{"type":"number","minimum":0,"maximum":20,"default":1},"cleaning_type":{"type":"string","enum":["standard","deep","move_in_out"],"default":"standard"},"condition":{"type":"string","enum":["light","average","heavy"],"default":"average"},"pets":{"type":"integer","minimum":0,"maximum":10,"default":0},"frequency":{"type":"string","enum":["one_time","weekly","biweekly","monthly"],"default":"one_time"},"add_ons":{"type":"array","items":{"type":"string","enum":["oven","refrigerator","interior_windows","inside_cabinets","laundry","dishes"]},"maxItems":6,"default":[]}},"required":["postal_code","square_feet"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"estimate_office_cleaning_cost","description":"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.","inputSchema":{"type":"object","properties":{"postal_code":{"type":"string","pattern":"^\\d{5}(?:-\\d{4})?$","description":"US ZIP code used to select local or national rates."},"square_feet":{"type":"integer","minimum":300,"maximum":500000},"workstations":{"type":"integer","minimum":0,"maximum":10000,"default":10},"restrooms":{"type":"integer","minimum":0,"maximum":200,"default":1},"kitchens":{"type":"integer","minimum":0,"maximum":100,"default":1},"occupancy":{"type":"string","enum":["low","average","high"],"default":"average"},"floor_type":{"type":"string","enum":["mostly_hard","mostly_carpet","mixed"],"default":"mixed"},"service_frequency":{"type":"string","enum":["weekly","twice_weekly","three_weekly","five_weekly","daily"],"default":"five_weekly"},"service_level":{"type":"string","enum":["essential","standard","detailed"],"default":"standard"},"add_ons":{"type":"array","items":{"type":"string","enum":["day_porter","interior_glass","appliance_cleaning","supply_restocking"]},"maxItems":4,"default":[]}},"required":["postal_code","square_feet"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"estimate_cleaning_time_and_crew","description":"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.","inputSchema":{"type":"object","properties":{"postal_code":{"type":"string","pattern":"^\\d{5}(?:-\\d{4})?$","description":"Optional US ZIP code. It affects the market label, not cleaning time."},"property_type":{"type":"string","enum":["home","apartment","office","retail","vacation_rental"]},"square_feet":{"type":"integer","minimum":200,"maximum":500000},"rooms_or_zones":{"type":"integer","minimum":1,"maximum":500,"default":5},"bathrooms":{"type":"number","minimum":0,"maximum":200,"default":1},"cleaning_type":{"type":"string","enum":["standard","deep","move_in_out","turnover"],"default":"standard"},"condition":{"type":"string","enum":["light","average","heavy"],"default":"average"},"max_visit_hours":{"type":"number","minimum":1,"maximum":12,"default":4}},"required":["property_type","square_feet"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_cleaning_chemical_usage","description":"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.","inputSchema":{"type":"object","properties":{"postal_code":{"type":"string","pattern":"^\\d{5}(?:-\\d{4})?$","description":"Optional US ZIP code for market context."},"jobs_count":{"type":"integer","minimum":1,"maximum":100000},"average_square_feet":{"type":"integer","minimum":100,"maximum":500000},"product_category":{"type":"string","enum":["all_purpose","bathroom","floor","glass","degreaser"]},"cleaning_type":{"type":"string","enum":["standard","deep","move_in_out","commercial"],"default":"standard"},"soil_level":{"type":"string","enum":["light","average","heavy"],"default":"average"},"dilution_ratio":{"type":"number","minimum":1,"maximum":1024,"default":64,"description":"Parts water per one part concentrate, such as 64 for 1:64."},"coverage_sqft_per_gallon":{"type":"number","minimum":100,"maximum":100000},"container_size_ounces":{"type":"number","minimum":1,"maximum":640,"default":128},"reserve_percent":{"type":"number","minimum":0,"maximum":50,"default":10}},"required":["jobs_count","average_square_feet","product_category"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"resources":[{"uri":"ui://11fgb/cleaning-calculation.html","name":"Cleaning calculation UI"}],"prompts":[]}