Skip to main content
Glama
NoBanks

housecallpro-mcp

by NoBanks

housecallpro-mcp

License: MIT Python MCP

MCP server for Housecall Pro, the mid-market trades vertical SaaS (HVAC, plumbing, electrical, garage, pest, landscaping). 5 tools for AI agents to register new customers, schedule jobs, create estimates, log inbound leads, and generate invoices (env-gated) against active jobs.

As of May 2026, Housecall Pro does not ship an official MCP server. Two low-visibility community attempts exist. This is the production-quality, install-ready Python rail.

The 5 tools

Tool

Purpose

Gated?

create_pro_customer

Register a new customer in the CRM

No, safe

schedule_new_job

Schedule a new trade job for an existing customer

No, safe

create_estimate

Generate a pricing estimate or proposal

No, safe

submit_new_lead

Log a new marketing or inbound prospect lead

No, safe

generate_job_invoice

Post an official invoice against an active job

YES, HOUSECALLPRO_ALLOW_INVOICE=true required

Install

pip install housecallpro-mcp

Configure

export HOUSECALLPRO_API_KEY="your-housecallpro-api-key"
export HOUSECALLPRO_ALLOW_INVOICE="false"   # set to "true" to enable invoice creation

Get an API key in your Housecall Pro account settings. The key is sent as a Bearer token; keep it server-side.

Use with Claude Desktop

{
  "mcpServers": {
    "housecallpro": {
      "command": "housecallpro-mcp",
      "env": {
        "HOUSECALLPRO_API_KEY": "your-housecallpro-api-key",
        "HOUSECALLPRO_ALLOW_INVOICE": "false"
      }
    }
  }
}

Restart Claude Desktop. The 5 Housecall Pro tools are now available.

Use case: AI receptionist + sales agent for a trades business

Typical agent flow for inbound calls and quotes:

  1. Call create_pro_customer(first_name, last_name, mobile_phone) to register the caller in CRM

  2. Call schedule_new_job(customer_id, description, start_time, end_time) to book the service window

  3. After the diagnostic call: create_estimate(customer_id, note) to propose pricing

  4. For web-form / chat inbound: submit_new_lead(customer_id, description) to log the prospect in the sales funnel

  5. (After job completion + with HOUSECALLPRO_ALLOW_INVOICE=true): generate_job_invoice(job_id) to bill the customer

Safety note

The invoice action is intentionally gated behind an explicit env var. The default install does not bill customers. Set HOUSECALLPRO_ALLOW_INVOICE="true" only when the AI agent workflow has been explicitly approved for billing actions.

Architecture

  • Public MIT-licensed wrapper around the Housecall Pro REST API

  • Async HTTP via httpx

  • pydantic v2 input validation

  • Bearer API key auth, server-side only

  • Rate-limit aware (429 returns a clean error)

  • Invoice action gated by env flag

Development

git clone https://github.com/NoBanks/housecallpro-mcp.git
cd housecallpro-mcp
pip install -e ".[dev]"
pytest

License

MIT. See LICENSE.

Author

Ryan Hammer (NoBanks). Solo founder + engineer. Built this and 14 other MCP servers as part of a sprint to expose AI agent rails for the products and platforms shipping daily.

Open to AI engineering roles, contract or full-time, remote-only.

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/NoBanks/housecallpro-mcp'

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