Skip to main content
Glama
jobber-mcp

jobber-mcp

by sanjibani

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

health_check

Diagnostic

Verifies token

list_clients

Read

Homeowners / businesses

list_jobs

Read

Work orders (filterable by status)

list_quotes

Read

Quotes (filterable by status)

list_invoices

Read

Invoices (filterable by status)

create_client

Write

New client

add_client_note

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_mcp

Need 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

See also

Available Tools

7 tools
add_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

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness2/5

    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

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Customer-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.
      6
      65 npm
      1
      MIT
    • F
      license
      Not graded
      quality
      F
      maintenance
      MCP server for the Upwork GraphQL API enabling job search, contract management, proposal drafting, and other Upwork automation tasks via natural language.
      -
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for interacting with the SuperOps.ai PSA/RMM platform, providing tools for managing clients, tickets, assets, and technicians via GraphQL API.
      21
      Apache 2.0