# Housecall Pro MCP by usefulapi (io.usefulapi/housecall-pro): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.usefulapi%2Fhousecall-pro/versions/latest)
- Connected to: https://housecall-pro.usefulapi.io/mcp
- Homepage: https://usefulapi.io/housecall-pro/
- Repository: https://github.com/m190/usefulapi-mcp
- Scoring rules: v2
- Tools: 25
- Average: 46.8 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how Housecall Pro MCP by usefulapi (io.usefulapi/housecall-pro)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

No server-wide issues.

## Tools

- `housecall_create_customer`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: first_name, last_name, email, mobile_number, home_number, work_number, lead_source, notes, addresses[].street, addresses[].street_line_2, addresses[].city, addresses[].state, addresses[].zip, addresses[].country.
  - Minor: String arguments with no constraint or example: first_name, last_name, email, mobile_number, home_number, work_number, lead_source, notes, addresses[].street, addresses[].street_line_2, addresses[].city, addresses[].state, addresses[].zip, addresses[].country.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `housecall_update_customer`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: first_name, last_name, email, mobile_number, home_number, work_number, lead_source, notes.
  - Minor: String arguments with no constraint or example: first_name, last_name, email, mobile_number, home_number, work_number, lead_source, notes.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_create_lead`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: customer.first_name, customer.last_name, customer.email, customer.mobile_number, customer.home_number, customer.work_number, customer.company, customer.notifications_enabled, customer.lead_source, customer.notes, customer.tags, customer.addresses, customer.addresses[].street, customer.addresses[].street_line_2, customer.addresses[].city, customer.addresses[].state, customer.addresses[].zip, customer.addresses[].country, address.street, address.street_line_2, address.city, address.state, address.zip, address.country, assigned_employee_id, lead_source, note, tags, line_items, line_items[].description.
  - Minor: String arguments with no constraint or example: customer.first_name, customer.last_name, customer.email, customer.mobile_number, customer.home_number, customer.work_number, customer.company, customer.lead_source, customer.notes, customer.addresses[].street, customer.addresses[].street_line_2, customer.addresses[].city, customer.addresses[].state, customer.addresses[].zip, customer.addresses[].country, address.street, address.street_line_2, address.city, address.state, address.zip, address.country, assigned_employee_id, lead_source, note, line_items[].description.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument customer.notifications_enabled is unclear.
  - Minor: Says nothing about what it returns.
- `housecall_list_tags`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `housecall_list_leads`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `housecall_list_estimates`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `housecall_add_job_note`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_create_job`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: schedule, line_items, line_items[].description, lead_source, notes, business_unit_id.
  - Minor: String arguments with no constraint or example: schedule.scheduled_end, line_items[].description, lead_source, notes, job_type_id, business_unit_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id, address_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_get_customer`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_get_estimate`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: estimate_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_get_job`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_get_lead`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: lead_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_list_employees`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `housecall_list_price_book_services`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `housecall_list_jobs`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `housecall_update_job_schedule`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: end_time.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_create_estimate`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: address.street, address.street_line_2, address.city, address.state, address.zip, address.country, options[].tags, options[].line_items, options[].line_items[].description, note, assigned_employee_ids, lead_source, schedule.arrival_window_in_minutes, schedule.notify_customer, business_unit_id.
  - Minor: String arguments with no constraint or example: address.street, address.street_line_2, address.city, address.state, address.zip, address.country, options[].line_items[].description, note, lead_source, schedule.start_time, schedule.end_time, job_type_id, business_unit_id.
  - Minor: The meaning of the boolean argument schedule.notify_customer is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_list_job_invoices`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_list_customers`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `housecall_get_company`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `housecall_list_job_types`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `housecall_list_invoices`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `housecall_list_job_line_items`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `housecall_dispatch_job`: 55 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id, employee_ids. Name the tool or the place that returns it, or models look it up first.
- `housecall_create_customer_address`: 60 / 100
  - Major: Arguments without a description: street, street_line_2, city, state, zip.
  - Minor: String arguments with no constraint or example: street_line_2.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
