FieldEdge MCP server Let your AI agent run the FieldEdge office work.

Your AI agent turns lead emails into work orders, balances tomorrow's dispatch board, invoices yesterday's finished jobs and logs the checks. Sign in to FieldEdge once in your own Cloud Browser. No API request form, no developer.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with FieldEdge
FieldEdge logo FieldEdge Cloud Browser

10 tools Read and write

Call to payment

What can your AI agent do in FieldEdge? The office work between the call and the payment.

  • Turn lead emails into work orders

  • Balance tomorrow's dispatch board

  • Invoice the jobs finished yesterday

  • Send invoices to customers

  • Log checks on the right invoice

  • List invoices unpaid for 30 days

API on request

Does FieldEdge have an MCP server or an API? An API on request, and no MCP server.

FieldEdge has no MCP server and no ChatGPT or Claude app. Its Open API is real, but customers ask for access through an onboarding form and get credentials for an app FieldEdge provisions (developer portal, checked 8 Nov 2026). Cotlet runs 10 FieldEdge tools hosted, over MCP for agents and REST for scripts, in your own FieldEdge login.

  • The FieldEdge developer portal sends partners to an integrations email and customers to an access request form.
  • There are no self-service API keys in the FieldEdge app.
  • FieldEdge has no connector in the ChatGPT apps directory or in Claude.
The FieldEdge API, other options and Cotlet compared
What you need FieldEdge APIBy handCotlet
Work orders and customers After approval Yes, one by one Yes
Dispatch a technician After approval Yes, one by one Yes, after your OK
Invoice and send After approval Yes, one by one Yes, sending after your OK
Ask in ChatGPT or Claude No No Yes
Developer needed Yes No No

Checked 8 Nov 2026. Sources: FieldEdge Developer Portal · FieldEdge partners · FieldEdge pricing

Set up once

How does the FieldEdge MCP server work? Your agent works in your own FieldEdge login.

  1. 1Sign in to FieldEdge

    Once, in a browser we host for you.

  2. 2Connect your AI agent

    One address in its settings.

  3. 3Hand it the busywork

    It drafts the work, you OK what customers get.

We never keep your FieldEdge password, and no dispatch, invoice or payment goes through until you approve it. Who can see your session

Any MCP client

How to connect FieldEdge to your AI agent

  1. 1

    Sign in to FieldEdge in a Cloud Browser. Create a Cotlet account, open FieldEdge in its Cloud Browser, sign in with your office or dispatcher login and press Enable for agents.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.

  3. 3

    Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.

FieldEdge shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned FieldEdge on after connecting? Refresh the connector and the 10 tools appear.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: fieldedge_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: fieldedge_write
4 read, 6 write

All 10 FieldEdge MCP tools

Customers3

Search matches name, phone, email and address, so a repeat caller is found before a duplicate is made. The customer card shows equipment and service agreements.

  • list_customers Customers, searchable by name, phone, email or address. read

    Returns customers with their ID, contact details and service address. Pass the customer_id to get_customer and create_work_order.

    MCP callfieldedge_read → list_customers

    REST endpointGET https://cotlet.dev/api/v1/fieldedge/customers

    Parameters

    Parameters: list_customers
    NameTypeDescription
    query string string Name, phone, email or street address.
    page integer integer Page number. Default: 1.

    Example response

    {
      "customers": [
        {
          "customer_id": "C-20418",
          "name": "Mark Rivera",
          "phone": "555-0182",
          "email": "mark@example.com",
          "service_address": "42 Oak St, Tampa, FL 33602"
        }
      ],
      "page": 1
    }
  • get_customer One customer with equipment, agreements and recent work orders. read

    Returns the customer card: contacts, service locations, equipment on file, service agreements and the last work orders with their status.

    MCP callfieldedge_read → get_customer

    REST endpointGET https://cotlet.dev/api/v1/fieldedge/customers/{customer_id}

    Parameters

    Parameters: get_customer
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.

    Example input

    {
      "customer_id": "customer_8c41d2"
    }

    Example response

    {
      "customer_id": "C-20418",
      "name": "Mark Rivera",
      "equipment": [
        {
          "type": "Furnace",
          "model": "Carrier 59SC5",
          "installed": "2019-10-02"
        }
      ],
      "agreement": "Comfort Club, renews 2027-01-15",
      "recent_work_orders": [
        {
          "work_order_id": "WO-88231",
          "status": "Completed",
          "date": "2026-04-11"
        }
      ]
    }
  • create_customer Adds a customer with a service address. write

    Creates the customer and its first service location. Search list_customers first so a repeat caller does not become a duplicate. Reaches no one, so it runs at once.

    MCP callfieldedge_write → create_customer

    REST endpointPOST https://cotlet.dev/api/v1/fieldedge/customers

    Parameters

    Parameters: create_customer
    NameTypeDescription
    name string required string Customer or company name.
    phone string string Phone number.
    email string string Email.
    service_address string required string Street, city, state and ZIP.

    Example input

    {
      "name": "Jane Doe",
      "service_address": "service address"
    }

    Example response

    {
      "customer_id": "C-20502",
      "name": "Priya Nair",
      "service_address": "18 Cedar Ct, Tampa, FL 33606"
    }

