Skip to main content
Glama
jayson-svg

BackCrew Housecall Pro MCP Server

by jayson-svg

list_invoices

Retrieve invoices with optional filters for customer and payment status, including pagination and sorting, to quickly locate specific billing records in Housecall Pro.

Instructions

List invoices with optional filters for customer and payment status. Maps to GET /invoices. [tier: readonly-owner]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
statusNoe.g. draft, sent, paid, void
sort_byNo
page_sizeNo
customer_idNo
sort_directionNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It does disclose that this is a readonly operation via the '[tier: readonly-owner]' tag, which is useful behavioral context. However, it doesn't disclose pagination behavior, result ordering defaults, or what happens with no filters (returns all invoices). The readonly disclosure adds value but richer behavioral context (e.g., default sort, max page size behavior) is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence plus an endpoint mapping and tier tag. It's front-loaded with the core action and conveys useful information efficiently with zero waste. Could arguably be more structured but is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list/filter tool with 6 parameters, no output schema, and no annotations, the description provides a reasonable baseline: it names the resource, the filter types, the endpoint, and the tier. However, with 83% of parameters lacking schema descriptions and no output schema, an agent cannot know expected response shape, pagination semantics, or valid values for sort_by without external knowledge. The description is adequate for simple invocation but insufficient for edge-case usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17% (only 'status' has an inline description), so the description should compensate. The description mentions 'customer and payment status' filters, which partially maps to customer_id and status parameters, but it doesn't clarify the semantics of page, page_size, sort_by, or sort_direction beyond what the schema types suggest. The description adds marginal value for two parameters but leaves the other four under-documented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List invoices') with a clear resource and specifies the available filters (customer, payment status). It maps to GET /invoices for endpoint reference. However, it doesn't explicitly distinguish itself from sibling tools like list_job_invoices, which could be ambiguous given list_invoices also exists. The verb+resource is clear but sibling differentiation is largely left to the names themselves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description identifies what filters are available (customer and payment status) and the readonly tier, implying it's safe to use for read-only scenarios. However, it doesn't explicitly state when to prefer this over list_job_invoices (which lists invoices scoped to a job) or get_invoice (single invoice). The 'optional filters' phrasing suggests flexible usage but no explicit when/when-not guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jayson-svg/backcrew-mcp-housecall-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server