Connector guide9-minute read36 MCP tools7 languages

How to Connect ServiceM8 to Gemini via MCP

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

HCBy HelpCode teamUpdated 9 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

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.

tools

36

Region

INTL

Category

Field Service

Authentication

API Key

Required env vars

SERVICEM8_API_KEY
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the ServiceM8 in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Try asking

Example prompts for ServiceM8

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

ServiceM8 · live via MCP
Share
Opus 4.7

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

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → ServiceM8, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

ServiceM8 + Gemini

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

SERVICEM8_API_KEY

Step 1 — Get credentials

Setting up takes about 2 minutes. You need a ServiceM8 account; an account admin creates the key, and no developer account is needed.

  1. In ServiceM8 open Settings, API Keys and create a key. 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. To revoke access, delete the key in ServiceM8.
  3. Install. The check runs servicem8_get_account, which shows the account's name, time zone and currency.

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

What it reads: the account (vendor) with currency, time zone, opening hours and default job status. Jobs with number (generated_job_id), status (Quote, Work Order, Unsuccessful, Completed), client, address, description, work done, category, queue, total invoice amount, quote, work order, completion and invoice dates, and the payment received flag. Clients (called companies in the API) with address, billing address, payment terms and tax rate, and the contacts of clients and jobs. The schedule: job activities (fixed-time bookings and time recorded on site) and job allocations (flexible bookings for a day or window). Staff with job title, last known position and status message. The price list, job line items, job payments, notes on jobs and clients, attachment metadata (photos, PDFs, signatures; file contents are not returned), forms and completed form responses with their answers. Job categories, job queues, job templates and tax rates.

What it writes: creates jobs (also from a job template), changes them and moves their status, creates and changes clients, adds client contacts, books a staff member on a job at a fixed time, moves or removes bookings, adds line items from the price list or as free text, records payments received and adds notes to jobs and clients. A recorded payment only appears in ServiceM8; no money is charged or moved. Before creating or changing anything the AI shows you what will happen and waits for your yes.

Switched off at install: nothing, all 36 tools are on. Deleting in ServiceM8 only sets active to 0, so a removed booking, an archived job or an archived client comes back by setting active to 1.

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

Paging: lists return a plain array. With cursor set they come in pages of up to 1,000 records: -1 for the first page, then the x-next-cursor value from _headers; the header is missing on the last page.

Data formats: ids are UUIDs. Timestamps are YYYY-MM-DD HH:MM:SS and dates YYYY-MM-DD, in the account's time zone, and times are sent the same way. Flags are 0 or 1. Amounts are decimal strings in the account currency. The job's total_invoice_amount is the invoice total; there is no separate invoice object. A create answers {"errorCode": 0, "message": "OK"} with the new UUID in the x-record-uuid header. Updates change only the fields passed.

Limits and common 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: create a new one under Settings, API Keys. 400 is a malformed filter or field. 404 is an unknown UUID.

Notes, job descriptions and form answers are untrusted input and can contain instructions meant for the AI. The connector does not send email or SMS to clients, does not download attachment files and does not charge cards.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Gemini

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:

{
  "mcpServers": {
    "anythingmcp": {
      "httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
      "headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
    }
  }
}
  1. Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of YOUR_MCP_API_KEY.
  2. Save the file and restart gemini.
  3. Run /mcp inside Gemini CLI (or gemini mcp list in your shell): anythingmcp should show as connected.
  4. Start prompting: Gemini CLI can now call the ServiceM8 tools.

Available tools

