Quote and book home cleaning in Paris & Île-de-France; request office-cleaning quotes.
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.
Check whether a French postcode is in the service area.
5-digit French postcode, e.g. 75011
Check whether a French postcode is in the service area.
| Argument | Type | Description |
|---|---|---|
| postcode* | string | 5-digit French postcode, e.g. 75011 |
{
"type": "object",
"required": [
"postcode"
],
"properties": {
"postcode": {
"type": "string",
"description": "5-digit French postcode, e.g. 75011"
}
}
}Creates a home-cleaning booking for the price, date and arrival window the customer agreed to, and returns a secure Stripe payment_url. The booking is confirmed when the customer opens payment_url and saves a card (charged after the cleaning). The link is also emailed to the customer. Requires customer_confirmed = true.
| Argument | Type | Description |
|---|---|---|
| date* | string | YYYY-MM-DD (today adds a same-day surcharge) |
| notes | string | Access, pets, priorities... |
| extras | array | Optional extras from get_services, e.g. [{"id":11},{"id":15,"quantity":4}] |
| address* | object | |
| bedrooms* | integer | Number of bedrooms (studio = 1) |
| customer* | object | |
| bathrooms | integer | |
| condition | string | When the home last had a thorough clean: recent (<1 month), one_to_six_months, over_six_months (or never) |
| frequency | string | once, weekly, biweekly (every 2 weeks) or monthly — recurring plans get a discount |
| agent_name | string | Name of the assistant/app making the booking |
| surface_m2 | integer | Living area in m² (optional, improves accuracy) |
| high_ceilings | boolean | Haussmann building / ceilings over 3 m |
| arrival_window* | string | Start of the 2-hour arrival window from get_time_slots, e.g. "14:00" |
{
"type": "object",
"required": [
"bedrooms",
"date",
"arrival_window",
"customer",
"address",
"customer_confirmed"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD (today adds a same-day surcharge)"
},
"notes": {
"type": "string",
"description": "Access, pets, priorities..."
},
"extras": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"quantity": {
"type": "integer",
"minimum": 1
}
}
},
"description": "Optional extras from get_services, e.g. [{\"id\":11},{\"id\":15,\"quantity\":4}]"
},
"address": {
"type": "object",
"required": [
"street",
"postcode",
"city"
],
"properties": {
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"postcode": {
"type": "string"
},
"apartment": {
"type": "string",
"description": "Floor, door code, apartment"
}
}
},
"bedrooms": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Number of bedrooms (studio = 1)"
},
"customer": {
"type": "object",
"required": [
"first_name",
"last_name",
"email",
"phone"
],
"properties": {
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string",
"description": "Mobile, with country code if not French"
},
"last_name": {
"type": "string"
},
"first_name": {
"type": "string"
}
}
},
"bathrooms": {
"type": "integer",
"default": 1,
"maximum": 7,
"minimum": 1
},
"condition": {
"enum": [
"recent",
"one_to_six_months",
"over_six_months"
],
"type": "string",
"default": "recent",
"description": "When the home last had a thorough clean: recent (<1 month), one_to_six_months, over_six_months (or never)"
},
"frequency": {
"enum": [
"once",
"biweekly",
"weekly",
"monthly"
],
"type": "string",
"default": "once",
"description": "once, weekly, biweekly (every 2 weeks) or monthly — recurring plans get a discount"
},
"agent_name": {
"type": "string",
"description": "Name of the assistant/app making the booking"
},
"surface_m2": {
"type": "integer",
"description": "Living area in m² (optional, improves accuracy)"
},
"high_ceilings": {
"type": "boolean",
"default": false,
"description": "Haussmann building / ceilings over 3 m"
},
"arrival_window": {
"type": "string",
"description": "Start of the 2-hour arrival window from get_time_slots, e.g. \"14:00\""
},
"customer_confirmed": {
"type": "boolean",
"description": "true = the customer saw the price and details and asked to book"
},
"furnished_occupied": {
"type": "boolean",
"default": false,
"description": "Home is furnished and lived in"
}
}
}Price range for a post-construction cleaning (nettoyage fin de travaux / fin de chantier) in Paris/Île-de-France, same calculation as the estimator on menageparfait.fr: HT and TTC (VAT 20%).
| Argument | Type | Description |
|---|---|---|
| urgent | boolean | Within 48 h, at a weekend or outside 7:00–20:00 |
| windows | boolean | Windows inside and out |
| premises | string | |
| condition | string | light = lightly soiled; standard = renovation; heavy = heavy works or new build |
| surface_m2* | number | Floor area in m² |
| rubble_removal | boolean | Light rubble removal |
| floor_stripping | boolean | Cement film / floor stripping |
{
"type": "object",
"required": [
"surface_m2"
],
"properties": {
"urgent": {
"type": "boolean",
"default": false,
"description": "Within 48 h, at a weekend or outside 7:00–20:00"
},
"windows": {
"type": "boolean",
"default": false,
"description": "Windows inside and out"
},
"premises": {
"enum": [
"apartment",
"house",
"office",
"shop"
],
"type": "string",
"default": "apartment"
},
"condition": {
"enum": [
"light",
"standard",
"heavy"
],
"type": "string",
"default": "standard",
"description": "light = lightly soiled; standard = renovation; heavy = heavy works or new build"
},
"surface_m2": {
"type": "number",
"minimum": 1,
"description": "Floor area in m²"
},
"rubble_removal": {
"type": "boolean",
"default": false,
"description": "Light rubble removal"
},
"floor_stripping": {
"type": "boolean",
"default": false,
"description": "Cement film / floor stripping"
}
}
}Exact price (same calculation as menageparfait.fr): HT, VAT, TTC and cost after the 50% tax credit.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD (today adds a same-day surcharge) |
| extras | array | Optional extras from get_services, e.g. [{"id":11},{"id":15,"quantity":4}] |
| bedrooms* | integer | Number of bedrooms (studio = 1) |
| bathrooms | integer | |
| condition | string | When the home last had a thorough clean: recent (<1 month), one_to_six_months, over_six_months (or never) |
| frequency | string | once, weekly, biweekly (every 2 weeks) or monthly — recurring plans get a discount |
| surface_m2 | integer | Living area in m² (optional, improves accuracy) |
| high_ceilings | boolean | Haussmann building / ceilings over 3 m |
| furnished_occupied | boolean |
Ménage Parfait home-cleaning offer in Paris/Île-de-France: price grid (HT), extras with ids, frequency discounts, area, payment and 50% tax-credit rules.
No arguments.
{
"type": "object",
"properties": {}
}Dates and 2-hour arrival windows that can be requested (up to 90 days ahead).
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| from_date | string |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 14,
"maximum": 31,
"minimum": 1
},
"from_date": {
"type": "string",
"format": "date"
}
}
}Sends a quote request to Ménage Parfait for office cleaning or post-construction cleaning (reply within 1 business day).
| Argument | Type | Description |
|---|---|---|
| city | string | |
| email* | string | |
| level | string | For post_construction: light, standard or heavy |
| phone* | string | |
| address | string | |
| company | string | Required for office cleaning |
| details | string | |
| service | string | |
| postcode* | string | |
| frequency | string | e.g. daily, 3x/week, weekly, one-off after works |
| agent_name | string |
| customer_confirmed* | boolean | true = the customer saw the price and details and asked to book |
| furnished_occupied | boolean | Home is furnished and lived in |
| Home is furnished and lived in |
{
"type": "object",
"required": [
"bedrooms"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD (today adds a same-day surcharge)"
},
"extras": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"quantity": {
"type": "integer",
"minimum": 1
}
}
},
"description": "Optional extras from get_services, e.g. [{\"id\":11},{\"id\":15,\"quantity\":4}]"
},
"bedrooms": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Number of bedrooms (studio = 1)"
},
"bathrooms": {
"type": "integer",
"default": 1,
"maximum": 7,
"minimum": 1
},
"condition": {
"enum": [
"recent",
"one_to_six_months",
"over_six_months"
],
"type": "string",
"default": "recent",
"description": "When the home last had a thorough clean: recent (<1 month), one_to_six_months, over_six_months (or never)"
},
"frequency": {
"enum": [
"once",
"biweekly",
"weekly",
"monthly"
],
"type": "string",
"default": "once",
"description": "once, weekly, biweekly (every 2 weeks) or monthly — recurring plans get a discount"
},
"surface_m2": {
"type": "integer",
"description": "Living area in m² (optional, improves accuracy)"
},
"high_ceilings": {
"type": "boolean",
"default": false,
"description": "Haussmann building / ceilings over 3 m"
},
"furnished_occupied": {
"type": "boolean",
"default": false,
"description": "Home is furnished and lived in"
}
}
}| start_date | string |
| surface_m2 | integer |
| contact_name* | string |
| preferred_hours | string | e.g. early morning, evening |
{
"type": "object",
"required": [
"contact_name",
"email",
"phone",
"postcode"
],
"properties": {
"city": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"level": {
"type": "string",
"description": "For post_construction: light, standard or heavy"
},
"phone": {
"type": "string"
},
"address": {
"type": "string"
},
"company": {
"type": "string",
"description": "Required for office cleaning"
},
"details": {
"type": "string"
},
"service": {
"enum": [
"office_regular",
"post_construction",
"other"
],
"type": "string",
"default": "office_regular"
},
"postcode": {
"type": "string"
},
"frequency": {
"type": "string",
"description": "e.g. daily, 3x/week, weekly, one-off after works"
},
"agent_name": {
"type": "string"
},
"start_date": {
"type": "string"
},
"surface_m2": {
"type": "integer"
},
"contact_name": {
"type": "string"
},
"preferred_hours": {
"type": "string",
"description": "e.g. early morning, evening"
}
}
}