Housecallpro MCP logo

Housecallpro MCP

Reads Housecall Pro estimates and invoices from contractor-provided links, with guarded estimate declines and browser-only approvals.

Install Housecallpro MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "housecallpro-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@chrischall/housecallpro-mcp"
      ],
      "env": {
        "HOUSECALLPRO_LINK": "YOUR_VALUE_HERE",
        "HOUSECALLPRO_LINKS": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 7 tools correctly (Today).

Overview

The housecallpro-mcp MCP server connects an AI client to the customer-facing Housecall Pro estimate and invoice links sent by contractors. It reads document totals, taxes, line items, company details, approval state, invoice balances, and link health over direct HTTPS. It can decline an estimate after confirmation, but refuses estimate approval because Housecall Pro requires a browser-generated reCAPTCHA token. Use it when you have one or more contractor-provided document links, not when you manage a Housecall Pro business account.

Use cases

  • Review a contractor’s estimate line by line
  • Check invoice totals and balance due
  • Inspect contractor contact and arrival details
  • Decline a selected estimate option with confirmation
  • Verify whether a shared document link still works

Key features

  • Read Housecall Pro estimates and invoices
  • Return compact or raw document data
  • Convert monetary values to cents and U.S. dollars
  • Manage multiple labeled document links
  • Require confirmation before declining estimates
  • Check link reachability and resolution

Tools7

What Housecallpro MCP lets your agent do. Expand a tool for its parameters.

Verified live~1.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

11/11 checks healthy over the last 56d

What it can do

From the 7 tools this server returned when we ran it; 7 declare their own safety hints.

Can delete or modify data · 1Handles credentials · 3Makes network requests · 5Read-only tools · 6
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age79 days
Maintainers1

Observed 2026-11-02 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · @chrischall/housecallpro-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads1.9kPackage downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed7Callable tools this server registers over MCP.

How Housecallpro MCP works

What housecallpro-mcp MCP server does

The housecallpro-mcp MCP server reads the customer-facing Housecall Pro documents reached through links sent by a contractor. It is intended for customers reviewing estimates and invoices from trades such as HVAC, plumbing, electrical, or cleaning providers. It does not connect to the Housecall Pro business API and does not provide account-level access across a contractor’s documents.

Available reads include estimate line items, totals, tax, company information, and approval state. Invoice reads provide the amount, subtotal, tax derived from the document totals when necessary, balance due, and whether payment is possible. Contractor details include phone, email, website, and arrival-window information. A health check tests reachability and whether a configured link still resolves.

The server also exposes estimate decline and approval actions with different behavior. Declining requires confirmation and validates the selected option before posting. Approval always refuses and directs the user to complete that action in a browser.

How it works

The server makes direct HTTPS requests to the customer-facing Housecall Pro host. It does not use a browser bridge, browser extension, signed-in tab, or fetch-proxy dependency. The contractor-provided link acts as the credential, so anyone who holds it may be able to read the document or decline an estimate.

Estimate and invoice URLs use different token formats and endpoints. The server checks that the link matches the requested document type before making a request. Read tools accept a view value of compact or raw. Compact output projects the main fields and includes monetary values in both cents and U.S. dollars; raw output preserves the upstream document and its integer-cent representation.

Setup and configuration

Install and run the package with npx -y @chrischall/housecallpro-mcp. Set HOUSECALLPRO_LINK to one contractor-provided estimate or invoice URL. For multiple documents, set HOUSECALLPRO_LINKS to a JSON array containing labels and URLs. Tool calls can select a configured link by label; with one link configured, no selector is needed.

Estimate declines use confirmation settings. By default, clients without a confirmation prompt receive a preview and token before anything is changed. MCP_CONFIRM_MODE can control that behavior, while MCP_CONFIRM_ELICITATION controls whether prompt-capable clients show an elicitation prompt. MCP_CONFIRM_TTL_SECONDS sets token lifetime, and MCP_CONFIRM_SECRET can make tokens survive a process restart.

Tools and capabilities

The housecallpro-mcp MCP server exposes these tools:

  • housecallpro_get_estimate reads estimate details and supports compact or raw output.
  • housecallpro_get_invoice reads invoice amounts, balances, and payability.
  • housecallpro_get_company returns contractor contact and arrival information.
  • housecallpro_list_links lists configured labels without exposing URLs.
  • housecallpro_decline_estimate previews and, after confirmation, submits a decline.
  • housecallpro_approve_estimate refuses the operation because approval needs a browser-generated token.
  • housecallpro_healthcheck checks link reachability and resolution.

Limitations and notes

This server is for the Housecall Pro customer surface, not businesses using the platform’s public API. It does not handle payments, cards, or the account-level customer portal. Invoice data has no native line-item or tax field in the upstream response; tax may therefore be derived from total minus subtotal.

Approval is intentionally unavailable to this server. Housecall Pro requires a reCAPTCHA v3 response token created by page JavaScript, which a server-side request cannot produce. The project documentation also warns that the code was AI-developed and has not received a human audit, so review the implementation and permissions before deployment.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Housecallpro MCP

housecallpro-mcp is an MCP server that connects AI clients to customer-facing Housecall Pro estimate and invoice links sent by contractors. Its main tools read estimates, invoices, contractor details, configured links, and link health, and can decline estimates after confirmation. It refuses approval because Housecall Pro requires a browser-generated reCAPTCHA token.

Install it with `npx -y @chrischall/housecallpro-mcp`. Configure `HOUSECALLPRO_LINK` with a contractor-provided estimate or invoice URL, or use `HOUSECALLPRO_LINKS` for multiple labeled links. Then add the command and environment variables to your MCP client configuration.

Yes, housecallpro-mcp supports Claude Desktop through its standard MCP configuration. Claude Desktop cannot show the same confirmation prompt as Claude Code, so a decline normally requires a preview, user approval, and a second call with the confirmation token.

No, housecall-mcp cannot approve an estimate. The approval tool always refuses because Housecall Pro requires a reCAPTCHA v3 token created by JavaScript in the customer’s browser. Approve the estimate directly in a browser instead.

Set `HOUSECALLPRO_LINKS` to a JSON array containing labeled URLs, such as `[{"label":"hvac","url":"..."}]`. Tools accept an optional link selector, while `housecallpro_list_links` returns labels only and does not expose the URLs.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewHousecallpro MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/housecallpro-mcp?style=directory)](https://allmcps.com/mcp/housecallpro-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/housecallpro-mcp"><img src="https://allmcps.com/api/badge/housecallpro-mcp?style=directory" alt="Housecallpro MCP on AllMCPs" /></a>