Housecall Pro MCP Servers

Housecall Pro MCP Servers

A collection of over 20 specialized MCP servers that enable LLMs to manage customers, jobs, scheduling, invoicing, materials, and more in Housecall Pro's field service management system.

Category
Visit Server

README

🏠 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured