Connect people with independent local home-service contractors. For plumbing, the person dials.
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.
Look up a previously submitted service request by lead_id.
ID returned by request_home_service.
Look up a previously submitted service request by lead_id.
| Argument | Type | Description |
|---|---|---|
| lead_id* | string | ID returned by request_home_service. |
{
"type": "object",
"title": "get_lead_statusArguments",
"required": [
"lead_id"
],
"properties": {
"lead_id": {
"type": "string",
"title": "Lead Id",
"description": "ID returned by request_home_service."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| zip_code | any | Optional US ZIP of the job site. Not required. |
{
"type": "object",
"title": "get_plumbing_call_numberArguments",
"properties": {
"zip_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Zip Code",
"default": null,
"description": "Optional US ZIP of the job site. Not required."
}
}
}Which services are live (plumbing: the person dials a number) vs collecting, plus the rules for agents.
No arguments.
{
"type": "object",
"title": "list_supported_servicesArguments",
"properties": {}
}Shortcut for residential house cleaning (collecting; not a booking). Same pipeline as request_home_service. Consent means details may be shared with Polyares and its service-provider partners for this non-plumbing request.
| Argument | Type | Description |
|---|---|---|
| city | any | |
| notes | any | |
| state | any | |
| bedrooms | any | |
| zip_code* | string | US 5-digit ZIP for the home. |
| bathrooms | any | |
| frequency | string | |
| square_feet | any | |
| customer_name* | string | Customer's full name. |
| customer_email | any | |
| customer_phone* | string |
Submit a home-service request (a lead, not a booking). Cleaning, pest control, garage door, 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 non-plumbing services, tell the person details may be shared with Polyares and its service-provider partners, and Polyares, those partners, or Zaptu may call or text about this request. 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.
| Argument | Type | Description |
|---|---|---|
| city | any | |
| notes | any | What the person needs, in their words. |
| state | any | 2-letter US state code. |
| dry_run | boolean | Validate only; nothing is saved or passed along. |
| bedrooms | any | |
| zip_code* | string | US 5-digit ZIP for the job site. |
| bathrooms | any | |
| frequency | string |
| US phone number. |
| preferred_date | any |
| consent_to_contact* | boolean | Must be true: the person agreed that details may be shared with Polyares and its service-provider partners, and that Polyares, those partners, or Zaptu may call or text about this request. |
{
"type": "object",
"title": "request_cleaningArguments",
"required": [
"zip_code",
"customer_name",
"customer_phone",
"consent_to_contact"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City",
"default": null
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes",
"default": null
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null
},
"bedrooms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bedrooms",
"default": null
},
"zip_code": {
"type": "string",
"title": "Zip Code",
"description": "US 5-digit ZIP for the home."
},
"bathrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Bathrooms",
"default": null
},
"frequency": {
"enum": [
"one_time",
"weekly",
"biweekly",
"monthly"
],
"type": "string",
"title": "Frequency",
"default": "one_time"
},
"square_feet": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Square Feet",
"default": null
},
"customer_name": {
"type": "string",
"title": "Customer Name",
"description": "Customer's full name."
},
"customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Customer Email",
"default": null
},
"customer_phone": {
"type": "string",
"title": "Customer Phone",
"description": "US phone number."
},
"preferred_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preferred Date",
"default": null
},
"consent_to_contact": {
"type": "boolean",
"title": "Consent To Contact",
"description": "Must be true: the person agreed that details may be shared with Polyares and its service-provider partners, and that Polyares, those partners, or Zaptu may call or text about this request."
}
}
}| home_type | any |
| square_feet | any |
| address_line | any |
| service_type* | string | Type of local service requested. For plumbing, prefer get_plumbing_call_number. |
| source_agent | any | Your agent or product name. |
| customer_name* | string | Customer's full name. |
| customer_email | any |
| customer_phone* | string | US phone number for follow-up contact about this request. |
| flexible_dates | boolean |
| preferred_date | any | Preferred date as YYYY-MM-DD, if any. |
| consent_to_contact* | boolean | Must be true for non-plumbing services: the person agreed that details may be shared with Polyares and its service-provider partners, and that Polyares, those partners, or Zaptu may call or text about this request. |
{
"type": "object",
"title": "request_home_serviceArguments",
"required": [
"service_type",
"zip_code",
"customer_name",
"customer_phone",
"consent_to_contact"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City",
"default": null
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes",
"default": null,
"description": "What the person needs, in their words."
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null,
"description": "2-letter US state code."
},
"dry_run": {
"type": "boolean",
"title": "Dry Run",
"default": false,
"description": "Validate only; nothing is saved or passed along."
},
"bedrooms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bedrooms",
"default": null
},
"zip_code": {
"type": "string",
"title": "Zip Code",
"description": "US 5-digit ZIP for the job site."
},
"bathrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Bathrooms",
"default": null
},
"frequency": {
"enum": [
"one_time",
"weekly",
"biweekly",
"monthly"
],
"type": "string",
"title": "Frequency",
"default": "one_time"
},
"home_type": {
"anyOf": [
{
"enum": [
"apartment",
"condo",
"townhouse",
"single_family",
"other"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Home Type",
"default": null
},
"square_feet": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Square Feet",
"default": null
},
"address_line": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address Line",
"default": null
},
"service_type": {
"enum": [
"house_cleaning",
"deep_cleaning",
"move_in_out_cleaning",
"recurring_cleaning",
"pest_control",
"garage_door",
"plumbing",
"hvac",
"handyman",
"other"
],
"type": "string",
"title": "Service Type",
"description": "Type of local service requested. For plumbing, prefer get_plumbing_call_number."
},
"source_agent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Agent",
"default": "mcp",
"description": "Your agent or product name."
},
"customer_name": {
"type": "string",
"title": "Customer Name",
"description": "Customer's full name."
},
"customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Customer Email",
"default": null
},
"customer_phone": {
"type": "string",
"title": "Customer Phone",
"description": "US phone number for follow-up contact about this request."
},
"flexible_dates": {
"type": "boolean",
"title": "Flexible Dates",
"default": true
},
"preferred_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preferred Date",
"default": null,
"description": "Preferred date as YYYY-MM-DD, if any."
},
"consent_to_contact": {
"type": "boolean",
"title": "Consent To Contact",
"description": "Must be true for non-plumbing services: the person agreed that details may be shared with Polyares and its service-provider partners, and that Polyares, those partners, or Zaptu may call or text about this request."
}
}
}