Ezi Home Services
Book, reschedule, and cancel home services (cleaning, lawn, snow) via phone OTP authentication.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp-public": {
"url": "https://prod-api.ezi-app.com/mcp"
}
}
}Remote-Endpunkte
https://prod-api.ezi-app.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (8)
🟢get_profile
Return the authenticated customer's profile: name, account ID, balance, primary address, and payment method status.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢lookup_scheduled_jobs
Return the authenticated customer's upcoming scheduled jobs. Call this before rescheduling or cancelling to get the job ID.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢get_available_services(postalCode)
Returns service categories and types available for a given postal or zip code, accounting for location coverage and seasonal availability. Call this after collecting the customer's postal code to determine what services to offer.
Eingabe-Schema
{
"type": "object",
"properties": {
"postalCode": {
"type": "string",
"description": "Customer postal or zip code (e.g. \"K1A 0A1\" or \"90210\")."
}
},
"required": [
"postalCode"
]
}🟡current_datetime(city)
Returns the current date and time in UTC and, if a city is provided, in the local timezone. Call this before create_order to get the correct timezone offset.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Optional city name to get local time and offset. Valid: Ottawa, Gatineau, Toronto, Montreal, Surrey, Miami, Dallas."
}
}
}🟢calculate_quote(city, category, serviceType, bedrooms, bathrooms, ...)
Calculate an estimated price and duration for a service WITHOUT creating a booking. Use this during the quoting phase before the customer commits.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Customer city. Valid values: Ottawa, Gatineau, Toronto, Montreal, Surrey, Miami, Dallas."
},
"category": {
"type": "string",
"enum": [
"Cleaning",
"Lawn-Care",
"Exterior Cleaning",
"Car Detailing",
"Snow-Removal",
"Tire-Changing"
],
"description": "Service category."
},
"serviceType": {
"type": "string",
"enum": [
"DEEP-CLEAN",
"POST-CONSTRUCTION",
"AIRBNB-CLEAN",
"MOVE-IN-OUT-CLEAN",
"GENERAL-CLEAN",
"CARPET-CLEAN",
"LAWNCARE-LAWNMOWING",
"LAWNCARE-MAINTENANCE",
"LAWNCARE-PLANTING",
"LAWNCARE-WEED-REMOVAL",
"GENERAL",
"CLEAN_CAR_EXTERIOR",
"CLEAN_CAR_INTERIOR",
"CLEAN_CAR_COMPLETE",
"SNOW_REMOVAL",
"TIRE-CHANGE-STANDARD",
"TIRE-CHANGE-SEASONAL"
],
"description": "Specific service type within the category."
},
"bedrooms": {
"type": "number",
"description": "Number of bedrooms (cleaning/carpet)."
},
"bathrooms": {
"type": "number",
"description": "Number of bathrooms (cleaning)."
},
"basement": {
"type": "boolean",
"description": "Include basement."
},
"livingRoom": {
"type": "boolean",
"description": "Include living room."
},
"windows": {
"type": "boolean",
"description": "Include window cleaning."
},
"garage": {
"type": "boolean",
"description": "Include garage."
},
"baseboards": {
"type": "boolean",
"description": "Include baseboards."
},
"kitchenSurface": {
"type": "boolean",
"description": "Include kitchen surface clean."
},
"kitchenDeep": {
"type": "boolean",
"description": "Include kitchen deep clean."
},
"fridgeInside": {
"type": "boolean",
"description": "Include inside fridge."
},
"ovenInside": {
"type": "boolean",
"description": "Include inside oven."
},
"groutCleaning": {
"type": "boolean",
"description": "Include grout cleaning."
},
"spotCleanWalls": {
"type": "boolean",
"description": "Include spot-clean walls."
},
"spotCleanDoors": {
"type": "boolean",
"description": "Include spot-clean doors."
},
"cleaningSupplies": {
"type": "boolean",
"description": "Whether ezi provides supplies (default true)."
},
"hasPets": {
"type": "boolean",
"description": "Customer has pets at home."
},
"femaleCleaner": {
"type": "boolean",
"description": "Prefer a female cleaner."
},
"hallway": {
"type": "boolean",
"description": "Carpet: include hallway."
},
"staircase": {
"type": "boolean",
"description": "Carpet: include staircase."
},
"areaRugs": {
"type": "number",
"description": "Carpet: number of area rugs."
},
"yardSize": {
"type": "string",
"enum": [
"standard",
"large"
],
"description": "Lawn: yard size."
},
"backyard": {
"type": "boolean",
"description": "Lawn: include backyard."
},
"lawnCleanup": {
"type": "boolean",
"description": "Lawn: include cleanup."
},
"edging": {
"type": "boolean",
"description": "Lawn: include edging."
},
"leafRemoval": {
"type": "boolean",
"description": "Lawn: include leaf removal."
},
"watering": {
"type": "boolean",
"description": "Lawn: include watering."
},
"overgrown": {
"type": "boolean",
"description": "Lawn: overgrown surcharge."
},
"vehicleType": {
"type": "string",
"enum": [
"sedan",
"suv",
"van",
"truck",
"motorcycle"
],
"description": "Vehicle type for car detailing or tire changing."
},
"petHairRemoval": {
"type": "boolean",
"description": "Car: pet hair removal add-on."
},
"excessDirt": {
"type": "boolean",
"description": "Car: very dirty interior add-on."
},
"engineBay": {
"type": "boolean",
"description": "Car: engine bay cleaning add-on."
},
"clayAndSeal": {
"type": "boolean",
"description": "Car: clay bar & seal add-on."
},
"drivewayType": {
"type": "string",
"enum": [
"single",
"double"
],
"description": "Snow: driveway type."
},
"frontWalkway": {
"type": "boolean",
"description": "Snow: include front walkway."
},
"windrowClearing": {
"type": "boolean",
"description": "Snow: include windrow clearing."
},
"iceBuildup": {
"type": "boolean",
"description": "Snow: include hard ice buildup."
},
"iceSalting": {
"type": "boolean",
"description": "Snow: include ice salting."
},
"carsToClear": {
"type": "number",
"description": "Snow: number of cars to clear."
},
"windowPanes": {
"type": "number",
"description": "Exterior: number of window panes."
},
"gutterCleaning": {
"type": "boolean",
"description": "Exterior: include gutter cleaning."
},
"soffitsAndFascia": {
"type": "boolean",
"description": "Exterior: include soffits & fascia."
},
"windowScreens": {
"type": "number",
"description": "Exterior: number of window screens."
},
"tireCount": {
"type": "number",
"description": "Tire: number of tires (default 4)."
}
},
"required": [
"city",
"category",
"serviceType"
]
}🟡create_order(category, serviceType, scheduledTime, durationHours, address, ...)
Create a service order for the authenticated customer. Call calculate_quote first to get the price and recommended durationHours, then call this once the customer agrees.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"Cleaning",
"Lawn-Care",
"Exterior Cleaning",
"Car Detailing",
"Snow-Removal",
"Tire-Changing"
],
"description": "Service category."
},
"serviceType": {
"type": "string",
"enum": [
"DEEP-CLEAN",
"POST-CONSTRUCTION",
"AIRBNB-CLEAN",
"MOVE-IN-OUT-CLEAN",
"GENERAL-CLEAN",
"CARPET-CLEAN",
"LAWNCARE-LAWNMOWING",
"LAWNCARE-MAINTENANCE",
"LAWNCARE-PLANTING",
"LAWNCARE-WEED-REMOVAL",
"GENERAL",
"CLEAN_CAR_EXTERIOR",
"CLEAN_CAR_INTERIOR",
"CLEAN_CAR_COMPLETE",
"SNOW_REMOVAL",
"TIRE-CHANGE-STANDARD",
"TIRE-CHANGE-SEASONAL"
],
"description": "Specific service type."
},
"scheduledTime": {
"type": "string",
"description": "ISO 8601 datetime string (e.g. \"2025-07-15T10:00:00-04:00\"). Always include the timezone offset."
},
"durationHours": {
"type": "number",
"description": "Estimated duration in hours (0.5 increments). Use the value from calculate_quote."
},
"address": {
"type": "object",
"description": "Service address.",
"properties": {
"addressLine1": {
"type": "string"
},
"unit": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string",
"description": "Province/state abbreviation (e.g. \"ON\", \"FL\")."
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string",
"enum": [
"CA",
"US"
],
"description": "Defaults to CA."
}
},
"required": [
"addressLine1",
"city",
"state",
"postalCode"
]
},
"comment": {
"type": "string",
"description": "Optional notes for the service provider."
},
"sendQuoteSMS": {
"type": "boolean",
"description": "Send the customer an SMS summary."
},
"bookIfPaymentOnFile": {
"type": "boolean",
"description": "If true and a payment method is saved, immediately confirms the booking."
},
"bedrooms": {
"type": "number"
},
"bathrooms": {
"type": "number"
},
"basement": {
"type": "boolean"
},
"livingRoom": {
"type": "boolean"
},
"windows": {
"type": "boolean"
},
"garage": {
"type": "boolean"
},
"baseboards": {
"type": "boolean"
},
"kitchenSurface": {
"type": "boolean"
},
"kitchenDeep": {
"type": "boolean"
},
"fridgeInside": {
"type": "boolean"
},
"ovenInside": {
"type": "boolean"
},
"groutCleaning": {
"type": "boolean"
},
"spotCleanWalls": {
"type": "boolean"
},
"spotCleanDoors": {
"type": "boolean"
},
"cleaningSupplies": {
"type": "boolean"
},
"hasPets": {
"type": "boolean"
},
"femaleCleaner": {
"type": "boolean"
},
"hallway": {
"type": "boolean"
},
"staircase": {
"type": "boolean"
},
"areaRugs": {
"type": "number"
},
"yardSize": {
"type": "string",
"enum": [
"standard",
"large"
]
},
"backyard": {
"type": "boolean"
},
"lawnCleanup": {
"type": "boolean"
},
"edging": {
"type": "boolean"
},
"leafRemoval": {
"type": "boolean"
},
"watering": {
"type": "boolean"
},
"overgrown": {
"type": "boolean"
},
"vehicleType": {
"type": "string",
"enum": [
"sedan",
"suv",
"van",
"truck",
"motorcycle"
]
},
"petHairRemoval": {
"type": "boolean"
},
"excessDirt": {
"type": "boolean"
},
"engineBay": {
"type": "boolean"
},
"clayAndSeal": {
"type": "boolean"
},
"drivewayType": {
"type": "string",
"enum": [
"single",
"double"
]
},
"frontWalkway": {
"type": "boolean"
},
"windrowClearing": {
"type": "boolean"
},
"iceBuildup": {
"type": "boolean"
},
"iceSalting": {
"type": "boolean"
},
"carsToClear": {
"type": "number"
},
"windowPanes": {
"type": "number"
},
"gutterCleaning": {
"type": "boolean"
},
"soffitsAndFascia": {
"type": "boolean"
},
"windowScreens": {
"type": "number"
},
"tireCount": {
"type": "number"
}
},
"required": [
"category",
"scheduledTime",
"address"
]
}🟢reschedule_job(jobId, newScheduledTime, confirmed)
Reschedule one of the authenticated customer's upcoming jobs to a new date and time. Call lookup_scheduled_jobs first to get the job ID. Get explicit customer confirmation before setting confirmed to true.
Eingabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "The job ID obtained from lookup_scheduled_jobs."
},
"newScheduledTime": {
"type": "string",
"description": "New ISO 8601 datetime string for the rescheduled appointment."
},
"confirmed": {
"type": "boolean",
"description": "Must be true. Only set after the customer has explicitly confirmed."
}
},
"required": [
"jobId",
"newScheduledTime",
"confirmed"
]
}🔴cancel_job(jobId, confirmed)
Cancel one of the authenticated customer's upcoming jobs. Call lookup_scheduled_jobs first to get the job ID. Get explicit customer confirmation before setting confirmed to true.
Eingabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "The job ID obtained from lookup_scheduled_jobs."
},
"confirmed": {
"type": "boolean",
"description": "Must be true. Only set after the customer has explicitly confirmed."
}
},
"required": [
"jobId",
"confirmed"
]
}Community
Nachweis