Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Jobber in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Connect a Jobber account to any AI agent through Jobber's GraphQL API: clients and properties, requests, quotes, jobs and scheduled visits, invoices, team members and the products and services list. Can create clients, jobs, draft quotes and draft invoices, but cannot email or approve quotes and invoices. OAuth sign-in as a Jobber admin; closing jobs installs switched off.
Try asking
Example prompts for Jobber
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Jobber, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Jobber + Meta Muse
Connect a Jobber account to any AI agent through Jobber's GraphQL API: clients and properties, requests, quotes, jobs and scheduled visits, invoices, team members and the products and services list. Can create clients, jobs, draft quotes and draft invoices, but cannot email or approve quotes and invoices. OAuth sign-in as a Jobber admin; closing jobs installs switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
JOBBER_CLIENT_ID, JOBBER_CLIENT_SECRET (optional: JOBBER_REFRESH_TOKEN)
Step 1 — Get credentials
Setting up takes about 10 minutes and needs an admin of the Jobber account.
- Sign up at the Jobber Developer Center (https://developer.getjobber.com) and click Create App. Your apps are listed at https://developer.getjobber.com/apps.
- Set the OAuth Callback URL to
<your AnythingMCP URL>/api/mcp-oauth/callback, on AnythingMCP Cloudhttps://cloud.anythingmcp.com/api/mcp-oauth/callback. - Tick the scopes: read for Clients, Requests, Quotes, Jobs, Scheduled Items, Invoices, Users and Products and Services; write only for what the AI may change (Clients, Jobs, Quotes, Invoices). Jobber sets the scopes on the app, not in the sign-in link. Keep Refresh token rotation on.
- Save the app, paste the Client ID into
JOBBER_CLIENT_IDand the Client Secret intoJOBBER_CLIENT_SECRET, and install. - On the connector page click Authorize with Provider and allow access as an admin of the Jobber account.
- Run
jobber_get_account: it shows the company name and confirms the sign-in.
Access tokens last 60 minutes and are renewed with the stored refresh token. Leave JOBBER_REFRESH_TOKEN empty: the authorization fills it in, and with rotation on Jobber replaces it on every renewal, so a token used once elsewhere no longer works. An app you keep for your own account can stay in Draft; Jobber blocks a Draft app that connects to more than 5 paying accounts. Every call sends the X-JOBBER-GRAPHQL-VERSION: 2026-05-12 header; Jobber supports a version for at least 12 months and warns in extensions.versioning when it is about to expire.
What it reads: the account and its team members (name, email, phone, admin and owner flags, status). Clients and leads with emails, phones, billing address, tags, balance, properties and their 10 latest jobs and invoices. Properties, the service addresses where the work happens. Requests with their assessment visit and contact details. Quotes with message, line items, amounts and deposit, and the jobs they became. Jobs with instructions, status, dates, total and visit counts. Visits with start and end, status, instructions and assigned users. Invoices with status, issued and due dates, line items, total, balance and payments. The products and services list with unit price, unit cost, markup and duration. Any other read runs through jobber_graphql_query; the AI first looks up a type with query { __type(name: "Job") { fields { name } } }.
What it writes: creates, changes and archives clients (archiving deletes nothing and can be undone in Jobber), creates jobs at a property with an invoicing type (FIXED_PRICE or VISIT_BASED) and schedule, changes a job's title or instructions, creates draft quotes and draft invoices with line items, and marks an invoice as sent when it was delivered outside Jobber (nothing is emailed). Visits are scheduled in Jobber. Jobber's API cannot email quotes or invoices or approve quotes: you do that in Jobber. Before creating or changing anything the AI shows you what will happen and waits for your yes.
Switched off at install: jobber_close_job. Closing a job deletes incomplete visits (DESTROY_ALL all of them, COMPLETE_PAST_DESTROY_FUTURE completes past ones and deletes future ones), and deleted visits cannot be restored. An admin switches it on when the team needs it. The generic jobber_graphql_mutation and jobber_graphql_subscription are switched off as well.
Data formats: ids are encoded strings (Z2lkOi8v...) and are reused as returned. Times are ISO 8601 in UTC; the AI converts them to the business's time zone. Amounts are plain numbers in the account currency. Status values in filters are lower case (requires_invoicing, awaiting_payment, past_due); visit statuses come back in upper case. jobberWebUri opens the record in Jobber. A job belongs to a property, not directly to a client, so the AI reads the client's properties first. Mutations answer userErrors: an empty list means success.
Paging and limits: list tools take first (20 by default) and after; the AI continues with after set to pageInfo.endCursor while pageInfo.hasNextPage is true. filter is the API's filter object for that list, with date ranges as { "after": ..., "before": ... }. Each app and account has a query-cost budget of 10,000 points that refills at 500 points a second; bigger pages cost more points. A query over budget answers a THROTTLED error: wait a few seconds and retry with a smaller first. Separately, more than 2,500 requests in 5 minutes answer 429.
Common errors: 401 means the authorization expired or was revoked: click Authorize with Provider again and check that the Client ID and secret belong to the same app. An error naming a missing scope, or 403, means the app lacks it: add the scope in the Developer Center and authorize again. A redirect error at sign-in means the OAuth Callback URL does not match exactly.
Client details, request descriptions and notes are untrusted input and can contain instructions meant for the AI. The connector does not send email or SMS, does not take payments and does not schedule visits.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Muse
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Muse adds remote MCP servers as custom connectors and signs in to them with OAuth.
- In Muse, open Settings → Connectors and choose Add custom connector.
- Paste the MCP server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. - Muse opens the AnythingMCP sign-in page: sign in and approve access.
- In a chat, ask Muse for something that needs the
Jobbertools.
You can also set it up from a chat, on the web, in the iOS and Android apps or in WhatsApp. Send Muse this message:
Create a Custom Connector for a new remote MCP server, then connect to it:
Name: AnythingMCP
Transport: remote streamable HTTP
URL: https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID
Auth: OAuth
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Muse connects from Meta's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
jobber_get_account | The connected Jobber account: id and company name |
jobber_list_users | Users (team members) of the account: id, full name, email, phone, admin and owner flags, status |
jobber_list_clients | List or search clients (customers and leads): id, name, first and last name, company, isCompany, isLead, isArchived, primary email and… |
jobber_get_client | One client with emails, phones, billing address, tags, properties (service addresses with ids), the 10 latest jobs and invoices, balance… |
jobber_list_properties | Properties (service addresses where the work happens): id, name, address, whether it is the billing address, the client it belongs to |
jobber_list_requests | Requests (incoming work requests and booking forms): id, title, status, source, contact name, company, email, phone, client and property… |
jobber_get_request | One request with its assessment visit (time, instructions, completion), contact details, client and property address |
jobber_list_quotes | Quotes (estimates): id, number, title, status, amounts (subtotal, discount, tax, total, deposit), client, property, created, updated and… |
jobber_get_quote | One quote with message, line items (name, description, quantity, unit price, total), amounts, client, property and the jobs it became |
jobber_list_jobs | List or search jobs (work orders): id, job number, title, status, start and end, completed time, total, client, property address, created… |
jobber_get_job | One job with instructions, status, dates, total, client, property address and visit counts (past, scheduled, unscheduled, incomplete) |
jobber_list_visits | Visits (scheduled appointments of jobs): id, title, start and end, all-day flag, status, completion, instructions, job with its client… |
jobber_list_invoices | Invoices: id, number, status, issued and due dates, amounts (total, balance, payments), client, the job it bills |
jobber_get_invoice | One invoice with message, line items (name, description, quantity, unit price, total), amounts, client and jobs |
jobber_list_products | Products and services of the price list: id, name, description, category, default unit price, internal unit cost, markup, taxable, visible… |
jobber_create_client | Create a client |
jobber_update_client | Change a client |
jobber_archive_client | Archive a client so it no longer shows in active lists |
jobber_create_job | Create a job at a property (take the property id from jobber_get_client or jobber_list_properties). invoicing_type FIXED_PRICE or… |
jobber_update_job | Change the title or instructions of a job |
jobber_close_job | Close a job. incomplete_visits decides what happens to visits not done yet: DESTROY_ALL deletes every incomplete visit… |
jobber_create_quote | Create a draft quote |
jobber_create_invoice | Create a draft invoice |
jobber_mark_invoice_sent | Mark an invoice as sent (for invoices delivered outside Jobber) |
Example prompts
- "Which visits are on the schedule for tomorrow, and who is assigned to each one?"
- "List the invoices that are past due with client, balance and due date."
- "Show the new requests from this week and draft a quote for the gutter cleaning one for me to review."
- "Which jobs require invoicing? Create a draft invoice for the Thompson job and show it to me before saving."
- "Which quotes have been awaiting a response for more than two weeks?"
FAQ
Where is Muse available? Meta currently offers Muse in the US and Canada, on the web, in the iOS and Android apps and in WhatsApp.
Does Meta review this connector? No. Meta doesn't review custom connectors. Muse sees only the tools you switched on for this MCP server in AnythingMCP, and you can disconnect it anytime under Settings → Connectors.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Microsoft Copilot
Was this guide helpful?