Skip to main content
Glama
Medina-Digital-A-i

Jobber MCP Connector

jobber_create_invoice

Create an invoice in Jobber for a client or job, complete with custom line items, due dates, and optional deposit amounts.

Instructions

Create an invoice in Jobber for a client or job. Supports custom line items, due dates, and optional deposit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobIdNoOptional: Jobber job ID to link this invoice to a job
dueDateNoPayment due date in YYYY-MM-DD format
messageNoMessage to the client on the invoice
subjectNoInvoice subject line
clientIdYesJobber client ID
lineItemsNoLine items for the invoice
issuedDateNoIssue date in YYYY-MM-DD format (defaults to today)
depositAmountNoDeposit amount required upfront

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the creation action and some invoice features, but does not disclose possible side effects (e.g., sending the invoice to the client), required permissions, behavior on failure, or idempotency. Significant behavioral ambiguity remains for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that states the action and key capabilities with no filler. Every clause carries information, making it efficiently scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with 8 parameters, no output schema, and no annotations, the description is too sparse. It does not mention what the tool returns (e.g., invoice ID), prerequisites beyond clientId, or behavior on error conditions. An agent would need more context to reliably handle invocation outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some meaning by calling out 'custom line items, due dates, and optional deposit', but these directly mirror the schema properties lineItems, dueDate, and depositAmount. It does not clarify format, relationships, or constraints beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Create an invoice in Jobber'. It also scopes the target to 'a client or job' and lists supported features. This clearly differentiates it from sibling tools like jobber_list_invoices or jobber_create_quote, even without explicitly naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its use case: when you need to create an invoice for a client or job. It does not provide explicit when-not-to-use guidance or mention alternatives such as jobber_create_quote for quotes. The context is clear but no exclusions or sibling comparisons are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.