{
  "markdown": "# Jobber MCP Server\n\n> An MCP server for [Jobber](https://www.getjobber.com) — connect any MCP-compatible client to your Jobber field-service data.\n\n[![npm version](https://img.shields.io/npm/v/@supernova123/jobber-mcp-server)](https://www.npmjs.com/package/@supernova123/jobber-mcp-server)\n[![npm downloads](https://img.shields.io/npm/dm/@supernova123/jobber-mcp-server)](https://www.npmjs.com/package/@supernova123/jobber-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![MCP Compatible](https://img.shields.io/badge/MCP-compatible-blueviolet)](https://modelcontextprotocol.io)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue)](https://www.typescriptlang.org/)\n[![Claude Desktop](https://img.shields.io/badge/Claude%20Desktop-ready-orange)](https://claude.ai/download)\n[![Cursor](https://img.shields.io/badge/Cursor-compatible-blue)](https://cursor.sh)\n\n## What is this?\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that gives AI assistants and agents access to your [Jobber](https://www.getjobber.com) data — clients, jobs, invoices, and quotes — through a clean, typed API.\n\nUse 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.\n\n## Why use this?\n\n- **6 built-in tools** — clients, jobs, invoices, and quotes in one server\n- **Mock mode** — try it instantly with fake data, no Jobber account needed\n- **Natural language queries** — \"show me overdue invoices\" just works\n- **Quote creation** — create and send quotes without opening Jobber\n- **Client lookup** — find client details, contact info, and job history\n- **Works with every MCP client** — Claude Desktop, Cursor, Windsurf, Cline, and more\n\n## Quick Start\n\nAdd to your MCP client config (e.g. `claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"jobber\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"jobber-mcp-server\"],\n      \"env\": {\n        \"JOBBER_ACCESS_TOKEN\": \"your_token\",\n        \"JOBBER_CLIENT_ID\": \"your_client_id\",\n        \"JOBBER_CLIENT_SECRET\": \"your_client_secret\"\n      }\n    }\n  }\n}\n```\n\nOr try with mock data first (no Jobber account needed):\n\n```bash\nJOBBER_MOCK_MODE=true npx jobber-mcp-server\n```\n\nGet API credentials at [Jobber Developer Portal](https://developer.getjobber.com/).\n\n### Use it\n\nAsk your AI assistant things like:\n\n- \"List all my clients\"\n- \"Show me the details for client-101\"\n- \"What jobs are assigned to Alex Reyes?\"\n- \"Create a quote for Northwind Roofing: 2 hours of emergency repair at $150/hr\"\n- \"Which invoices are overdue?\"\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `list_clients` | List clients with optional search, lead filter, and limit |\n| `get_client` | Get a client by ID with contact info and recent jobs |\n| `get_job` | Full job detail: status, assignees, schedule, line items |\n| `list_invoices` | List invoices filtered by client and/or status |\n| `get_invoice` | Full invoice detail with line items and payment status |\n| `create_quote` | Create a new quote for a client with line items |\n\n## Use Cases\n\n### Daily Operations Check\n\"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.\n\n### Client Research\n\"What's the history with Northwind Roofing?\" — pull up client details, recent jobs, and outstanding invoices before a site visit or sales call.\n\n### Quote Generation\n\"Create a quote for Mrs. Chen: gutter cleaning, 1 hour, $120\" — draft and send quotes from the field without switching apps.\n\n### Invoicing Audit\n\"Show me all unpaid invoices over $500\" — find overdue payments and follow up without manually filtering through Jobber's invoice list.\n\n### Field Service Reporting\n\"Summarize Alex Reyes' jobs this week\" — generate performance summaries for team meetings or payroll without pulling reports manually.\n\n## Security\n\n- **OAuth credentials required** — Jobber API uses OAuth2. Credentials are passed via environment variables, never logged.\n- **No local file access** — does not read or write any files on your machine (unless you enable mock mode).\n- **No shell access** — does not execute commands or spawn processes.\n- **Mock mode safe** — `JOBBER_MOCK_MODE=true` uses fake data with no API calls to Jobber.\n- **Open source** — MIT licensed. Inspect the code at [GitHub](https://github.com/friendlygeorge/jobber-mcp-server).\n\n## Troubleshooting\n\n### \"Authentication failed\" errors\nVerify your `JOBBER_CLIENT_ID`, `JOBBER_CLIENT_SECRET`, and `JOBBER_ACCESS_TOKEN` are correct. Tokens expire — check the Jobber Developer Portal for fresh credentials.\n\n### \"No data found\" in mock mode\nMake sure `JOBBER_MOCK_MODE=true` is set in your environment or MCP config. Mock mode creates sample clients, jobs, and invoices automatically.\n\n### Server won't start\nMake sure Node.js 18+ is installed: `node --version`. If using npx, ensure npm is up to date: `npm install -g npm@latest`.\n\n### MCP client can't connect\nVerify 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.\n\n### Slow responses\nJobber'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.\n\n## Jobber API Setup\n\nTo use with your real Jobber account:\n\n1. Go to [Jobber Developer Portal](https://developer.getjobber.com/)\n2. Create an app and get your `client_id` and `client_secret`\n3. Complete OAuth flow to get an `access_token`\n4. Add credentials to `.env` or MCP client config\n\n## Requirements\n\n- Node.js 18+\n- A [Jobber](https://www.getjobber.com) account with API access, or use `JOBBER_MOCK_MODE=true` for testing\n\n## Development\n\n```bash\ngit clone https://github.com/friendlygeorge/jobber-mcp-server.git\ncd jobber-mcp-server\nnpm install\nnpm run build\nnpm run inspect   # opens MCP Inspector for testing\n```\n\n## License\n\nMIT\n",
  "bytes": 6231,
  "sha": "b7d35d18bdbc28fd00ec65d4998d401291103ebf715e3995db78e502d1bb7361",
  "repo_slug": "friendlygeorge/jobber-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_friendlygeorge_jobber_mcp_serv_bb137114/readme"
}