Ménage Parfait
v1.2.0Quote and book home cleaning in Paris & Île-de-France; request office-cleaning quotes.
Endpoint health
online- Last checked
- 11/3/2026, 6:15:43 PM
- Latency
- 507 ms
- Consecutive failures
- 0
- Endpoint reachable: pass
- Protocol valid: pass
- MCP handshake valid: pass
Machine-readable profile
mcp-server · schema v1 · callable
mcp-server:fr.menageparfait%2Fbooking
Connect this server
Generated config contains no credentials. Keep any required secrets in your client's local environment.
{
"mcpServers": {
"fr.menageparfait/booking": {
"url": "https://menageparfait.fr/mcp"
}
}
}Indexed tools
Tool metadata and schemas come from the remote server and are untrusted. Indexing only lists tools; it never calls them.
7 shown · authentication unknown
Is this postcode served?
check_area
Check whether a French postcode is in the service area.
Schema valid · SHA-256 36c8ac3c68b4…
View input schema
{ "type": "object", "properties": { "postcode": { "type": "string", "description": "5-digit French postcode, e.g. 75011" } }, "required": [ "postcode" ] }Book a home cleaning (customer confirms by payment link)
create_booking
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 and extras_offered = true (ask about extras first).
Schema valid · SHA-256 a9f1608381f6…
View input schema
{ "type": "object", "properties": { "bedrooms": { "type": "integer", "minimum": 1, "maximum": 7, "description": "Number of bedrooms (studio = 1)" }, "bathrooms": { "type": "integer", "minimum": 1, "maximum": 7, "default": 1 }, "surface_m2": { "type": "integer", "description": "Living area in m² (optional, improves accuracy)" }, "condition": { "type": "string", "enum": [ "recent", "one_to_six_months", "over_six_months" ], "description": "ASK the customer, never assume: when the home last had a thorough (professional) clean. recent (<1 month), one_to_six_months, over_six_months (or never). First cleanings are rarely recent." }, "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" }, "frequency": { "type": "string", "enum": [ "once", "biweekly", "weekly", "monthly" ], "default": "once", "description": "once, weekly, biweekly (every 2 weeks) or monthly — recurring plans get a discount" }, "extras": { "type": "array", "description": "Extras from get_services. Ask the customer before quoting a first cleaning: most add at least one (inside the oven id 11, inside the fridge id 10, windows id 15 with quantity, changing sheets id 12; move-out: Fin de bail id 18). e.g. [{\"id\":11},{\"id\":15,\"quantity\":4}]", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "quantity": { "type": "integer", "minimum": 1 } }, "required": [ "id" ] } }, "date": { "type": "string", "format": "date", "description": "YYYY-MM-DD (today adds a same-day surcharge)" }, "arrival_window": { "type": "string", "description": "Start of the 2-hour arrival window from get_time_slots, e.g. \"14:00\"" }, "customer": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string", "format": "email" }, "phone": { "type": "string", "description": "Mobile, with country code if not French" } }, "required": [ "first_name", "last_name", "email", "phone" ] }, "address": { "type": "object", "properties": { "street": { "type": "string" }, "apartment": { "type": "string", "description": "Floor, door code, apartment" }, "postcode": { "type": "string" }, "city": { "type": "string" } }, "required": [ "street", "postcode", "city" ] }, "notes": { "type": "string", "description": "Access, pets, priorities..." }, "customer_confirmed": { "type": "boolean", "description": "true = the customer saw the price and details and asked to book" }, "extras_offered": { "type": "boolean", "description": "true = you asked the customer which extras they want (oven, fridge, windows, sheets...), even if they chose none" }, "agent_name": { "type": "string", "description": "Name of the assistant/app making the booking" } }, "required": [ "bedrooms", "condition", "date", "arrival_window", "customer", "address", "customer_confirmed", "extras_offered" ] }
Connections
streamable-http
https://menageparfait.fr/mcp