FieldEdge MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.1.4Updated Nov 7, 2026

Read work orders, customers and invoices; create customers, notes and work orders in FieldEdge.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceBusiness & Commerce

Overview

AI-generated overview

Connects an assistant to a FieldEdge field-service account to read work orders, customers, invoices and inventory, and to create customers, notes and work…

What you can do
  • List and inspect work orders, their technician assignments, quotes and service agreements
  • Search customers by name, phone or address, and read their notes, attachments and tags
  • Read invoices with line items, inventory items, categories, tax codes and warehouses
  • Look up employees, business units, lead sources, tasks, leads and company details
  • Create customers, customer notes and tags, and add or remove tags on a customer
  • Check usage, request a feature, and manage or cancel the paid subscription
When to use it
Useful for service businesses already on FieldEdge that want an assistant to answer questions about open jobs, unassigned work, customer history or upcoming agreement service dates, or to add customers and notes without opening the FieldEdge portal.
Requirements
Remote hosted endpoint; no local install. Sign-in is by OAuth, and on first connect you supply a FieldEdge Marketplace app Client ID and Client secret plus your Tenant ID from the FieldEdge web portal. No API key or Authorization header goes in the client config. Free plan allows 50 tool calls per month.
Before you install
Write tools create customers, notes, tags and work orders and change assignments; these are visible to office staff immediately, and note edits overwrite the old text. Customer records are personal data, including phone numbers and addresses. Paid plans cost money (Pro $9/month or $90/year, Pro+ $39/month or $390/year) and upgrade returns a Stripe Checkout link; cancellation has no refund for the current period. Your FieldEdge credentials are stored per user by the third-party host.

Installation

In SourceWeft

  1. Open FieldEdge MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Ffieldedge/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "fieldedge-by-usefulapi": {
      "type": "http",
      "url": "https://fieldedge.usefulapi.io/mcp"
    }
  }
}

README

FieldEdge MCP by usefulapi

Use your FieldEdge account from Claude, Cursor, or any MCP client. Read work orders, customers, invoices and agreements, and create customers, notes and work orders. Hosted, no local install: connect with your own credentials.

Live endpoint: https://fieldedge.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://fieldedge.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http fieldedge https://fieldedge.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "fieldedge": {      "url": "https://fieldedge.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your FieldEdge credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/fieldedge/

On first connect you provide your Client ID and Client secret from a FieldEdge Marketplace app, and your Tenant ID from the FieldEdge web portal. The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
fieldedge_list_work_ordersreadList work orders
fieldedge_get_work_orderreadGet a work order
fieldedge_search_work_orders_by_addressreadFind work orders at an address
fieldedge_list_work_order_assignmentsreadList a work order's technician assignments
fieldedge_search_customersreadSearch customers
fieldedge_get_customerreadGet a customer
fieldedge_get_customer_by_phonereadFind a customer by phone number
fieldedge_search_customers_by_addressreadFind customers at an address
fieldedge_list_customer_notesreadList a customer's notes
fieldedge_list_customer_attachmentsreadList a customer's file attachments
fieldedge_list_tagsreadList customer tags
fieldedge_list_invoicesreadList invoices
fieldedge_get_invoicereadGet an invoice
fieldedge_list_quotesreadList quotes
fieldedge_get_quotereadGet a quote
fieldedge_list_agreementsreadList service agreements
fieldedge_get_agreementreadGet a service agreement
fieldedge_list_employeesreadList employees
fieldedge_get_employeereadGet an employee
fieldedge_list_business_unitsreadList business units
fieldedge_get_business_unitreadGet a business unit
fieldedge_list_lead_sourcesreadList lead sources
fieldedge_get_lead_sourcereadGet a lead source
fieldedge_list_tasksreadList tasks (service types)
fieldedge_get_task_bundlereadGet a task with department and skill
fieldedge_list_itemsreadList inventory items
fieldedge_get_itemreadGet an inventory item
fieldedge_list_item_categoriesreadList item categories
fieldedge_get_item_categoryreadGet an item category
fieldedge_list_sales_tax_codesreadList sales tax codes
fieldedge_list_warehousesreadList warehouses
fieldedge_get_warehousereadGet a warehouse
fieldedge_get_leadreadGet a lead
fieldedge_get_companyreadGet a company name
fieldedge_create_customerwriteCreate a customer
fieldedge_create_customer_notewriteAdd a note to a customer
fieldedge_update_customer_notewriteEdit a customer note
fieldedge_create_tagwriteCreate a customer tag
fieldedge_add_customer_tagwriteTag a customer
fieldedge_remove_customer_tagwriteRemove a tag from a customer
fieldedge_create_work_orderwriteCreate a work order
fieldedge_update_work_orderwriteUpdate a work order
fieldedge_assign_technicianwriteAssign a technician to a work order
fieldedge_update_assignment_statuswriteChange a technician assignment's status
fieldedge_remove_assignmentwriteRemove a technician from a work order
fieldedge_usage_statusmetaUsage status (free-tier meter)
fieldedge_request_featuremetaRequest a missing feature
fieldedge_upgrademetaUpgrade to Pro or Pro+
fieldedge_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with fieldedge_upgrade (it returns a Stripe Checkout link). Cancel any time with fieldedge_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running fieldedge_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/fieldedge/README.md at commit 2450437

