jobber-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JOBBER_TIMEZONE | No | Optional IANA timezone (e.g. Asia/Kolkata) for local visit-time display | |
| JOBBER_CLIENT_ID | No | From your Jobber developer app (needed for refresh) | |
| JOBBER_ACCESS_TOKEN | No | From your Jobber developer app (developer.getjobber.com). Or provide client ID + secret + refresh token. | |
| JOBBER_CLIENT_SECRET | No | From your Jobber developer app (needed for refresh) | |
| JOBBER_REFRESH_TOKEN | No | Optional — enables automatic token renewal (needs client ID and secret too) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_jobsA | Search Jobber jobs (work orders) with job number, title, status, client and created/updated dates. Server-side filters: status (one of: requires_invoicing, archived, late, today, upcoming, action_required, on_hold, unscheduled, active, expiring_within_30_days), created_after / created_before (YYYY-MM-DD), and free-text search across job fields. Filter by client locally with client_id. Returns up to limit results (default 25, max 100) plus a cursor when more pages exist. |
| get_unpaid_invoicesA | List invoices with a balance owing (status past_due / awaiting_payment), sorted oldest-due first, with days overdue and the total outstanding. Use for accounts-receivable questions like "which invoices are overdue?". Scans the most recent invoices (default 50) and filters on balance. |
| get_client_detailsA | Full profile for one client by Jobber client_id: name, email/phone, outstanding balance, member-since, recent jobs and recent invoices. Find the client_id first via search_jobs (results include client ids) when you only know the name. |
| get_scheduleA | Visits/appointments in a date range (default today through +7 days), sorted by start time, with the job and client for each. Dates are YYYY-MM-DD. Filtering happens server-side on visit start time. |
| get_quotesA | Quote pipeline grouped by status, with quote number, client, total, and job. Use for pipeline questions like "which quotes are awaiting a response?". Optional server-side filters: status (one of: draft, awaiting_response, archived, approved, converted, changes_requested) and client_id. |
| draft_client_messageA | Compose a DRAFT message (email or SMS) to a client, enriched with facts pulled live from Jobber (invoice number, balance owing, due date, days overdue, client name). Nothing is ever sent or written to Jobber - the draft is returned for human review. Provide |
| authenticateA | Connect this assistant to the user's Jobber account via OAuth (one time). PREREQUISITE the user must have done once: create a free app at https://developer.getjobber.com and enable READ-ONLY scopes for Clients, Jobs, Quotes, Scheduled Items and Invoices (leave the Callback URL blank - localhost is allowed automatically). Call this tool with that app's client_id and client_secret: it opens the user's browser to log in and approve, then stores tokens locally. If the tool is called without credentials, relay the setup instructions it returns to the user. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool covers a distinct resource/action: job search, unpaid invoices, client profile, schedule, quotes, message drafting, and auth. The only mild adjacency (search_jobs results containing client ids that feed get_client_details) is explicitly documented rather than ambiguous.
Most tools follow a verb_noun pattern (search_jobs, get_unpaid_invoices, get_client_details, get_quotes, draft_client_message). Minor deviations exist: 'authenticate' is a bare verb with no noun, and pluralization is uneven (get_schedule singular vs get_quotes/get_client_details plural), but overall it's readable and predictable.
Seven tools is well-scoped for a read-only Jobber assistant covering jobs, invoices, clients, schedule, quotes, and messaging. Every tool earns its place with no bloat.
Covers the core read-only surface: jobs, unpaid invoices, client profiles, schedule, quotes, draft messaging, plus OAuth. Minor gaps remain — no single-job/invoice detail fetch, no listing of paid/settled invoices, and no direct client search (clients are only reachable via job results) — but agents can work around these.