{
  "info": {
    "name": "Servicem8 — mcp.ai",
    "description": "REST API for the Servicem8 MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/servicem8",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "servicem8_create_job_note",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/job/note",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "job",
            "note"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note\": \"\",\n  \"uuid\": \"\",\n  \"active\": 0,\n  \"create_date\": \"\",\n  \"related_object\": \"\",\n  \"action_required\": \"\",\n  \"related_object_uuid\": \"\",\n  \"action_completed_by_staff_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_create_job_payment",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/job/payment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "job",
            "payment"
          ]
        },
        "description": "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",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note\": \"\",\n  \"uuid\": \"\",\n  \"active\": 0,\n  \"amount\": \"\",\n  \"method\": \"\",\n  \"job_uuid\": \"\",\n  \"edit_date\": \"\",\n  \"timestamp\": \"\",\n  \"is_deposit\": 0,\n  \"attachment_uuid\": \"\",\n  \"actioned_by_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_create_jobs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/jobs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "jobs"
          ]
        },
        "description": "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.\"",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"date\": \"\",\n  \"active\": 0,\n  \"badges\": \"\",\n  \"status\": \"\",\n  \"queue_uuid\": \"\",\n  \"job_address\": \"\",\n  \"company_uuid\": \"\",\n  \"category_uuid\": \"\",\n  \"job_description\": \"\",\n  \"created_by_staff_uuid\": \"\",\n  \"purchase_order_number\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_delete_job_note",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/job/note",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "job",
            "note"
          ]
        },
        "description": "Tool to delete a specific job note. use when you need to archive a note by its uuid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_delete_job_payment",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/job/payment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "job",
            "payment"
          ]
        },
        "description": "Tool to delete (archive) a specific job payment by its uuid. use when you need to archive a payment record.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_assets",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/assets",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "assets"
          ]
        },
        "description": "Tool to list all servicem8 assets. use when you need a comprehensive asset registry, including custom fields, for inventory or reporting.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"filter\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_clients",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/clients",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "clients"
          ]
        },
        "description": "Tool to list all servicem8 clients. use when you need a complete set of customer records for integrations or reporting.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"filter\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_document_templates",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/document/templates",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "document",
            "templates"
          ]
        },
        "description": "Tool to list document templates. use when you need to retrieve available template uuids and names before generating job documents.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"filter\": \"\",\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_forms",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/forms",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "forms"
          ]
        },
        "description": "Tool to list all servicem8 forms. use when you need to fetch available form templates with optional filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"filter\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_job_notes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/job/notes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "job",
            "notes"
          ]
        },
        "description": "Tool to list all job notes in servicem8. use when you need to fetch notes, optionally filtered or paginated.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"filter\": \"\",\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_job_queues",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/job/queues",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "job",
            "queues"
          ]
        },
        "description": "Tool to list all job queues in servicem8. use when you need to fetch configured queues before dispatching jobs.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_jobs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/jobs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "jobs"
          ]
        },
        "description": "Tool to list all jobs. use when you need to fetch all job records from your servicem8 account.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"filter\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_locations",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/locations",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "locations"
          ]
        },
        "description": "Tool to list all servicem8 locations. use when you need to fetch every configured location for assignments or mapping.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_materials",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/materials",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "materials"
          ]
        },
        "description": "Tool to list all materials. use when you need a full inventory dump after authenticating with read inventory scope.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_list_all_tasks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/tasks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "tasks"
          ]
        },
        "description": "Tool to list all tasks in a servicem8 account. use when you need to fetch task records, optionally filtered. requires 'read tasks' oauth scope.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"filter\": \"\",\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_client",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/client",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "client"
          ]
        },
        "description": "Tool to retrieve details of a specific client by its uuid. use after confirming the client's uuid is valid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_form",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/form",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "form"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_job",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/job",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "job"
          ]
        },
        "description": "Tool to retrieve details of a specific job by its uuid. use when you have the job uuid and need its full record.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_job_activity",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/job/activity",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "job",
            "activity"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_job_note",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/job/note",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "job",
            "note"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_job_payment",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/job/payment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "job",
            "payment"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_job_queue",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/job/queue",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "job",
            "queue"
          ]
        },
        "description": "Tool to retrieve details of a specific job queue by its uuid. use when you need full queue metadata before dispatching work.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_location",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/location",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "location"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_material",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/material",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "material"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_retrieve_staff_member",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/staff/member",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "staff",
            "member"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_service_m8_create_job",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/service/m8/create/job",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "service",
            "m8",
            "create",
            "job"
          ]
        },
        "description": "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.\"",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"date\": \"\",\n  \"active\": 0,\n  \"badges\": \"\",\n  \"status\": \"\",\n  \"queue_uuid\": \"\",\n  \"job_address\": \"\",\n  \"company_uuid\": \"\",\n  \"category_uuid\": \"\",\n  \"job_description\": \"\",\n  \"created_by_staff_uuid\": \"\",\n  \"purchase_order_number\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_update_job_note",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/job/note",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "job",
            "note"
          ]
        },
        "description": "Tool to update details of an existing job note. use when modifying a note after its creation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note\": \"\",\n  \"uuid\": \"\",\n  \"active\": 0,\n  \"edit_date\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "servicem8_update_job_payment",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/job/payment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "job",
            "payment"
          ]
        },
        "description": "Tool to update details of an existing job payment. use after confirming the payment uuid and desired changes.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note\": \"\",\n  \"uuid\": \"\",\n  \"active\": 0,\n  \"amount\": \"\",\n  \"method\": \"\",\n  \"job_uuid\": \"\",\n  \"edit_date\": \"\",\n  \"timestamp\": \"\",\n  \"is_deposit\": 0,\n  \"attachment_uuid\": \"\",\n  \"actioned_by_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}