# FieldEdge MCP Server

MCP server for integrating with [FieldEdge](https://fieldedge.com/) field service management software for HVAC, plumbing, and electrical contractors.

## Features

- **Work Orders**: List, get, and create work orders
- **Customers**: Search and list customer records
- **Technicians**: List technicians by department and status
- **Invoices**: List invoices with filtering
- **Equipment**: Track equipment at customer locations

## Setup

### Prerequisites

- Node.js 18+
- FieldEdge account with API access
- API credentials from FieldEdge partner program

### Getting API Access

FieldEdge API access is available through their partner program. Visit [docs.api.fieldedge.com](https://docs.api.fieldedge.com/) to learn more.

### Installation

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

### Environment Variables

```bash
export FIELDEDGE_API_KEY="your-api-key-here"
export FIELDEDGE_SUBSCRIPTION_KEY="your-subscription-key"  # Optional, for Azure API Management
```

## Usage

### Run the server

```bash
npm start
```

### Configure in Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "fieldedge": {
      "command": "node",
      "args": ["/path/to/fieldedge/dist/index.js"],
      "env": {
        "FIELDEDGE_API_KEY": "your-api-key",
        "FIELDEDGE_SUBSCRIPTION_KEY": "your-subscription-key"
      }
    }
  }
}
```

## Available Tools

| Tool | Description |
|------|-------------|
| `list_work_orders` | List work orders with filters for status, customer, technician, date range |
| `get_work_order` | Get detailed work order information by ID |
| `create_work_order` | Create a new work order |
| `list_customers` | Search and list customers |
| `list_technicians` | List technicians by department/active status |
| `list_invoices` | List invoices with status and date filtering |
| `list_equipment` | List equipment by customer, location, or type |

## Work Order Statuses

- `open` - New work order
- `scheduled` - Scheduled for service
- `in_progress` - Technician working on it
- `completed` - Work finished
- `canceled` - Canceled
- `on_hold` - On hold

## Equipment Types

- `hvac` - HVAC systems
- `plumbing` - Plumbing equipment
- `electrical` - Electrical systems
- `appliance` - Appliances
- `other` - Other equipment

## API Reference

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

Authentication: Bearer token + Azure subscription key

See [FieldEdge API Documentation](https://docs.api.fieldedge.com/) for partner access.
