jobber-mcp
Click on "Install 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-mcpShow 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: jobber-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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanjibani/jobber-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server