Ménage Parfait
Quote and book home cleaning in Paris & Île-de-France; request office-cleaning quotes.
我该使用它吗
质量与安全性
发现(2)
- LOW在 get_quote 中
- LOW在 get_time_slots 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"booking": {
"url": "https://menageparfait.fr/mcp"
}
}
}远程端点
https://menageparfait.fr/mcpstreamable-http它能做什么
工具清单
工具(6)
🟢get_services
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.
输入模式
{
"type": "object",
"properties": {}
}🟢check_area(postcode)
Check whether a French postcode is in the service area.
输入模式
{
"type": "object",
"properties": {
"postcode": {
"type": "string",
"description": "5-digit French postcode, e.g. 75011"
}
},
"required": [
"postcode"
]
}🟢get_quote(bedrooms, bathrooms, surface_m2, condition, high_ceilings, ...)
Exact price (same calculation as menageparfait.fr): HT, VAT, TTC and cost after the 50% tax credit.
输入模式
{
"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"
],
"default": "recent",
"description": "When the home last had a thorough clean: recent (<1 month), one_to_six_months, over_six_months (or never)"
},
"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": "Optional extras from get_services, 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)"
}
},
"required": [
"bedrooms"
]
}🟢get_time_slots(from_date, days)
Dates and 2-hour arrival windows that can be requested (up to 90 days ahead).
输入模式
{
"type": "object",
"properties": {
"from_date": {
"type": "string",
"format": "date"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 31,
"default": 14
}
}
}🟡create_booking(bedrooms, bathrooms, surface_m2, condition, high_ceilings, ...)
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.
输入模式
{
"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"
],
"default": "recent",
"description": "When the home last had a thorough clean: recent (<1 month), one_to_six_months, over_six_months (or never)"
},
"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": "Optional extras from get_services, 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"
},
"agent_name": {
"type": "string",
"description": "Name of the assistant/app making the booking"
}
},
"required": [
"bedrooms",
"date",
"arrival_window",
"customer",
"address",
"customer_confirmed"
]
}⚪request_office_quote(company, contact_name, email, phone, address, ...)
Sends an office-cleaning quote request to Ménage Parfait (reply within 1 business day).
输入模式
{
"type": "object",
"properties": {
"company": {
"type": "string"
},
"contact_name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
},
"address": {
"type": "string"
},
"postcode": {
"type": "string"
},
"city": {
"type": "string"
},
"surface_m2": {
"type": "integer"
},
"frequency": {
"type": "string",
"description": "e.g. daily, 3x/week, weekly, one-off after works"
},
"preferred_hours": {
"type": "string",
"description": "e.g. early morning, evening"
},
"start_date": {
"type": "string"
},
"details": {
"type": "string"
},
"agent_name": {
"type": "string"
}
},
"required": [
"company",
"contact_name",
"email",
"phone",
"postcode"
]
}社区
证据