# Housecall Pro MCP Server

MCP server for integrating with the [Housecall Pro](https://www.housecallpro.com/) field service management platform.

## Features

- **Jobs**: List, get, and create service jobs
- **Estimates**: List and create estimates for customers
- **Customers**: Search and list customer records
- **Invoices**: List invoices with status filtering
- **Employees**: List technicians and employees

## Setup

### Prerequisites

- Node.js 18+
- Housecall Pro MAX plan (API access required)
- API key from Housecall Pro

### Getting Your API Key

1. Sign into your Housecall Pro account
2. Go to the App Store
3. Find "API" and click "Learn More"
4. Click "Generate API Key"
5. Copy the key

### Installation

```bash
npm install
npm run build
```

### Environment Variables

```bash
export HOUSECALL_PRO_API_KEY="your-api-key-here"
```

## Usage

### Run the server

```bash
npm start
```

### Configure in Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "housecall-pro": {
      "command": "node",
      "args": ["/path/to/housecall-pro/dist/index.js"],
      "env": {
        "HOUSECALL_PRO_API_KEY": "your-api-key"
      }
    }
  }
}
```

## Available Tools

| Tool | Description |
|------|-------------|
| `list_jobs` | List jobs with filters for status, customer, pagination |
| `get_job` | Get detailed job information by ID |
| `create_job` | Create a new job for a customer |
| `list_estimates` | List estimates with status filtering |
| `create_estimate` | Create an estimate with line items |
| `list_customers` | Search and list customers |
| `list_invoices` | List invoices with status filtering |
| `list_employees` | List employees/technicians |

## API Reference

Base URL: `https://api.housecallpro.com/v1`

Authentication: Bearer token in Authorization header

See [Housecall Pro API Documentation](https://docs.housecallpro.com/) for full details.
