ServiceM8

ServiceM8

ServiceM8 job management for trades and field service: jobs and statuses, clients and contacts, the schedule (job activities and allocations), staff, price list materials, job line items and payments, notes, attachment metadata and form responses. Can create and update jobs and clients, book and move staff, add line items, record payments and add notes.

7-day free trial · No credit card · EU-hosted

Ask ServiceM8 anything

Try a real prompt against ServiceM8 via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.

Install ServiceM8 on Cloud
ServiceM8 · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

Setup in 2 minutes

  1. 1Start a free trial on cloud.anythingmcp.com.
  2. 2Click ServiceM8 in the connector store. Paste credentials when prompted.
  3. 3Mint an MCP API key and point your AI client at the generated MCP URL.
Install ServiceM8 now

Guides for ServiceM8

Step-by-step setup for the most popular AI clients.

Setting up ServiceM8

From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.

ServiceM8

This connector works with the ServiceM8 REST API (https://api.servicem8.com/api_1.0) of one ServiceM8 account, the job management app for trade and service businesses: jobs and their status, clients (called companies in the API) and contacts, the schedule (job activities and allocations), staff, the price list and job line items, payments, notes, attachments and forms.

Setup (2 minutes)

  1. In ServiceM8 open Settings, API Keys and create a key (an account admin can do this; no developer account is needed). ServiceM8 recommends this private API key for connecting your own account.
  2. Paste it into SERVICEM8_API_KEY. It is sent in the X-API-Key header and can read and change everything in the account, so keep it private; delete the key in ServiceM8 to revoke access.
  3. Install. The check runs servicem8_get_account.

ServiceM8 also runs its own MCP server at https://api.servicem8.com/mcp (sign-in with OAuth) for ChatGPT and Claude; this connector uses the REST API with your key instead.

Workflow

  • Account and setup: servicem8_get_account (time zone, currency), servicem8_list_staff, servicem8_get_staff_member, servicem8_list_categories, servicem8_list_job_queues, servicem8_list_job_templates, servicem8_list_tax_rates, servicem8_list_forms.
  • Clients: servicem8_list_clients (filter by name), servicem8_get_client, servicem8_list_client_contacts; change them with servicem8_create_client, servicem8_update_client, servicem8_create_client_contact.
  • Jobs: servicem8_list_jobs (filter by status, client or edit_date), servicem8_get_job, servicem8_list_job_contacts, servicem8_list_notes, servicem8_list_attachments, servicem8_get_attachment, servicem8_list_form_responses, servicem8_get_form_response. Create with servicem8_create_job or servicem8_create_job_from_template, change or move status with servicem8_update_job, add a note with servicem8_add_note.
  • Schedule: servicem8_list_job_activities (fixed-time bookings and time recorded on site), servicem8_list_job_allocations (flexible bookings), servicem8_schedule_job_activity, servicem8_update_job_activity, servicem8_remove_job_activity.
  • Money: servicem8_list_materials (price list), servicem8_list_job_materials (line items), servicem8_add_job_material, servicem8_list_job_payments, servicem8_record_job_payment. The job's total_invoice_amount is the invoice total; there is no separate invoice object.

Filtering: every list takes filter, an OData-style $filter: field eq|ne|gt|lt value, joined with and (at most 10 conditions; no or, ge or le). Strings and timestamps go in single quotes: status eq 'Work Order' and active eq 1, company_uuid eq '...', start_date gt '2026-11-02 00:00:00'. Deleted records stay with active 0, so add active eq 1 to skip them. Always filter large lists (jobs, activities, materials).

Paging: lists return a plain array, up to 1,000 records per page when cursor is set: pass -1 for the first page, then the x-next-cursor value from _headers; the header is missing on the last page.

Reading the answers: ids are UUIDs. Timestamps are YYYY-MM-DD HH:MM:SS and dates YYYY-MM-DD, in the account's time zone (see servicem8_get_account); send times in the same form. Flags are 0 or 1. Amounts are decimal strings in the account currency. A job's number is generated_job_id; its statuses are Quote, Work Order, Unsuccessful and Completed.

Writes: creating a record answers {"errorCode": 0, "message": "OK"} and the new UUID in the x-record-uuid header (_headers). Updates change only the fields passed. Deleting in ServiceM8 sets active to 0, so a removed booking, archived job or archived client can be restored by setting active to 1. Show the user what will be created or changed and wait for a yes. Sending email or SMS to clients is not part of this connector.

Limits and errors: 180 requests a minute and 20,000 a day per account; over that ServiceM8 answers 429 (wait and retry, or filter more). 401 means the API key is wrong or was deleted; 400 a malformed filter or field; 404 an unknown UUID.

Your AI is two clicks away from ServiceM8.

Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.