Skip to main content
Glama
Jobber MCP Server

Jobber MCP Server

Jobber MCP Server

An MCP server for Jobber — connect any MCP-compatible client to your Jobber field-service data.

npm version npm downloads License: MIT MCP Compatible TypeScript Claude Desktop Cursor

What is this?

An MCP (Model Context Protocol) server that gives AI assistants and agents access to your Jobber data — clients, jobs, invoices, and quotes — through a clean, typed API.

Use it with Claude Desktop, Cursor, Windsurf, Cline, or any MCP-compatible client to ask questions about your business data, create quotes, and manage field-service operations through natural language.

Related MCP server: Jobber MCP Connector

Why use this?

  • 6 built-in tools — clients, jobs, invoices, and quotes in one server

  • Mock mode — try it instantly with fake data, no Jobber account needed

  • Natural language queries — "show me overdue invoices" just works

  • Quote creation — create and send quotes without opening Jobber

  • Client lookup — find client details, contact info, and job history

  • Works with every MCP client — Claude Desktop, Cursor, Windsurf, Cline, and more

Quick Start

Add to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "jobber": {
      "command": "npx",
      "args": ["-y", "jobber-mcp-server"],
      "env": {
        "JOBBER_ACCESS_TOKEN": "your_token",
        "JOBBER_CLIENT_ID": "your_client_id",
        "JOBBER_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Or try with mock data first (no Jobber account needed):

JOBBER_MOCK_MODE=true npx jobber-mcp-server

Get API credentials at Jobber Developer Portal.

Use it

Ask your AI assistant things like:

  • "List all my clients"

  • "Show me the details for client-101"

  • "What jobs are assigned to Alex Reyes?"

  • "Create a quote for Northwind Roofing: 2 hours of emergency repair at $150/hr"

  • "Which invoices are overdue?"

Tools

Tool

Description

list_clients

List clients with optional search, lead filter, and limit

get_client

Get a client by ID with contact info and recent jobs

get_job

Full job detail: status, assignees, schedule, line items

list_invoices

List invoices filtered by client and/or status

get_invoice

Full invoice detail with line items and payment status

create_quote

Create a new quote for a client with line items

Use Cases

Daily Operations Check

"Show me today's jobs and any overdue invoices" — start your morning with a full picture of what needs attention. No more logging into Jobber's dashboard first thing.

Client Research

"What's the history with Northwind Roofing?" — pull up client details, recent jobs, and outstanding invoices before a site visit or sales call.

Quote Generation

"Create a quote for Mrs. Chen: gutter cleaning, 1 hour, $120" — draft and send quotes from the field without switching apps.

Invoicing Audit

"Show me all unpaid invoices over $500" — find overdue payments and follow up without manually filtering through Jobber's invoice list.

Field Service Reporting

"Summarize Alex Reyes' jobs this week" — generate performance summaries for team meetings or payroll without pulling reports manually.

Security

  • OAuth credentials required — Jobber API uses OAuth2. Credentials are passed via environment variables, never logged.

  • No local file access — does not read or write any files on your machine (unless you enable mock mode).

  • No shell access — does not execute commands or spawn processes.

  • Mock mode safe — JOBBER_MOCK_MODE=true uses fake data with no API calls to Jobber.

  • Open source — MIT licensed. Inspect the code at GitHub.

Troubleshooting

"Authentication failed" errors

Verify your JOBBER_CLIENT_ID, JOBBER_CLIENT_SECRET, and JOBBER_ACCESS_TOKEN are correct. Tokens expire — check the Jobber Developer Portal for fresh credentials.

"No data found" in mock mode

Make sure JOBBER_MOCK_MODE=true is set in your environment or MCP config. Mock mode creates sample clients, jobs, and invoices automatically.

Server won't start

Make sure Node.js 18+ is installed: node --version. If using npx, ensure npm is up to date: npm install -g npm@latest.

MCP client can't connect

Verify the config path is correct. Claude Desktop uses ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart the client after config changes.

Slow responses

Jobber's GraphQL API has ~200-500ms latency. Complex queries (e.g., listing clients with full job history) may take longer. Use list_clients with a limit parameter to speed up initial queries.

Jobber API Setup

To use with your real Jobber account:

  1. Go to Jobber Developer Portal

  2. Create an app and get your client_id and client_secret

  3. Complete OAuth flow to get an access_token

  4. Add credentials to .env or MCP client config

Requirements

  • Node.js 18+

  • A Jobber account with API access, or use JOBBER_MOCK_MODE=true for testing

Development

git clone https://github.com/friendlygeorge/jobber-mcp-server.git
cd jobber-mcp-server
npm install
npm run build
npm run inspect   # opens MCP Inspector for testing

License

MIT

Available Tools

6 tools
create_quoteA

Create a new quote in Jobber for a specific client. Returns the created quote with its line items, subtotal, and total. Amounts in line items are in dollars and are converted to cents internally.

Inputs: subject (required), clientId (required), lineItems (required), message, +1 more.

get_clientA

Get a Jobber client by id, including their contact info and recent jobs.

Inputs: id (required).

get_invoiceA

Get the full detail of a Jobber invoice by id, including line items and payment status.

Inputs: id (required).

get_jobA

Get the full detail of a Jobber job by id, including status, assigned staff, schedule, and line items.

Inputs: id (required).

list_clientsA

List Jobber clients. Optional filters: search (matches name or email), isLead (true=leads only, false=active only), limit (default 50).

Inputs: limit, isLead, search.

list_invoicesA

List Jobber invoices, optionally filtered by client and/or status.

Inputs: status, clientId.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: list/get clients, get job, list/get invoices, create quote. There is no overlap in purpose, and the descriptions clearly differentiate between entities and operations.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case: list_clients, get_client, get_job, list_invoices, get_invoice, create_quote. The naming is uniform and predictable.

    Tool Count5/5

    With 6 tools, the server is well-scoped for its apparent purpose of viewing client/job/invoice data and creating quotes. Each tool serves a distinct need without redundancy or bloat.

    Completeness4/5

    The server covers the core workflow of retrieving clients, jobs, and invoices, and creating quotes. Minor gaps include the lack of list_jobs and list/get quotes, but these can be worked around via get_client returning recent jobs and create_quote returning the new quote.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers