# Servicem8 — MCP server on mcp.ai > ServiceM8 helps field service businesses schedule jobs, send quotes, and manage invoices, offering staff mobile apps and real-time job status tracking By: mcp.ai · official Page: https://mcp.ai/servicem8 ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_servicem8?ms=1781542800000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/servicem8/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/servicem8/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/servicem8/skill.md Postman collection (v2.1): https://mcp.ai/servicem8/postman.json ## Tools - servicem8_create_job_note(note: string, uuid?: string, active?: integer, create_date?: string, related_object: string, action_required?: string, related_object_uuid: string, action_completed_by_staff_uuid?: string) — Tool to create a new job note in servicem8. use when you need to attach additional information to a specific job after obtaining its uuid. - servicem8_create_job_payment(note?: string, uuid?: string, active: integer, amount: string, method: string, job_uuid: string, edit_date: string, timestamp: string, is_deposit?: integer, attachment_uuid?: string, actioned_by_uuid: string) — Tool to create a new job payment in servicem8. use when you have collected payment details and need to record payment against a job. example: "create a 100.00 cash payment for job 123e4567-e89b-12d3-a - servicem8_create_jobs(date?: string, active?: integer, badges?: string[], status: string, queue_uuid?: string, job_address: string, company_uuid?: string, category_uuid?: string, job_description?: string, created_by_staff_uuid?: string, purchase_order_number?: string) — Tool to create a new job in servicem8. use when you have gathered all job details and need to push a record. example: "create a quote job for 123 main st with po #1234." - servicem8_delete_job_note(uuid: string) — Tool to delete a specific job note. use when you need to archive a note by its uuid. - servicem8_delete_job_payment(uuid: string) — Tool to delete (archive) a specific job payment by its uuid. use when you need to archive a payment record. - servicem8_list_all_assets(filter?: string) — Tool to list all servicem8 assets. use when you need a comprehensive asset registry, including custom fields, for inventory or reporting. - servicem8_list_all_clients(filter?: string) — Tool to list all servicem8 clients. use when you need a complete set of customer records for integrations or reporting. - servicem8_list_all_document_templates(limit?: integer, filter?: string, offset?: integer) — Tool to list document templates. use when you need to retrieve available template uuids and names before generating job documents. - servicem8_list_all_forms(filter?: string) — Tool to list all servicem8 forms. use when you need to fetch available form templates with optional filters. - servicem8_list_all_job_notes(limit?: integer, filter?: string, offset?: integer) — Tool to list all job notes in servicem8. use when you need to fetch notes, optionally filtered or paginated. - servicem8_list_all_job_queues() — Tool to list all job queues in servicem8. use when you need to fetch configured queues before dispatching jobs. - servicem8_list_all_jobs(filter?: string) — Tool to list all jobs. use when you need to fetch all job records from your servicem8 account. - servicem8_list_all_locations() — Tool to list all servicem8 locations. use when you need to fetch every configured location for assignments or mapping. - servicem8_list_all_materials() — Tool to list all materials. use when you need a full inventory dump after authenticating with read inventory scope. - servicem8_list_all_tasks(limit?: integer, filter?: string, offset?: integer) — Tool to list all tasks in a servicem8 account. use when you need to fetch task records, optionally filtered. requires 'read tasks' oauth scope. - servicem8_retrieve_client(uuid: string) — Tool to retrieve details of a specific client by its uuid. use after confirming the client's uuid is valid. - servicem8_retrieve_form(uuid: string) — Tool to retrieve details of a specific form by its uuid. use when you need up-to-date form metadata given a known form uuid. - servicem8_retrieve_job(uuid: string) — Tool to retrieve details of a specific job by its uuid. use when you have the job uuid and need its full record. - servicem8_retrieve_job_activity(uuid: string) — Tool to retrieve details of a specific job activity by its uuid. use when you have the job activity uuid and need its full details. - servicem8_retrieve_job_note(uuid: string) — Tool to retrieve details of a specific job note by its uuid. use when you have the note uuid (e.g., after listing notes) and need its full record before processing or display. - servicem8_retrieve_job_payment(uuid: string) — Tool to retrieve details of a specific job payment by its uuid. use when you have the payment uuid and need its full record and metadata. - servicem8_retrieve_job_queue(uuid: string) — Tool to retrieve details of a specific job queue by its uuid. use when you need full queue metadata before dispatching work. - servicem8_retrieve_location(uuid: string) — Tool to retrieve details of a specific location by its uuid. use when you already have the location's uuid and need full location details. - servicem8_retrieve_material(uuid: string) — Tool to retrieve details of a specific material by its uuid. use when you have a material uuid and need current inventory or pricing details. - servicem8_retrieve_staff_member(uuid: string) — Tool to retrieve details of a specific staff member by their uuid. use when you need up-to-date staff information given a known staff uuid. - servicem8_service_m8_create_job(date?: string, active?: integer, badges?: string[], status: string, queue_uuid?: string, job_address: string, company_uuid?: string, category_uuid?: string, job_description?: string, created_by_staff_uuid?: string, purchase_order_number?: string) — Tool to create a new job in servicem8. use when you have all job details and need to push a record into servicem8. example: "create a quote job for 123 main st with po #1234." - servicem8_update_job_note(note?: string, uuid: string, active?: integer, edit_date?: string) — Tool to update details of an existing job note. use when modifying a note after its creation. - servicem8_update_job_payment(note?: string, uuid: string, active?: integer, amount: string, method?: string, job_uuid: string, edit_date?: string, timestamp?: string, is_deposit?: integer, attachment_uuid?: string, actioned_by_uuid?: string) — Tool to update details of an existing job payment. use after confirming the payment uuid and desired changes. ## Links Docs: https://mcp.ai/docs/mcps/servicem8 Website: https://mcp.ai/mcps/servicem8