MOTORAdvisorShop intelligence powered by motor.comDevelopersOpen the app →

list_jobs

Jobs · Read-only · account-scoped

The shop's job board, most recently updated first — same composed shape as get_job, optional stage filter.

Usage

The board at a glance: every job the authenticated shop has, newest activity first, each in the same composed shape get_job returns. Pass stage to see one lane only ("awaiting-approval" is the natural morning question).

At most the 50 most recently updated jobs return; total always reports the true count, and a note appears when the list was capped — filter by stage rather than assuming the list is complete.

Read-only like get_job, with the same posture: no MOTOR call, no descriptive text beyond each quote's stored vehicleDescription, Stripe stays the money record, and the shop is never a parameter — it resolves from the authenticated account.

Parameters

ParameterTypeRequiredDescription
stage"intake" | "quoting" | "awaiting-approval" | "in-shop" | "ready-to-bill" | "invoiced" | "paid" | "closed"NoOptional board-lane filter. One of the eight job stages. Example: "awaiting-approval"

Description advertised to clients

The exact description a fully entitled MCP client discovers — the workflow contracts travel with the tool, so a client with no system prompt still uses it correctly. An account missing a licence for content this tool reaches sees the same text behind a [Licensed content — not enabled on this account] or [Partially available] notice:

List the authenticated shop's jobs, most recently updated first, each in the same composed shape get_job returns (spine + quote/invoice summaries). Pass stage to see one board lane only. Returns at most the 50 most recently updated jobs; when more exist, the result says so — filter by stage to narrow rather than assuming the list is complete. THIS TOOL IS READ-ONLY EVERYWHERE: it reads MotorAdvisor's own job store and touches neither MOTOR (no content call is made, and no MOTOR text is persisted anywhere on the job record) nor the payment provider — Stripe remains the system of record for money, linked by invoiceId only. The shop is NEVER a parameter: it resolves from the authenticated account, so this tool can only read the caller's own jobs — another shop's ids read as not found.

Example — Jobs awaiting the customer's decision

Illustrative payload shapes (ids elided).

Request

{
  "stage": "awaiting-approval"
}

Response

{
  "jobs": [
    {
      "jobId": "job_m1abc2de_x7k4q9",
      "stage": "awaiting-approval",
      "customerId": "job_m1abc2de_x7k4q9",
      "baseVehicleId": 22124,
      "createdAt": "2026-08-20T14:02:00.000Z",
      "updatedAt": "2026-08-21T09:12:00.000Z",
      "quotes": [
        {
          "quoteId": "q_9c41f0b2ae77d31c55e00e12",
          "stage": "quote",
          "status": "sent",
          "totalCents": 28500,
          "sentAt": "2026-08-21T09:12:00.000Z",
          "vehicleDescription": "2010 Honda Civic LX"
        }
      ]
    }
  ],
  "total": 1
}

Follow up on a specific quote with check_quote_status — it adds the delivery trail and the approval link.