Tools

45

fieldedge_list_work_orders

List work orders

List work orders (jobs) of the company with status, service address, customer, primary technician and linked invoice. Filters combine with AND; assigned=false cannot be combined with primary_tech_id. Needs scope workorders:read. GET /open-api/v1/work-orders.

Parameterssortlimitoffsetassignedcompletedcustomer_idinvoice_addedprimary_tech_id

fieldedge_get_work_order

Get a work order

One work order: status, assignments, service address, task, tags and linked invoice. Needs scope workorders:read. GET /open-api/v1/work-orders/{work_order_id}.

Parameterswork_order_idrequired

fieldedge_search_work_orders_by_address

Find work orders at an address

Work orders at a service address, most recent first, each with its customer's name. All of address_line_1, city, state and postal_code are required. Needs scope workorders:read. GET /open-api/v1/work-orders/search/by-address.

Parameterscityrequiredlimitstaterequiredoffsetpostal_coderequiredaddress_line_1requiredaddress_line_2

fieldedge_list_work_order_assignments

List a work order's technician assignments

Technician assignments (schedule, status) on one work order. Needs scope workorders:read. GET /open-api/v1/work-orders/{workOrderId}/assignments.

Parameterssortlimitoffsetstatusschedule_toschedule_fromtechnician_idwork_order_idrequired

fieldedge_search_customers

Search customers

Search customers (personal data). With no filter all customers are listed. Needs scope customers:read. GET /open-api/v1/customers/search.

Parameterssortemaillimitphoneoffsetfirst_nameupdated_afterupdated_beforehas_service_agreement

fieldedge_get_customer

Get a customer

One customer (or job location) by id, with contact details and address (personal data). The reply says whether the record is a job or a billing customer. Needs scope customers:read. GET /open-api/v1/customers/id/{customer_id}.

Parameterscustomer_idrequired

fieldedge_get_customer_by_phone

Find a customer by phone number

The customer with this phone number (personal data). Needs scope customers:read. GET /open-api/v1/customer/{phone}.

Parametersphonerequired

fieldedge_search_customers_by_address

Find customers at an address

Customers at a street address (personal data). address_line_1, city, state and postal_code are required. Needs scope customers:read. GET /open-api/v1/customers/by-address.

Parameterscityrequiredsortlimitstaterequiredoffsetpostal_coderequiredaddress_line_1requiredaddress_line_2

fieldedge_list_customer_notes

List a customer's notes

Notes on a customer record, newest first by default. Needs scope customers:read. GET /open-api/v1/customers/{customerId}/notes.

Parameterssortlimitoffsetcustomer_idrequired

fieldedge_list_customer_attachments

List a customer's file attachments

File attachments on a customer record, each with the blob URL to view or download it. Needs scope customers:read. GET /open-api/v1/customers/{customerId}/attachments.

Parameterssortlimitoffsetcustomer_idrequired

fieldedge_list_tags

List customer tags

Reusable customer tags of the account. Needs scope customers:read. GET /open-api/v1/tags.

Parametersnamesortlimitoffset

fieldedge_list_invoices

List invoices

Invoices by invoice date, without line items (use fieldedge_get_invoice for those). Needs scope invoices:read. GET /open-api/v1/invoices.

Parameterssortlimitoffset

fieldedge_get_invoice

Get an invoice

One invoice with its line items; the invoice id equals its work order id. Needs scope invoices:read. GET /open-api/v1/invoices/{invoice_id}.

Parametersinvoice_idrequired

fieldedge_list_quotes

List quotes