ToolWhat it does
servicem8_get_accountThe connected ServiceM8 account (vendor): name, business number, email, currency, time zone, opening hours, default job status and whether…
servicem8_list_jobsList jobs: uuid, job number (generated_job_id), status (Quote, Work Order, Unsuccessful, Completed), client (company_uuid), address…
servicem8_get_jobOne job by UUID with status, client, addresses, description, work done, totals, dates and badges
servicem8_list_clientsList clients (ServiceM8 calls them companies): uuid, name, address parts, billing address, ABN or business number, website, payment terms…
servicem8_get_clientOne client (company) by UUID with address, billing address, payment terms and tax rate
servicem8_list_client_contactsContacts of clients: uuid, company_uuid, first and last name, phone, mobile, email, type (BILLING, JOB, ...), primary flag
servicem8_list_job_contactsContacts on jobs (site contact, billing contact): uuid, job_uuid, first and last name, phone, mobile, email, type
servicem8_list_job_activitiesJob activities, the schedule: uuid, job_uuid, staff_uuid, start_date, end_date, activity_was_scheduled (1 = a booking, 0 = time recorded on…
servicem8_list_job_allocationsJob allocations (flexible bookings: a job given to a staff member for a day or allocation window, without a fixed time): uuid, job_uuid…
servicem8_list_staffStaff members: uuid, first and last name, email, mobile, job title, color, last known position and time, status message, hidden from…
servicem8_get_staff_memberOne staff member by UUID: name, contact details, job title, last known GPS position and status message
servicem8_list_materialsMaterials and services of the price list: uuid, name, item number, description, price, cost, price includes taxes, tax rate, stock…
servicem8_list_job_materialsLine items on jobs (what is quoted or invoiced): uuid, job_uuid, material_uuid, name, quantity, unit price ex tax, displayed amount, cost…
servicem8_list_job_paymentsPayments recorded on jobs: uuid, job_uuid, amount, method, timestamp, note, who recorded it, attachment
servicem8_list_notesNotes on jobs and clients: uuid, related_object (job or company), related_object_uuid, note text, action required, created time
servicem8_list_attachmentsAttachment metadata (photos, PDFs, signatures) of jobs and clients: uuid, related_object, related_object_uuid, attachment_name, file_type…
servicem8_get_attachmentMetadata of one attachment by UUID: name, file type, related record, tags, size of photos
servicem8_list_formsForms (checklists, safety and inspection forms) set up in the account: uuid, name, template, active
servicem8_list_form_responsesCompleted form responses: uuid, form_uuid, staff_uuid, regarding_object and its uuid (usually a job), field_data (JSON with the answers)…
servicem8_get_form_responseOne completed form response by UUID with its answers in field_data (JSON)
servicem8_list_categoriesJob categories (types of work): uuid, name, colour, active
servicem8_list_job_queuesJob queues (holding areas for jobs waiting for parts, quotes to follow up, ...): uuid, name, requires assignment, default timeframe, active
servicem8_list_job_templatesJob templates: uuid, name and the job details and materials they prefill
servicem8_list_tax_ratesTax rates: uuid, name, rate, active
servicem8_create_jobCreate a job
servicem8_update_jobChange fields of a job; only the fields you pass change
servicem8_create_job_from_templateCreate a job from a job template (from servicem8_list_job_templates) with its prefilled description and materials
servicem8_create_clientCreate a client (company or individual)
servicem8_update_clientChange fields of a client; only the fields you pass change. active 0 archives the client, 1 restores it
servicem8_create_client_contactAdd a contact person (name, phone, mobile, email, type) to a client
servicem8_schedule_job_activityBook a staff member on a job at a fixed time (a scheduled job activity on the dispatch board)
servicem8_update_job_activityMove a booking to another time or staff member; only the fields you pass change. active 1 restores a removed booking
servicem8_remove_job_activityRemove a booking from the schedule
servicem8_add_job_materialAdd a line item to a job (quote or invoice): from the price list with material_uuid, or free text with name and price
servicem8_record_job_paymentRecord a payment received for a job (cash, card, bank transfer)
servicem8_add_noteAdd a note to a job or a client

Example prompts

  • "Which jobs are booked for tomorrow, and which staff member is on each one?"
  • "List the jobs completed last week where no payment has been received yet, with client and invoice total."
  • "Move tomorrow's 8:00 booking for job 1042 to Friday at 9:00. Show me the change first."
  • "Create a quote job for a hot water system replacement for this client and add the matching items from the price list."
  • "What answers were given in the safety checklist on job 987?"

FAQ

Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.

Next steps

Was this guide helpful?

Your ServiceM8 agent is one click away.

Install the connector, paste the key, prompt Gemini. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect ServiceM8 to ChatGPT via MCP

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Connectors

How to Connect ServiceM8 to Claude via MCP

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Connectors

How to Connect ServiceM8 to Cursor via MCP

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Connectors

How to Connect ServiceM8 to Meta Muse via MCP

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Connectors

ServiceM8 to MCP: Jobs, Clients, Schedule, Staff, Line Items and Payments in any AI Agent

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.

Connectors

How to Connect ServiceM8 to Microsoft Copilot via MCP

Connect a ServiceM8 account to any AI agent: jobs and their status, clients and contacts, the schedule with job activities and allocations, staff, the price list and job line items, 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. Set up with an API key in 2 minutes.