Zaptu
Connect people with independent local home-service contractors. For plumbing, the person dials.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen list_supported_services
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"zaptu": {
"url": "https://api.zaptu.ai/mcp"
}
}
}Puntos de conexión remotos
https://api.zaptu.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🟢get_plumbing_call_number(zip_code)
Get the phone number a person dials to be connected with a local plumbing professional. Use this for any plumbing need (leak, clog, water heater, sewer, burst pipe). No name, phone, or consent is needed. Read what_to_tell_the_user to the person. The person must place the call themselves: never dial, autodial, transfer, or call on their behalf. Zaptu does not perform the work and this is not a booking.
Esquema de entrada
{
"type": "object",
"properties": {
"zip_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional US ZIP of the job site. Not required.",
"title": "Zip Code"
}
},
"title": "get_plumbing_call_numberArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_plumbing_call_numberOutput"
}🟡request_home_service(service_type, zip_code, customer_name, customer_phone, consent_to_contact, ...)
Submit a home-service request (a lead, not a booking). Cleaning, pest control, HVAC, handyman, and other are collecting: the request is passed along when a buyer covers the service, and there is no live buyer yet, so do not promise a callback. Requires name, phone, ZIP, and the person's explicit consent. For plumbing, the result includes call_to_connect and call_instruction: give the person the number and have them dial it. Never place the call yourself. get_plumbing_call_number does the same without any personal details.
Esquema de entrada
{
"type": "object",
"properties": {
"service_type": {
"description": "Type of local service requested. For plumbing, prefer get_plumbing_call_number.",
"enum": [
"house_cleaning",
"deep_cleaning",
"move_in_out_cleaning",
"recurring_cleaning",
"pest_control",
"plumbing",
"hvac",
"handyman",
"other"
],
"title": "Service Type",
"type": "string"
},
"zip_code": {
"description": "US 5-digit ZIP for the job site.",
"title": "Zip Code",
"type": "string"
},
"customer_name": {
"description": "Customer's full name.",
"title": "Customer Name",
"type": "string"
},
"customer_phone": {
"description": "US phone number for follow-up contact about this request.",
"title": "Customer Phone",
"type": "string"
},
"consent_to_contact": {
"description": "Must be true for non-plumbing services: the person agreed to a call or text about this request.",
"title": "Consent To Contact",
"type": "boolean"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "City"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "2-letter US state code.",
"title": "State"
},
"address_line": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Address Line"
},
"bedrooms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Bedrooms"
},
"bathrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Bathrooms"
},
"square_feet": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Square Feet"
},
"home_type": {
"anyOf": [
{
"enum": [
"apartment",
"condo",
"townhouse",
"single_family",
"other"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Home Type"
},
"frequency": {
"default": "one_time",
"enum": [
"one_time",
"weekly",
"biweekly",
"monthly"
],
"title": "Frequency",
"type": "string"
},
"preferred_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Preferred date as YYYY-MM-DD, if any.",
"title": "Preferred Date"
},
"flexible_dates": {
"default": true,
"title": "Flexible Dates",
"type": "boolean"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What the person needs, in their words.",
"title": "Notes"
},
"customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Customer Email"
},
"source_agent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "mcp",
"description": "Your agent or product name.",
"title": "Source Agent"
},
"dry_run": {
"default": false,
"description": "Validate only; nothing is saved or passed along.",
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"service_type",
"zip_code",
"customer_name",
"customer_phone",
"consent_to_contact"
],
"title": "request_home_serviceArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "request_home_serviceOutput"
}⚪request_cleaning(zip_code, customer_name, customer_phone, consent_to_contact, bedrooms, ...)
Shortcut for residential house cleaning (collecting; not a booking). Same pipeline as request_home_service.
Esquema de entrada
{
"type": "object",
"properties": {
"zip_code": {
"description": "US 5-digit ZIP for the home.",
"title": "Zip Code",
"type": "string"
},
"customer_name": {
"description": "Customer's full name.",
"title": "Customer Name",
"type": "string"
},
"customer_phone": {
"description": "US phone number.",
"title": "Customer Phone",
"type": "string"
},
"consent_to_contact": {
"description": "Must be true: the person agreed to a call or text about this request.",
"title": "Consent To Contact",
"type": "boolean"
},
"bedrooms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Bedrooms"
},
"bathrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Bathrooms"
},
"square_feet": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Square Feet"
},
"frequency": {
"default": "one_time",
"enum": [
"one_time",
"weekly",
"biweekly",
"monthly"
],
"title": "Frequency",
"type": "string"
},
"preferred_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Preferred Date"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
},
"customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Customer Email"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "City"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "State"
}
},
"required": [
"zip_code",
"customer_name",
"customer_phone",
"consent_to_contact"
],
"title": "request_cleaningArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "request_cleaningOutput"
}🟢get_lead_status(lead_id)
Look up a previously submitted service request by lead_id.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"description": "ID returned by request_home_service.",
"title": "Lead Id",
"type": "string"
}
},
"required": [
"lead_id"
],
"title": "get_lead_statusArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_lead_statusOutput"
}🟢list_supported_services
Which services are live (plumbing: the person dials a number) vs collecting, plus the rules for agents.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "list_supported_servicesArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_supported_servicesOutput"
}Comunidad
Evidencia