Housecall Pro MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Manage Housecall Pro customers, jobs, estimates and leads; schedule and dispatch jobs.
25 tools: 9 can delete or cancel things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels9Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads16Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http housecall-pro https://housecall-pro.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
25 tools
Deletes or cancels 9Claude Code: deny
housecall_add_job_noteAdd a text note to a job.No findings
Why it is in this group
- The name "housecall_add_job_note" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add a text note to a job. Housecall Pro: POST /jobs/{job_id}/notes.
Annotations the server declares
- title: Add a note to a job
- destructiveHint: true
housecall_create_customerCreate a new customer, optionally with one or more addresses.No findings
Why it is in this group
- The name "housecall_create_customer" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a new customer, optionally with one or more addresses. Housecall Pro: POST /customers.
Annotations the server declares
- title: Create a customer
- destructiveHint: true
housecall_create_customer_addressAdd a service address to an existing customer.No findings
Why it is in this group
- The name "housecall_create_customer_address" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add a service address to an existing customer. Returns the address id to use when creating a job or estimate. Housecall Pro: POST /customers/{customer_id}/addresses.
Annotations the server declares
- title: Add an address to a customer
- destructiveHint: true
housecall_create_estimateCreate an estimate for a customer with one or more options (e.g.No findings
Why it is in this group
- The name "housecall_create_estimate" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create an estimate for a customer with one or more options (e.g. Good / Better / Best), each with line items priced in cents. Give an existing address_id or a new address. Housecall Pro: POST /estimates.
Annotations the server declares
- title: Create an estimate
- destructiveHint: true
housecall_create_jobCreate a job for an existing customer at one of their existing addresses, optionally scheduled, assigned, tagged and with line items (prices in cents).No findings
Why it is in this group
- The name "housecall_create_job" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a job for an existing customer at one of their existing addresses, optionally scheduled, assigned, tagged and with line items (prices in cents). Get address ids from housecall_get_customer. Housecall Pro: POST /jobs.
Annotations the server declares
- title: Create a job
- destructiveHint: true
housecall_create_leadCreate a lead, either for an existing customer (customer_id) or with a new customer inline (customer).No findings
Why it is in this group
- The name "housecall_create_lead" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a lead, either for an existing customer (customer_id) or with a new customer inline (customer). Optionally with an address, lead source, assigned employee, tags, note and line items priced in cents. Housecall Pro: POST /leads.
Annotations the server declares
- title: Create a lead
- destructiveHint: true
housecall_dispatch_jobSet which employees a job is dispatched to.No findings
Why it is in this group
- The description's first verb is "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set which employees a job is dispatched to. This REPLACES the current dispatch list — pass everyone who should be on the job. Housecall Pro: PUT /jobs/{job_id}/dispatch.
Annotations the server declares
- title: Dispatch a job to employees
- destructiveHint: true
housecall_update_customerChange a customer's name, contact details, tags, lead source, notes or notification setting.No findings
Why it is in this group
- The name "housecall_update_customer" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Change a customer's name, contact details, tags, lead source, notes or notification setting. Only the fields you pass are sent. Housecall Pro: PUT /customers/{customer_id}.
Annotations the server declares
- title: Update a customer
- destructiveHint: true
housecall_update_job_scheduleSet or change a job's scheduled start/end and arrival window, optionally dispatching employees and notifying the customer and/or the pro.No findings
Why it is in this group
- The name "housecall_update_job_schedule" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set or change a job's scheduled start/end and arrival window, optionally dispatching employees and notifying the customer and/or the pro. Jobs with more than one appointment (multi-day) cannot be rescheduled here. Housecall Pro: PUT /jobs/{job_id}/schedule.
Annotations the server declares
- title: Reschedule a job
- destructiveHint: true
Only reads 16Claude Code: allow
housecall_get_companyFetch the Housecall Pro company this key belongs to — name, contact details, address, time zone, service-area zip codes and (multi-location) its locations.No findings
Why it is in this group
- The name "housecall_get_company" says "get": a word for reading.
Description, as the server wrote it Fetch the Housecall Pro company this key belongs to — name, contact details, address, time zone, service-area zip codes and (multi-location) its locations. A cheap way to confirm the key works. Housecall Pro: GET /company.
Annotations the server declares
- title: Get the company
- readOnlyHint: true
housecall_get_customerFetch a single customer by id, including their addresses (whose ids you need to create a job or estimate).No findings
Why it is in this group
- The name "housecall_get_customer" says "get": a word for reading.
Description, as the server wrote it Fetch a single customer by id, including their addresses (whose ids you need to create a job or estimate). Housecall Pro: GET /customers/{customer_id}.
Annotations the server declares
- title: Get one customer
- readOnlyHint: true
housecall_get_estimateFetch a single estimate by id, including its options and each option's approval status.No findings
Why it is in this group
- The name "housecall_get_estimate" says "get": a word for reading.
Description, as the server wrote it Fetch a single estimate by id, including its options and each option's approval status. Housecall Pro: GET /estimates/{estimate_id}.
Annotations the server declares
- title: Get one estimate
- readOnlyHint: true
housecall_get_jobFetch a single job by id — customer, address, work status and timestamps, schedule, assigned employees, notes and totals.No findings
Why it is in this group
- The name "housecall_get_job" says "get": a word for reading.
Description, as the server wrote it Fetch a single job by id — customer, address, work status and timestamps, schedule, assigned employees, notes and totals. Housecall Pro: GET /jobs/{id}.
Annotations the server declares
- title: Get one job
- readOnlyHint: true
housecall_get_leadFetch a single lead by id — its customer, address, lead source, tags, assigned employee, status and pipeline status.No findings
Why it is in this group
- The name "housecall_get_lead" says "get": a word for reading.
Description, as the server wrote it Fetch a single lead by id — its customer, address, lead source, tags, assigned employee, status and pipeline status. Housecall Pro: GET /leads/{id}.
Annotations the server declares
- title: Get one lead
- readOnlyHint: true
housecall_list_customersList or search customers, with their phone numbers, tags and addresses.No findings
Why it is in this group
- The name "housecall_list_customers" says "list": a word for reading.
Description, as the server wrote it List or search customers, with their phone numbers, tags and addresses. `q` searches name, email, mobile number and address. Housecall Pro: GET /customers.
Annotations the server declares
- title: List customers
- readOnlyHint: true
housecall_list_employeesList the company's active employees with their role, contact details and permissions.No findings
Why it is in this group
- The name "housecall_list_employees" says "list": a word for reading.
Description, as the server wrote it List the company's active employees with their role, contact details and permissions. Use their ids to assign or dispatch jobs. Housecall Pro: GET /employees.
Annotations the server declares
- title: List employees
- readOnlyHint: true
housecall_list_estimatesList estimates, filterable by scheduled window, customer, assigned employees and work status.No findings
Why it is in this group
- The name "housecall_list_estimates" says "list": a word for reading.
Description, as the server wrote it List estimates, filterable by scheduled window, customer, assigned employees and work status. Each carries its customer, address, schedule and options. Housecall Pro: GET /estimates.
Annotations the server declares
- title: List estimates
- readOnlyHint: true
housecall_list_invoicesList invoices across the company, filterable by status, customer, and created / due / paid date ranges — e.g.No findings
Why it is in this group
- The name "housecall_list_invoices" says "list": a word for reading.
Description, as the server wrote it List invoices across the company, filterable by status, customer, and created / due / paid date ranges — e.g. everything open and overdue. Amounts are in cents. Housecall Pro: GET /invoices.
Annotations the server declares
- title: List invoices
- readOnlyHint: true
housecall_list_job_invoicesList the invoices raised for one job, with status, amounts, due and paid dates, items, taxes, discounts and payments.No findings
Why it is in this group
- The name "housecall_list_job_invoices" says "list": a word for reading.
Description, as the server wrote it List the invoices raised for one job, with status, amounts, due and paid dates, items, taxes, discounts and payments. Housecall Pro: GET /jobs/{job_id}/invoices.
Annotations the server declares
- title: List a job's invoices
- readOnlyHint: true
housecall_list_job_line_itemsList the line items (services, materials, labor, discounts) on one job, with unit price, cost, quantity and amount in cents.No findings
Why it is in this group
- The name "housecall_list_job_line_items" says "list": a word for reading.
Description, as the server wrote it List the line items (services, materials, labor, discounts) on one job, with unit price, cost, quantity and amount in cents. Housecall Pro: GET /jobs/{job_id}/line_items.
Annotations the server declares
- title: List a job's line items
- readOnlyHint: true
housecall_list_job_typesList the company's job types (e.g.No findings
Why it is in this group
- The name "housecall_list_job_types" says "list": a word for reading.
Description, as the server wrote it List the company's job types (e.g. Repair, Install, Maintenance). Use an id as job_type_id when creating a job or estimate. Housecall Pro: GET /job_fields/job_types.
Annotations the server declares
- title: List job types
- readOnlyHint: true
housecall_list_jobsList jobs, filterable by scheduled window, customer, assigned employees and work status.No findings
Why it is in this group
- The name "housecall_list_jobs" says "list": a word for reading.
Description, as the server wrote it List jobs, filterable by scheduled window, customer, assigned employees and work status. Each job carries its customer, address, notes, schedule, assigned employees and totals. Housecall Pro: GET /jobs.
Annotations the server declares
- title: List jobs
- readOnlyHint: true
housecall_list_leadsList leads, filterable by status (open / won / lost), customer, assigned employees, tags and lead source.No findings
Why it is in this group
- The name "housecall_list_leads" says "list": a word for reading.
Description, as the server wrote it List leads, filterable by status (open / won / lost), customer, assigned employees, tags and lead source. Housecall Pro: GET /leads.
Annotations the server declares
- title: List leads
- readOnlyHint: true
housecall_list_price_book_servicesList or search the price book's services — name, task number, price and cost (cents), taxable and online-booking flags; optionally with their materials and labor rates.No findings
Why it is in this group
- The name "housecall_list_price_book_services" says "list": a word for reading.
Description, as the server wrote it List or search the price book's services — name, task number, price and cost (cents), taxable and online-booking flags; optionally with their materials and labor rates. Housecall Pro: GET /api/price_book/services.
Annotations the server declares
- title: List price book services
- readOnlyHint: true
housecall_list_tagsList the tags defined in the company.No findings
Why it is in this group
- The name "housecall_list_tags" says "list": a word for reading.
Description, as the server wrote it List the tags defined in the company. Housecall Pro: GET /tags.
Annotations the server declares
- title: List tags
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http housecall-pro https://housecall-pro.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__housecall-pro__housecall_get_company",
"mcp__housecall-pro__housecall_list_customers",
"mcp__housecall-pro__housecall_get_customer",
"mcp__housecall-pro__housecall_list_jobs",
"mcp__housecall-pro__housecall_get_job",
"mcp__housecall-pro__housecall_list_job_line_items",
"mcp__housecall-pro__housecall_list_job_invoices",
"mcp__housecall-pro__housecall_list_invoices",
"mcp__housecall-pro__housecall_list_estimates",
"mcp__housecall-pro__housecall_get_estimate",
"mcp__housecall-pro__housecall_list_employees",
"mcp__housecall-pro__housecall_list_leads",
"mcp__housecall-pro__housecall_get_lead",
"mcp__housecall-pro__housecall_list_job_types",
"mcp__housecall-pro__housecall_list_tags",
"mcp__housecall-pro__housecall_list_price_book_services"
],
"ask": [],
"deny": [
"mcp__housecall-pro__housecall_create_customer",
"mcp__housecall-pro__housecall_update_customer",
"mcp__housecall-pro__housecall_create_customer_address",
"mcp__housecall-pro__housecall_create_job",
"mcp__housecall-pro__housecall_update_job_schedule",
"mcp__housecall-pro__housecall_dispatch_job",
"mcp__housecall-pro__housecall_add_job_note",
"mcp__housecall-pro__housecall_create_estimate",
"mcp__housecall-pro__housecall_create_lead"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as housecall-pro. Review it before you use it.