# Contractor+ MCP

> Contractor+ MCP connects your AI agent directly to your field service management system. Use it to manage everything from client leads and property records to project estimates and billing invoices, all through natural language commands.

## Overview
- **Category:** erp-operations
- **Price:** Free
- **Tags:** job-estimates, invoicing, contractor-management, field-crew, crm, job-site-documentation

## Description

This MCP lets you run your contracting business without switching between ten different tabs. You tell your agent what needs doing—like finding the status of a job or creating an invoice for a completed service—and it handles the API calls across client data, project estimates, and active work orders. Instead of manually navigating through multiple dashboards to track payments or update job statuses, you simply ask your AI client to do it. This keeps all your critical business operations centralized in one conversation thread. Because this MCP is hosted on Vinkius, you get instant access to the entire catalog of tools your agent needs, making it a single source for field service intelligence.

## Tools

### create_client
Adds a new contact or prospect to your client database.

### create_estimate
Generates a professional project quote document.

### get_account_info
Retrieves current account settings and metadata.

### get_client
Fetches detailed information for a specific client record.

### list_clients
Retrieves a list of all clients, including both active accounts and leads.

### list_estimates
Lists all historical and current project estimates.

### list_invoices
Fetches a list of billing invoices and their payment statuses.

### list_jobs
Retrieves the status and details for all active jobs currently in progress.

### list_properties
Lists records detailing service properties and associated tenant data.

### list_service_requests
Retrieves incoming requests that need to be assigned or addressed.

### list_webhooks
Shows all configured webhooks and their status.

### list_work_orders
Lists scheduled work orders for your field crews.

## Prompt Examples

**Prompt:** 
```
List all active jobs and their current statuses in Contractor+.
```

**Response:** 
```
I've retrieved your ongoing jobs. You have 3 active projects: 'Roof Replacement' (In Progress), 'HVAC Repair' (Scheduled), and 'Kitchen Remodel'. Would you like the crew assignments for any of these?
```

**Prompt:** 
```
Create a new lead for 'John Doe' at 'john@example.com'.
```

**Response:** 
```
Lead created! John Doe has been successfully added to your Contractor+ CRM with ID 'cl_1024'. I've initialized his profile. Shall I create an initial estimate for a site visit?
```

**Prompt:** 
```
Show me the last 5 invoices and their payment status.
```

**Response:** 
```
Fetching invoices... Out of the last 5, three are 'Paid' and two are 'Overdue' (Invoice #402 and #405). Total outstanding balance is $2,450.00. Would you like me to send reminders for the overdue bills?
```

## Capabilities

### Manage client relationships
List existing contacts or create brand new leads directly within your CRM system.

### Generate financial documents
Create professional project estimates and list billing invoices, checking real-time payment statuses.

### Track job progress
Access all active jobs and scheduled work orders to maintain coordination between the office and field crews.

### Service property management
Retrieve detailed records about service properties and tenant data for coordinated site visits.

### Monitor system health
Check the API status and retrieve account-level metadata to quickly report on system performance.

## Use Cases

### Quarterly Billing Review
A business owner needs to know the total outstanding revenue from last quarter. They ask their agent to list invoices and then filter by 'Overdue'. The agent uses `list_invoices`, showing a precise breakdown of which accounts need follow-up.

### Onboarding a New Client
A sales rep meets a new lead. They ask the agent to create a client record using `create_client`. The agent initializes the profile, and the rep immediately uses that data to generate an initial project estimate with `create_estimate`.

### Dispatching Urgent Repairs
An ops lead receives a call about a site issue. They ask their agent to list incoming service requests (`list_service_requests`). The agent finds the request, cross-references it with `list_properties` for tenant details, and assigns an immediate work order via `list_work_orders`.

### Checking Project Scope
A project manager needs to verify if a job is still active or scheduled. They ask the agent to list all jobs (`list_jobs`). The agent returns the status, allowing them to know exactly when crew resources are needed.

## Benefits

- Client onboarding is fast. You can use the `create_client` tool to add a new lead or contact in seconds, keeping your CRM clean without jumping into another app.
- Billing tracking becomes instant. Simply ask for a list of invoices and their payment status using `list_invoices`. Your agent reports on overdue balances immediately.
- You stay coordinated between the office and field. With access to `list_jobs` and `list_work_orders`, you can check crew assignments and job statuses without leaving your chat window.
- Property records are centralized. The MCP lets you list service properties, so when a team arrives on site, they have immediate access to tenant details.
- Estimating is seamless. You can use `create_estimate` right in conversation, generating professional quotes based on project scope.

## How It Works

The bottom line is: your agent uses the API Key to talk directly to Contractor+ and gives you answers without you ever leaving your conversation window.

1. Subscribe to this MCP, then grab your unique API Key from your Contractor+ dashboard settings.
2. Connect that key in any compatible client application (like Cursor or Claude).
3. Tell your agent what you need done—for example, 'List all open work orders for the North End site'—and it executes the calls.

## Frequently Asked Questions

**How do I use the create_client tool with Contractor+ MCP?**
You simply ask your agent to 'Create a new client for Jane Smith at XYZ Corp.' The MCP sends the data directly to Contractor+ and initializes her profile.

**Can list_estimates help me calculate job costs?**
Yes. You can ask the agent to list all estimates, then request a comparison between those quotes and the current jobs listed via `list_jobs` to see cost variances.

**Do I need separate tools for work orders and jobs?**
No. The MCP consolidates access by providing both `list_work_orders` and `list_jobs`. You can ask the agent for a unified view of all active field assignments.

**How does list_properties work with my service calls?**
The MCP lets you list properties, providing detailed records that your agent uses to ensure crew members have accurate site and tenant information before they arrive.

**What does the `get_account_info` tool provide regarding my API access and status?**
It returns your current account settings, usage limits, and key validity. This is a quick way to confirm connectivity before running complex job reports or invoicing tasks.

**If I use `list_invoices`, can I pull billing data from multiple years?**
Yes, you specify date ranges in the tool's parameters. This lets your agent retrieve historical payment records for audits or tax prep, not just recent invoices.

**When using `list_webhooks`, what details can I verify about my configured triggers?**
It lists all registered endpoint URLs and their active status. You use this to confirm that your automated systems are receiving data correctly from Contractor+.

**If I try to run `create_client` for a lead that already exists, what happens?**
The system returns a specific conflict error code. Your agent can catch this and use the `get_client` tool instead, preventing duplicate records.

**How do I find my Contractor+ API Key?**
Log in to your account, navigate to **Settings** > **API**, and copy your unique access token.

**Does it support real-time work order tracking?**
Yes! The `list_work_orders` tool retrieves the most current assignments for your field crews directly from the platform.

**Can I create new project estimates via AI?**
Absolutely. Use the `create_estimate` tool to specify a client ID, title, and total amount to generate a quote immediately.