Work orders and dispatch3

A new work order stays unassigned until it is dispatched to a technician and a window. Your notification settings decide who hears about it.

  • list_work_orders Work orders by date, status or technician. read

    Returns work orders with customer, task, technician, scheduled window and status. Filter by status such as Unassigned, Dispatched, In Progress or Completed.

    MCP callfieldedge_read → list_work_orders

    REST endpointGET https://cotlet.dev/api/v1/fieldedge/work-orders

    Parameters

    Parameters: list_work_orders
    NameTypeDescription
    date_from string string ISO date.
    date_to string string ISO date.
    status string string unassigned, dispatched, in_progress or completed.
    technician string string Technician name.
    page integer integer Page number. Default: 1.

    Example response

    {
      "work_orders": [
        {
          "work_order_id": "WO-88310",
          "customer": "Mark Rivera",
          "task": "Furnace tune-up",
          "technician": "Luis",
          "window": "2026-11-12 08:00-10:00",
          "status": "Dispatched"
        }
      ],
      "page": 1
    }
  • create_work_order Opens a work order for a customer, unassigned or with a window. write

    Creates the work order with the task, description and an optional time window. It stays unassigned until dispatch_technician. Reaches no customer, so it runs at once.

    MCP callfieldedge_write → create_work_order

    REST endpointPOST https://cotlet.dev/api/v1/fieldedge/customers/{customer_id}/work-orders

    Parameters

    Parameters: create_work_order
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.
    task string required string Task or job type as named in your FieldEdge account.
    description string string What the customer reported.
    window_start string string ISO date and time.
    window_end string string ISO date and time.

    Example input

    {
      "customer_id": "customer_8c41d2",
      "task": "task"
    }

    Example response

    {
      "work_order_id": "WO-88342",
      "customer": "Priya Nair",
      "task": "No heat diagnostic",
      "status": "Unassigned"
    }
  • dispatch_technician Assigns a work order to a technician and a time window. writeasks first

    Puts the work order on the technician's row of the dispatch board. Your FieldEdge notification settings decide whether the customer and technician get a message. By default you confirm each call; you can switch that off for this tool.

    MCP callfieldedge_write → dispatch_technician

    REST endpointPOST https://cotlet.dev/api/v1/fieldedge/work-orders/{work_order_id}/technician/dispatch

    Parameters

    Parameters: dispatch_technician
    NameTypeDescription
    work_order_id string required string Work order number from list_work_orders.
    technician string required string Technician name.
    window_start string required string ISO date and time.
    window_end string required string ISO date and time.

    Example input

    {
      "work_order_id": "WO-88342",
      "technician": "Carlos",
      "window_start": "2026-11-13T13:00",
      "window_end": "2026-11-13T15:00"
    }

    Example response

    {
      "work_order_id": "WO-88342",
      "technician": "Carlos",
      "window": "2026-11-13 13:00-15:00",
      "status": "Dispatched"
    }

Invoices and payments4