Quotes, without line items (use fieldedge_get_quote for those). Prefer class_id over class_name. Needs scope workorders:read. GET /open-api/v1/quotes.

Parametersidlimitoffsetclass_idclass_namecustomer_id

fieldedge_get_quote

Get a quote

One quote with its line items; the quote id equals its work order id. Needs scope workorders:read. GET /open-api/v1/quotes/{quote_id}.

Parametersquote_idrequired

fieldedge_list_agreements

List service agreements

Service agreements (recurring maintenance contracts) with plan, dates and customer. Needs scope workorders:read. GET /open-api/v1/agreements.

Parameterssortlimitactiveoffsetplan_namecustomer_idagreement_numbernext_service_afternext_invoice_beforenext_service_before

fieldedge_get_agreement

Get a service agreement

One service agreement by id. Needs scope workorders:read. GET /open-api/v1/agreements/{agreement_id}.

Parametersagreement_idrequired

fieldedge_list_employees

List employees

Employees (technicians, dispatchers, CSRs, admins). Needs scope employees:read. GET /open-api/v1/employees.

Parametersrolesortlimitactiveoffset

fieldedge_get_employee

Get an employee

One employee record. Needs scope employees:read. GET /open-api/v1/employees/{employee_id}.

Parametersemployee_idrequired

fieldedge_list_business_units

List business units

Business units (needed to create a work order). Needs scope business-units:read. GET /open-api/v1/business-units.

Parametersnamesortlimitactiveoffset

fieldedge_get_business_unit

Get a business unit

One business unit by id. Needs scope business-units:read. GET /open-api/v1/business-units/{business_unit_id}.

Parametersbusiness_unit_idrequired

fieldedge_list_lead_sources

List lead sources

Lead sources (needed to create a work order). Needs scope lead-sources:read. GET /open-api/v1/lead-sources.

Parametersnamesortlimitactiveoffsetbusiness_unit_id

fieldedge_get_lead_source

Get a lead source

One lead source by id. Needs scope lead-sources:read. GET /open-api/v1/lead-sources/{lead_source_id}.

Parameterslead_source_idrequired

fieldedge_list_tasks

List tasks (service types)

Tasks (service types, needed to create a work order). Needs scope tasks:read. GET /open-api/v1/tasks.

Parameterssortclasslimitactiveoffset

fieldedge_get_task_bundle

Get a task with department and skill

One task together with its resolved department and skill. Needs scope tasks:read. GET /open-api/v1/tasks/{task_id}/bundle.

Parameterstask_idrequired

fieldedge_list_items

List inventory items

Inventory items (parts, services) with cost and rate. Needs scope items:read. GET /open-api/v1/items.

Parameterssortlimitactiveoffsetcategoryupdated_afterupdated_before

fieldedge_get_item

Get an inventory item

One inventory item by id. Needs scope items:read. GET /open-api/v1/items/{item_id}.

Parametersitem_idrequired

fieldedge_list_item_categories

List item categories

Inventory item categories (tree: childTreeLevel, parent). Needs scope item-categories:read. GET /open-api/v1/item-categories.

Parameterslimitoffset

fieldedge_get_item_category

Get an item category

One item category by id. Needs scope item-categories:read. GET /open-api/v1/item-categories/{item_category_id}.

Parametersitem_category_idrequired

fieldedge_list_sales_tax_codes

List sales tax codes

Sales tax codes. Needs scope items:read. GET /open-api/v1/sales-tax-codes.

Parameterssortlimitactiveoffsetis_taxable

fieldedge_list_warehouses

List warehouses

Inventory warehouses. Needs scope warehouses:read. GET /open-api/v1/warehouses.

Parametersnamesortlimitactiveoffset

fieldedge_get_warehouse

Get a warehouse

One warehouse by id. Needs scope warehouses:read. GET /open-api/v1/warehouses/{warehouse_id}.

Parameterswarehouse_idrequired

fieldedge_get_lead

Get a lead

One lead by id (lead-provider integrations). Needs scope leads:read. GET /open-api/v1/leads/{lead_id}.

Parameterslead_idrequired

fieldedge_get_company

Get a company name

The company name for a company id (the tenant id). Needs scope company:read. GET /open-api/v1/companies/{company_id}.

Parameterscompany_idrequired

fieldedge_create_customer

Create a customer

