Skip to main content

MCP servers for Housecall Pro API integration

Project description

🏠 Housecall Pro MCP Servers

A comprehensive collection of Model Context Protocol (MCP) servers for the Housecall Pro API, enabling Claude Desktop and other LLM with MCP capability to seamlessly interact with your Housecall Pro field service management system. Each server is specialized for a specific domain, providing modular access to customers, jobs, scheduling, invoicing, materials, and more.

🚀 Overview

This project provides 20+ specialized MCP servers that expose the full Housecall Pro API through Claude Desktop or other LLMs. Whether you're managing customers, scheduling jobs, processing invoices, or tracking materials, these servers give you powerful AI-assisted access to your field service operations.

🏗️ Architecture

Each Housecall Pro API domain has its own dedicated MCP server for focused, efficient operations:

📋 Core Business Operations

  • housecallpro_customers.py - Customer & address management
  • housecallpro_jobs.py - Job management, scheduling & dispatch
  • housecallpro_employees.py - Employee management & filtering
  • housecallpro_appointments.py - Appointment scheduling & status management

💰 Financial Management

  • housecallpro_invoices.py - Invoice management & payments
  • housecallpro_invoices_query.py - Advanced invoice querying
  • housecallpro_job_invoices.py - Job-specific invoice operations
  • housecallpro_estimates.py - Estimate creation & management

📦 Inventory & Materials

  • housecallpro_materials.py - Materials management & pricing
  • housecallpro_material_categories.py - Material category organization
  • housecallpro_price_forms.py - Price book & form management

🎯 Sales & Marketing

  • housecallpro_leads.py - Lead management & conversion
  • housecallpro_lead_sources.py - Lead source tracking
  • housecallpro_tags.py - Tag management & organization

⚙️ System & Configuration

  • housecallpro_company.py - Company information & settings
  • housecallpro_job_types.py - Job type configuration
  • housecallpro_schedule.py - Schedule management
  • housecallpro_events.py - Event & calendar management
  • housecallpro_webhooks.py - Webhook configuration & management
  • housecallpro_application.py - Application settings & preferences
  • housecallpro.py - Unified server with core functionality

🌟 Key Features

📋 Customer Management (housecallpro_customers.py)

Customer Operations

  • Get Customers - List customers with advanced filtering (search, date ranges, pagination)
  • Get Customer by ID - Retrieve detailed customer profiles
  • Create Customer - Add new customers with complete information
  • Update Customer - Modify existing customer details

Address Management

  • Get Customer Addresses - List all addresses for customers
  • Get Customer Address by ID - Retrieve specific address details
  • Create Customer Address - Add service locations to customers

👥 Employee Management (housecallpro_employees.py)

Employee Operations

  • Get Employees - List employees with filtering by:
    • Active status, role, tags
    • Name, email, phone search
    • Custom pagination and sorting
  • Get Employee by ID - Detailed employee profiles including:
    • Personal details (contact info, avatar)
    • Employment info (role, hire date, status)
    • Permissions and access levels
    • Tags and metadata

💼 Job Management (housecallpro_jobs.py)

Core Job Operations

  • Get Jobs - Advanced job listing with filters for:
    • Status (scheduled, in_progress, completed, cancelled)
    • Customer, employee, date ranges
    • Job number, description, address search
    • Work status, business unit, tags
  • Get Job by ID - Complete job details including line items, scheduling, attachments
  • Create Job - Full job creation with customer assignment, scheduling, dispatch

Job Scheduling & Dispatch

  • Update Job Schedule - Modify timing and appointments
  • Delete Job Schedule - Remove scheduled appointments
  • Dispatch Job to Employees - Assign technicians and crews

Line Item Management

  • Get/Add/Update/Delete Job Line Items - Complete line item operations
  • Bulk Update Line Items - Efficient batch updates
  • Get/Update Job Input Materials - Material usage tracking

Job Documentation

  • Add Job Attachments - Upload files, photos, documents
  • Add/Delete Job Notes - Internal communication and tracking
  • Create Job Links - External resource management
  • Add/Remove Job Tags - Organization and categorization

📅 Appointment Management (housecallpro_appointments.py)

Core Appointment Operations

  • Get Appointments - List with filtering by customer, employee, status, dates
  • Get Appointment by ID - Detailed appointment information
  • Create/Update/Delete Appointments - Full appointment lifecycle management

Scheduling & Management

  • Reschedule Appointment - Move appointments with customer notifications
  • Get Appointment Availability - Find available scheduling slots
  • Send Appointment Reminder - Customer communication automation

Status Management

  • Mark Appointment Arrived/Started/Completed - Real-time status tracking
  • Mark Appointment No Show - Handle customer no-shows

💰 Invoice Management (housecallpro_invoices.py)

Invoice Operations

  • Get Invoices - Advanced filtering by status, customer, dates, payment status
  • Get Invoice by ID - Complete invoice details with line items and attachments
  • Create Invoice - Generate invoices from jobs with custom terms
  • Update Invoice - Modify amounts, due dates, terms, messages

Payment & Processing

  • Send Invoice - Email/SMS delivery with custom messages
  • Mark Invoice Paid - Record payments with multiple methods
  • Void Invoice - Cancel invoices with reason tracking
  • Get Invoice Payments - Payment history and tracking

Line Item Management

  • Add/Update/Delete Invoice Line Items - Detailed invoice composition
  • Get Invoice Attachments - Supporting documentation
  • Download Invoice PDF - Generate formatted invoices

📦 Materials Management (housecallpro_materials.py)

Material Operations

  • Get Materials - List materials by category with filtering
  • Get Material Categories - Hierarchical category browsing
  • Find Category by Name - Search category structures
  • Create/Update/Delete Materials - Complete material lifecycle

💡 Estimate Management (housecallpro_estimates.py)

Estimate Operations

  • Get Estimates - Filter by status, customer, employee, dates
  • Get Estimate by ID - Complete estimate details with options
  • Create Estimate - Generate estimates with multiple options

Estimate Option Management

  • Create Estimate Option Attachments/Links - Supporting documentation
  • Update Estimate Option Schedule - Timeline management
  • Create/Delete Estimate Option Notes - Internal tracking

🎯 Lead Management (housecallpro_leads.py)

Lead Operations

  • Get Leads - Advanced filtering by source, status, employee, dates
  • Get Lead by ID - Complete lead information and history
  • Create Lead - Capture new prospects with full details
  • Update Lead - Modify lead information and status
  • Convert Lead - Transform leads into customers

Lead Communication

  • Add Lead Note - Track communications and follow-ups
  • Delete Lead Note - Clean up lead history

🏷️ Organization & Tagging (housecallpro_tags.py)

Tag Management

  • Get Tags - List all available tags with filtering
  • Get Tag by ID - Detailed tag information
  • Create Tag - Add new organizational tags
  • Update Tag - Modify tag properties
  • Delete Tag - Remove unused tags

⚙️ System Configuration

Company Management (housecallpro_company.py)

  • Get Company Info - Business details and settings

Job Types (housecallpro_job_types.py)

  • Get Job Types - List available service types with pricing

Schedule Management (housecallpro_schedule.py)

  • Get Schedule - View technician schedules and availability

Events (housecallpro_events.py)

  • Get Events - Calendar events and scheduling conflicts

Webhooks (housecallpro_webhooks.py)

  • Get/Create/Update/Delete Webhooks - Real-time integration management

Prerequisites

  • Python 3.8+
  • uv package manager
  • Housecall Pro API key
  • Claude Desktop application or other MCP LLM client

Setup Instructions

1. Install uv (if not already installed)

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Clone and Setup Project

git clone https://github.com/BuildWithBeacon/housecallpro-mcp.git
cd HousecallPro-mcp
uv sync

Or download ZIP and extract to chosen directory.

3. Get Housecall Pro API Key

  1. Log into your Housecall Pro account
  2. Go to App Store > API Key Management > Generate
  3. Generate your API key
  4. Copy your API key (keep it secure!)

4. Environment Setup

Change ".env.example" to ".env" Fill in API Key with no space after =

5. Configure Claude Desktop

Copy the claude_desktop.json template and paste into your AI MCP server config.

Update paths in claude_desktop_config.json:

Note: The API key will be automatically read from your .env file - no need to include it in the JSON configuration.

Important: If uv is not in your system PATH, replace "uv" with the full path to the uv executable (e.g., "C:\\Users\\YourUsername\\.cargo\\bin\\uv.exe" on Windows).

Windows:

{
  "mcpServers": {
    "housecall-pro-customers": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\\\Users\\\\YourUsername\\\\path\\\\to\\\\HousecallPro-mcp",
        "run",
        "housecallpro_customers.py"
      ]
    }
  }
}

Etc. Add all servers from the template provided and change the path to where you cloned.

macOS/Linux:

{
  "mcpServers": {
    "housecall-pro-customers": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/yourusername/path/to/HousecallPro-mcp",
        "run",
        "housecallpro_customers.py"
      ]
    }
  }
}

Etc. Add all servers from the template provided and change the path to where you cloned.

6. Restart Claude Desktop

After configuring, restart Claude Desktop to load the new MCP server. You should now see the MCP servers available in the search and tools tab.

image

📝 Usage Examples

Once configured, you can ask Claude things like:

  • "Show me all customers"
  • "Get me the customer ID for "name" "
  • "Create a new customer named John Doe"
  • "List all addresses for customer 12345"
  • "Add a new address for customer 12345"

🛠️ Troubleshooting

Common Issues:

  1. "Server not found"

    • Check that the path in claude_desktop_config.json is correct
    • Ensure uv is installed and accessible
    • If uv command not found, either:
      • Add uv to your system PATH, or
      • Use the full path to uv in the configuration (e.g., C:\\Users\\YourUsername\\.cargo\\bin\\uv.exe on Windows)
  2. "Authentication failed"

    • Verify your API key in the .env file
    • Check that your Housecall Pro API key has the necessary permissions
  3. "Permission denied"

    • Make sure the Python file is executable
    • Check that uv has proper permissions

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add your improvements
  4. Submit a pull request

📄 License

It Aint, Use It As You Will

🔗 Related Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_buildwithbeacon_housecallpro_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_buildwithbeacon_housecallpro_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 45.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_buildwithbeacon_housecallpro_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34e61de1be0a9b84b0de5e53aa9eb1820b7e12f64d2d399455ee0da0342c9c8a
MD5 784e746cd2ba04665461b965f16a30b0
BLAKE2b-256 6936bf092c9d71defb7cd074638e6d3ee9d876812a1c6167b34049886a32d4d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page