An invoice is built from the work order and stays a draft until it is sent. Payments are checks, cash and other manual types; no card is charged.

  • list_invoices Invoices by status, date or customer, with balances. read

    Returns invoices with total, balance and status. Use status unpaid and older_than_days to build a collections list.

    MCP callfieldedge_read → list_invoices

    REST endpointGET https://cotlet.dev/api/v1/fieldedge/invoices

    Parameters

    Parameters: list_invoices
    NameTypeDescription
    status string string unpaid, paid or all. Default: all.
    older_than_days integer integer Only invoices older than this.
    customer_id string string One customer only.
    page integer integer Page number. Default: 1.

    Example response

    {
      "invoices": [
        {
          "invoice_id": "INV-55120",
          "customer": "Mark Rivera",
          "total": "612.00",
          "balance": "612.00",
          "date": "2026-10-02",
          "status": "Unpaid"
        }
      ],
      "page": 1
    }
  • create_invoice Builds the invoice for a completed work order. write

    Creates the invoice from the work order's items and labor. It stays a draft you can edit until send_invoice. Reaches no customer, so it runs at once.

    MCP callfieldedge_write → create_invoice

    REST endpointPOST https://cotlet.dev/api/v1/fieldedge/work-orders/{work_order_id}/invoices

    Parameters

    Parameters: create_invoice
    NameTypeDescription
    work_order_id string required string Work order number from list_work_orders.

    Example input

    {
      "work_order_id": "work_order_8c41d2"
    }

    Example response

    {
      "invoice_id": "INV-55210",
      "work_order_id": "WO-88231",
      "total": "389.00",
      "status": "Draft"
    }
  • send_invoice Emails an invoice to the customer. writeasks first

    Sends the invoice with your FieldEdge email template to the customer's billing email, or the addresses you pass. By default you confirm each call; you can switch that off for this tool.

    MCP callfieldedge_write → send_invoice

    REST endpointPOST https://cotlet.dev/api/v1/fieldedge/invoices/{invoice_id}

    Parameters

    Parameters: send_invoice
    NameTypeDescription
    invoice_id string required string Invoice number from list_invoices.
    to string[] string[] Recipient emails. Default: the customer's billing email.

    Example input

    {
      "invoice_id": "invoice_8c41d2"
    }

    Example response

    {
      "invoice_id": "INV-55210",
      "status": "Sent",
      "sent_to": [
        "mark@example.com"
      ],
      "total": "389.00"
    }
  • record_payment Logs a check, cash or other manual payment on an invoice. writeasks first

    Adds the payment and lowers the balance. No card is charged; card payments stay in FieldEdge. By default you confirm each call; you can switch that off for this tool.

    MCP callfieldedge_write → record_payment

    REST endpointPOST https://cotlet.dev/api/v1/fieldedge/invoices/{invoice_id}/payments

    Parameters

    Parameters: record_payment
    NameTypeDescription
    invoice_id string required string Invoice number from list_invoices.
    amount string required string Amount, e.g. 612.00.
    method string required string check, cash or other.
    reference string string Check number or note.

    Example input

    {
      "invoice_id": "invoice_8c41d2",
      "amount": "amount",
      "method": "method"
    }

    Example response

    {
      "invoice_id": "INV-55120",
      "payment": {
        "method": "Check",
        "amount": "612.00",
        "reference": "4471"
      },
      "balance": "0.00"
    }
Encrypted, revocable

Who can see my FieldEdge session, and how do I revoke it?

  • What we store

    Your signed-in FieldEdge profile, AES-256-GCM encrypted, in Finland. No password.

  • What your agent gets

    The 10 FieldEdge tools, never the session cookie.

  • What the session sees

    What your login sees: customers, work orders, prices, invoices.

  • What no tool touches

    Card charges, payroll, price book edits, users, deletes.

  • If FieldEdge signs you out

    You sign in again yourself, in the same Cloud Browser.

  • How to cut access

    Disable for agents, reset the browser, or change your FieldEdge password.

Cotlet never types your password: you sign in yourself, and the agent only uses the session. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).

Tested every 12 h

What happens when FieldEdge changes? We repair the tool; your prompts stay the same.

between tests of the FieldEdge reads
12 h
between tests of sends a customer would notice
24 h
for a call to a FieldEdge tool paused for repair
$0

When FieldEdge moves a button on the dispatch board or renames a work order status, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.

3 tools ask first

Approvals, undo and mistakes Customers get nothing until you say so.

  1. 01 Reads yesterday's completed work orders Every page, until a short one comes back.
  2. 02 Holds back what is not ready No items, a zero total or a return visit booked.
  3. 03 Builds and checks totals Each invoice against the work order it came from.
  4. 04 Waits, then sends The batch shows up in your Cotlet console first.
Which FieldEdge actions can be undone
ActionUndo
Create a work orderYes, cancel it in FieldEdge
Dispatch a technicianMove it; a message already sent stays sent
Create an invoiceYes, edit or void the draft
Record a paymentDelete the payment in FieldEdge
Send an invoiceNo

3 of 10 tools ask first: dispatch_technician, send_invoice, record_payment. A new customer, a work order or a draft invoice reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.