WRITE: create a customer record in FieldEdge, visible to the office staff at once. Needs an e-mail or a phone number (international format, e.g. +14155552671); marketing_email_opt_in needs an e-mail and marketing_sms_opt_in a phone number. Names are 2-50 characters without digits. Check fieldedge_search_customers first so you do not create a duplicate. Needs scope customers:write. POST /open-api/v1/customers.

Parameterszipcityemailstateaddress_1address_2last_namerequiredfirst_namerequiredcompany_namephone_numbermarketing_sms_opt_inmarketing_email_opt_in+1 more

fieldedge_create_customer_note

Add a note to a customer

WRITE: add a free-text note to a customer record; office staff see it in FieldEdge at once. Needs scope customers:write. POST /open-api/v1/customers/{customerId}/notes.

Parametersnoterequiredcustomer_idrequired

fieldedge_update_customer_note

Edit a customer note

WRITE: replace the text of an existing customer note (the old text is lost). Get the note id from fieldedge_list_customer_notes. Needs scope customers:write. PATCH /open-api/v1/customers/{customerId}/notes/{noteId}.

Parametersnoterequirednote_idrequiredcustomer_idrequired

fieldedge_create_tag

Create a customer tag

WRITE: create a reusable customer tag (e.g. "VIP Customer"). Check fieldedge_list_tags first. Needs scope customers:write. POST /open-api/v1/tags.

Parametersnamerequired

fieldedge_add_customer_tag

Tag a customer

WRITE: attach an existing tag to a customer; it shows on the customer record in FieldEdge. Needs scope customers:write. POST /open-api/v1/customers/{customerId}/tags.

Parameterstag_idrequiredcustomer_idrequired

fieldedge_remove_customer_tag

Remove a tag from a customer

WRITE: detach a tag from a customer (the tag itself stays). Needs scope customers:write. DELETE /open-api/v1/customers/{customerId}/tags/{tagId}.

Parameterstag_idrequiredcustomer_idrequired

fieldedge_create_work_order

Create a work order

WRITE: create a work order for a customer location. business_unit_id, lead_source_id and task_id are required: get them from fieldedge_list_business_units, fieldedge_list_lead_sources and fieldedge_list_tasks. Scheduling, invoice lines and equipment are separate steps (fieldedge_assign_technician for scheduling). Needs scope workorders:write. POST /open-api/v1/work-orders.

Parametersnotestask_idrequiredcustomer_idrequireddocument_typelead_source_idrequiredprimary_tech_idbusiness_unit_idrequiredwork_descriptionrequire_equipmentwork_order_number

fieldedge_update_work_order

Update a work order

WRITE: partially update a work order; only the fields you pass change. Can reassign the primary technician, change description/notes, and mark it completed (with a resolution) or cancel it (cancel_note). Look at fieldedge_get_work_order first. Needs scope workorders:write. PATCH /open-api/v1/work-orders/{workOrderId}.

Parametersnotescompletedresolutioncancel_notepriority_idwork_order_idrequiredlead_source_idprimary_tech_idbusiness_unit_idwork_description

fieldedge_assign_technician

Assign a technician to a work order

WRITE: schedule a technician on a work order. The assignment appears on the Dispatch Board at once and FieldEdge returns no assignment id: list the assignments afterwards to find it. Needs scope workorders:write. POST /open-api/v1/work-orders/{workOrderId}/assignments.

Parameterstechnician_idrequiredwork_order_idrequiredschedule_date_timerequiredest_complete_date_time

fieldedge_update_assignment_status

Change a technician assignment's status

WRITE: move an assignment to pending, traveling, working, paused, completed or canceled. It triggers the same customer notifications and dispatch-board updates as a change on the dispatch board and is timestamped now. Canceling needs cancel_note; it fails once the assignment is completed, canceled or finalized. Get the assignment id from fieldedge_list_work_order_assignments. Needs scope workorders:write. PATCH /open-api/v1/work-orders/{workOrderId}/assignments/{assignmentId}/status.

Parametersstatusrequiredcancel_noteassignment_idrequiredwork_order_idrequired

fieldedge_remove_assignment

Remove a technician from a work order

WRITE: unassign one technician (by assignment id) from a work order; other technicians on it stay. Get the assignment id from fieldedge_list_work_order_assignments. Needs scope workorders:write. DELETE /open-api/v1/work-orders/{workOrderId}/assignments/{assignmentId}.

Parametersassignment_idrequiredwork_order_idrequired

Version history

1
  1. v1.1.4LatestNov 7, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations