jobber-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jobber-mcp Show me every active job assigned to Alex."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jobber-mcp
Model Context Protocol (MCP) server for Jobber — home service business management software (HVAC, plumbing, landscaping, etc.).
Talk to Jobber from Claude, Cursor, or any MCP client. Read clients, jobs, quotes, invoices; create new clients and add notes. GraphQL API via OAuth2 bearer token.
Built against the Jobber Developer API. No existing MCP for Jobber — this is the first.
What you can do with it
You: "Show me every active job assigned to Alex."
Claude: *list_jobs(status="active") then filters by assignedTo*
You: "Find every quote awaiting response for over 7 days."
Claude: *list_quotes(status="awaiting_response") then filters by createdAt*
You: "Add a note to client 12345: 'Replaced capacitor, system running.'"
Claude: *add_client_note with body*
You: "Create a new client: Sarah Chen, sarah@example.com, 555-0101."
Claude: *create_client*Related MCP server: upwork-mcp
Install
pip install -e .Configure
You need an OAuth2 access token. Get one via the Jobber OAuth flow — register your app, complete the install dance, store the returned token.
export JOBBER_ACCESS_TOKEN="..."For multi-tenant apps, run multiple MCP server instances — each with its own token. Jobber's tokens expire; you'll need to refresh on your backend and restart the MCP server.
Use with Claude Desktop
{
"mcpServers": {
"jobber_mcp": {
"command": "jobber_mcp",
"env": {
"JOBBER_ACCESS_TOKEN": "..."
}
}
}
}Tools
Tool | Type | What it does |
| Diagnostic | Verifies token |
| Read | Homeowners / businesses |
| Read | Work orders (filterable by status) |
| Read | Quotes (filterable by status) |
| Read | Invoices (filterable by status) |
| Write | New client |
| Write | Note on client record |
Why GraphQL, not REST?
Jobber's API is GraphQL-only. The advantage: one HTTP endpoint, ask for exactly the fields you need, no over-fetching, no under-fetching. The MCP tools use minimal field selections so the agent gets the data it needs without pagination churn.
Development
pip install -e ".[dev]"
pytest
jobber_mcpNeed a custom MCP for your SaaS?
I build production-grade MCP servers for vertical SaaS — insurance, dental, veterinary, legal, property mgmt, home services. Typical engagement: 2-4 weeks, $25K-$120K. Source-owned, MIT-licensed, no vendor lock-in.
See sanjibani/mcp-services or email sanjibani@users.noreply.github.com.
Ships in the sanjibani vertical-MCP portfolio — see also hawksoft-mcp, open-dental-mcp, ezyvet-mcp, jobber-mcp, paid-skills, mcp-vertical-template.
MIT.
Acknowledgements
Jobber for the GraphQL API + OAuth2 flow
Built using mcp-vertical-template (the GraphQL client is a small variation of the REST template)
Inspired by sanjibani/hawksoft-mcp and sanjibani/ezyvet-mcp
See also
Available Tools
7 toolsadd_client_noteB
Add a note to a client's record. Useful after a phone call or site visit.
Inputs: body (required), client_id (required), pinned. Returns: result
create_clientB
Create a new client (homeowner / business).
App-created clients are automatically tagged with your app's name in Jobber's Lead source field — this is the only way leads enter the system via your integration.
Inputs: last_name (required), first_name (required), email, phone, +1 more. Returns: result
health_checkA
Verify the access token is valid by listing 1 client.
Inputs: no named parameters. Returns: result
list_clientsA
List clients (homeowners/businesses you service) with their contact info.
Inputs: limit. Returns: result
list_invoicesB
List invoices with optional status filter.
Inputs: limit, status. Returns: result
list_jobsB
List jobs (work orders).
Optional status filter — common values: active, awaiting,
completed, canceled, needsAttention.
Inputs: limit, status. Returns: result
list_quotesB
List quotes with optional status filter.
Common statuses: awaiting_response, approved, declined,
converted, expires.
Inputs: limit, status. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct resource or action: client creation, note addition, health check, and lists for clients, invoices, jobs, and quotes. No overlap in functionality.
All tools follow a consistent verb_noun pattern in snake_case (e.g., list_clients, create_client, add_client_note), with health_check being the only slight deviation but still clear.
7 tools is a reasonable size for a focused CRM server, covering basic operations without being overwhelming. It could grow slightly but is well-scoped.
The server lacks update, delete, and creation tools for jobs, invoices, and quotes, limiting full lifecycle management. Only client creation and listing are covered.
Maintenance
Related MCP Connectors
MCP server for Flex on the Job: inventory, jobs, customers, invoices, purchasing, sales orders.
Jobber MCP server for ChatGPT, Claude and any AI agent: create quote, convert quote to job, create invoice, send invoice and list unpaid invoices in your own Jobber account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Jobber yourself; Cotlet does not store your password and you need no Jobber API key. About the official Jobber API: Yes, Jobber has a GraphQL API in its Developer Center (checked 14 Oct 2026), but you cannot use it without registering an app. Each Jobber account authorizes your app with OAuth 2.0 and tokens must be refreshed. Setup and FAQ: https://cotlet.dev/integrations/jobber-api-mcp-server
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server for MarketTime — wholesale orders, customers, catalog and shipment tracking.
Related MCP Servers
- AlicenseAqualityDmaintenanceCustomer-hosted, read-only MCP server for Jobber operations workflows. It helps owners query Jobber for action lists, overdue invoices, stale requests, estimate/job follow-up, and safe read-only GraphQL validation.665 npm1MIT
- FlicenseNot gradedqualityFmaintenanceMCP server for the Upwork GraphQL API enabling job search, contract management, proposal drafting, and other Upwork automation tasks via natural language.-
- AlicenseAqualityCmaintenanceMCP server for interacting with the SuperOps.ai PSA/RMM platform, providing tools for managing clients, tickets, assets, and technicians via GraphQL API.21Apache 2.0
- AlicenseAqualityBmaintenanceMCP server for the Housecall Pro API, letting AI assistants read and write Housecall Pro data—customers, jobs, invoices, estimates, scheduling, and more—through natural language.4152 npmMIT