MCP call
{
  "name": "dispatch_technician",
  "arguments": {
    "work_order_id": "WO-88342",
    "technician": "Carlos",
    "window_start": "2026-11-13T13:00",
    "window_end": "2026-11-13T15:00"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/fieldedge/work-orders/WO-88342/technician/dispatch \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"technician":"Carlos","window_start":"2026-11-13T13:00","window_end":"2026-11-13T15:00"}'
Response
{
  "work_order_id": "WO-88342",
  "technician": "Carlos",
  "window": "2026-11-13 13:00-15:00",
  "status": "Dispatched"
}

A cron job or n8n flow can call the same tools over REST at /api/v1/fieldedge with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.

Pay per call

How much does the FieldEdge MCP server cost?

About $48 a monthfor an HVAC shop with 6 technicians, 8,280 credits. Your FieldEdge plan stays as it is.

A month of FieldEdge office work for a 6-technician HVAC shop, in credits
JobCallsCredits
Lead email into a work order3 × 601,800
Tomorrow's board checked and balanced4 × 22880
Yesterday's 8 jobs invoiced and sent17 × 223,740
Unpaid invoice list, weekly3 × 4120
Checks logged, weekly (5)6 × 4240
Cloud Browser, 30 days1,500
Total8,280
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on your current FieldEdge plan

FieldEdge publishes no job counts, so the month is our example. Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

FieldEdge MCP server on GitHub, Zapier or hosted: which to use The API needs approval; hosted connectors sit on it.

Other ways to connect FieldEdge, checked 8 Nov 2026
OptionWhat it doesWhere it stops
FieldEdge Open APICustomers, work orders and invoices for your own developer.Access on request through the onboarding form; you build and host the code.
usefulapi FieldEdge connectorHosted MCP connection for ChatGPT and Claude, custom setup.Runs on API credentials you get from FieldEdge first.
By handEvery screen of FieldEdge, one record at a time.Your time, during office hours.

If your developer already has FieldEdge API access, building on it is cheaper for simple reads. To book, dispatch and invoice from ChatGPT or Claude this week, Cotlet works in the FieldEdge account you already have.

FieldEdge MCP setup on GitHub and PyPI

Prefer code? Our public repo has a ready FieldEdge MCP config for Claude Code, ChatGPT and Cursor, an agent skill and a small command-line tool. Add your Cotlet API key and your agent works in your own FieldEdge account.

cotlet-connect/fieldedge-mcp
  • MCP config for Claude Code, Cursor and Codex
  • Agent skill and Cursor rules for FieldEdge
  • Clone it and run, Python standard library only
  • Elastic License 2.0, free in your own business
EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), in business since 2019, led by its founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the FieldEdge tools go to contact@cotlet.dev.

FieldEdge MCP server: questions

How do I get access?

Sign up free at https://cotlet.dev, open FieldEdge under Integrations in the console and sign in to FieldEdge in its Cloud Browser. The trial starts with your first app and asks for no card.

How do I connect FieldEdge to ChatGPT or Claude?

Sign up at cotlet.dev, log in to FieldEdge once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your FieldEdge account through Cotlet, in their phone apps too.

What can ChatGPT do in FieldEdge?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in FieldEdge: book service calls from lead emails; balance the dispatch board; invoice completed work orders. You ask in plain words, and anything that reaches other people waits for your OK first.

Is there an official ChatGPT or Claude app for FieldEdge?

No. FieldEdge has no ChatGPT or Claude connector of its own and FieldEdge has no official MCP server (checked 8 Nov 2026). Cotlet is an independent one that works in ChatGPT, Claude, Cursor and any MCP client, on your signed-in account.

Can ChatGPT create and dispatch work orders in FieldEdge?

Yes, with Cotlet. ChatGPT finds or adds the customer, opens the work order and puts it on a technician's row of the dispatch board. Dispatching waits for your OK by default.

Can ChatGPT send invoices in FieldEdge?

Yes, with Cotlet. ChatGPT builds the invoice from the completed work order and emails it to the customer after your OK. It can also list what is still unpaid.

Can ChatGPT check the dispatch board in FieldEdge?

Yes, with Cotlet. Ask "who is on tomorrow and how many calls each" and ChatGPT reads the work orders per technician and answers in plain words.

Do I need FieldEdge API access to use Cotlet?

No. Cotlet works through your own FieldEdge sign-in, so you skip the API request form. It can do what your login can do in FieldEdge.

Can it react when a call comes in?

Run it on a schedule, for example every morning at 7 for last night's lead emails, or ask it when a call arrives. Nothing needs to change in FieldEdge.

Is the MCP server different from the REST API?

Only in how it is called. Both carry the same 10 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with FieldEdge?

No. Cotlet is independent and not affiliated with FieldEdge.

Hand the FieldEdge office work to your agent.

Free 7-day trial with 2,000 credits, no card needed.