<!-- Canonical: https://wildpipe.com/developers/mcp -->
<!-- Last reviewed: 2026-08-30 -->

# WildPipe MCP Server

Connect Claude, ChatGPT, Claude Code, Cursor, VS Code or any Model Context Protocol client to your WildPipe data.

**Server URL:** https://mcp.wildpipe.com/mcp
**Transport:** Streamable HTTP
**Sign-in:** OAuth 2.1 with PKCE. You never paste an API key into an AI tool. An organization owner or admin signs in, chooses the permissions and companies, and can revoke the connection at any time under Settings → API Keys & Integrations → AI connections (MCP).

## Set up your client

### Claude (web & desktop)
Open Settings → Connectors → Add custom connector. Name it WildPipe and paste the server URL. Click Connect, sign in to WildPipe and approve the permissions you want.

### ChatGPT
Add a custom connector (app) and paste the server URL. Availability of custom connectors depends on your ChatGPT plan and workspace settings. Sign in to WildPipe and approve the permissions you want.

### Claude Code
Run this command, then type /mcp inside Claude Code and choose WildPipe to sign in.

```
claude mcp add --transport http wildpipe https://mcp.wildpipe.com/mcp
```

### Cursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project), then click Connect next to WildPipe under Settings → MCP.

```
{
  "mcpServers": {
    "wildpipe": { "url": "https://mcp.wildpipe.com/mcp" }
  }
}
```

### VS Code (Copilot agent mode)
Add this to .vscode/mcp.json, then click Start above the server entry and sign in.

```
{
  "servers": {
    "wildpipe": { "type": "http", "url": "https://mcp.wildpipe.com/mcp" }
  }
}
```

## How permissions work
- Reading is permitted only for the record types you approve. Every write action is a separate permission that starts unchecked.
- Tools you did not approve are not shown to the AI at all.
- Connections last up to 30 days; scope or company changes need a new connection.
- Every write uses a request key, so a retried request never runs twice.

## Tool catalog (server 2.1.0, 42 tools)

### Read your data
- **list_records** — List customers, jobs, visits, quotes, invoices, payments, leads, services, products, companies and related records (properties, employees, documents, agreements, equipment, warranties, treatments, credits, tags, schedules) with search, status, date and amount filters. _Permission: read:<resource>_
- **get_record** — Read one record as a summary or a deeper view: full details with line items, notes, payment allocations, job contacts, equipment, lead stages and quote decline options. _Permission: read:<resource> (+ read:details / read:activity for deeper views)_
- **list_deleted_records** — Records deleted in the last 90 days, including merged duplicates, so a synced copy stays accurate. _Permission: read:<resource>_
- **list_catalog_variants** — Customer-facing variants and current prices for a service or product. _Permission: read:services or read:products_
- **get_customer_history** — A customer’s complete projects, visits, quotes, invoices and payments, including jobs where they are a secondary contact. _Permission: read:contacts + read:details_
- **get_technician_route** — A technician’s full active route in driving order. _Permission: read:employees + read:tasks + read:details_
- **check_booking_availability** — Live bookable openings for a service on a date, with arrival-window wording. _Permission: read:schedules_
- **download_customer_document** — A private five-minute download link for a customer file. _Permission: read:documents + read:document_files_
- **get_operation_receipt** — Look up the committed result of an earlier write by its request key. _Permission: the matching write permission_

### Customers & properties
- **update_customer_identity** — Update a customer’s first name, last name, email or phone. _Permission: write:identity_
- **add_customer_property** — Save a service property for a customer. _Permission: write:properties_
- **correct_customer_property** — Correct a saved address and the current work linked to it. _Permission: write:property_updates_
- **add_note** — Add an internal or customer-visible note to a customer or job. _Permission: write:notes_
- **update_contact_tags** — Add or replace a customer’s tags, including safety flags. _Permission: write:tag_assignments_
- **update_job_tags** — Add or replace a job’s tags. _Permission: write:tag_assignments_
- **merge_customers** — Merge reviewed duplicate customers, moving all of their history. _Permission: write:contact_merges_
- **replace_job_contacts** — Change who is linked to a job and who is the primary customer. _Permission: write:job_contacts_

### Leads & sales
- **create_lead** — Record new sales interest for a customer. _Permission: write:leads_
- **update_lead_metadata** — Update a lead’s notes, source or follow-up reminder. _Permission: write:leads_
- **set_lead_status** — Move a lead to one of your configured stages. _Permission: write:lead_statuses_
- **mark_lead_lost** — Mark a lead lost with one of your loss reasons. _Permission: write:lead_statuses_
- **reopen_lost_lead** — Reopen a lost lead, keeping its history. _Permission: write:lead_statuses_
- **convert_lead_to_existing_job** — Mark a lead won by linking the customer’s existing job. _Permission: write:lead_conversions_
- **create_draft_quote** — Create an unsent quote priced from your live catalog. _Permission: write:quotes_
- **revise_quote** — Supersede a quote with a new draft revision. _Permission: write:quote_revisions_
- **replace_unpaid_quote** — Decline an unpaid quote and copy it into a new draft for correction. _Permission: write:quote_requotes_
- **decline_quote** — Decline an unaccepted quote with one of your reasons. _Permission: write:quote_declines_

### Billing
- **create_invoice_from_accepted_quote** — Turn an accepted quote into its invoice. _Permission: write:invoices_
- **allocate_existing_payment** — Apply money already received to the customer’s unpaid invoices. _Permission: write:payment_allocations_

### Jobs & field work
- **create_task** — Add unassigned work to an existing job. _Permission: write:tasks_
- **update_task_instructions** — Edit the title and instructions of open work. _Permission: write:task_instructions_
- **correct_task_completion_notes** — Correct the notes on completed work, with an audit trail. _Permission: write:task_note_corrections_
- **update_job_authored_notes** — Edit a job’s notes, with before-and-after history. _Permission: write:job_notes_
- **change_job_phase** — Move a job between phases, or complete, cancel and reopen it under the office rules. _Permission: write:job_phases (+ write:job_closeouts to complete, cancel or reopen)_
- **approve_task** — Approve work waiting for supervisor approval. _Permission: write:task_approvals_
- **reject_task_completion** — Send submitted work back for redo with a reason. _Permission: write:task_rejections_

### Scheduling
- **book_appointment** — Book a visit for a customer at a real, live opening. _Permission: write:appointments_
- **book_lead_appointment** — Convert an open lead straight into a booked visit. _Permission: write:appointments + write:lead_conversions_
- **reserve_booking_hold** — Hold an opening for ten minutes while you confirm with the customer. _Permission: write:booking_holds_
- **release_booking_hold** — Release a hold you no longer need. _Permission: write:booking_holds_
- **pause_recurring_plan** — Pause a recurring service plan. _Permission: write:subscription_controls_
- **resume_recurring_plan** — Resume a paused recurring service plan. _Permission: write:subscription_controls_

## Related
- [Guides & Webhooks](https://wildpipe.com/developers/api)
- [API reference](https://wildpipe.com/developers/api-reference)
- [Developers](https://wildpipe.com/developers)
