Skip to main content
Glama

Invoice Generator

InvoiceGenerator
Read-only

Invoice Generator: Invoice Generator is an invoice generation API that creates downloadable PDF invoices from party addresses, line items, and payment terms. It computes subtotals with discounts and sales tax, returning an expiring download link. (Cost: 20 credits)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "invoiceNumber": "<invoiceNumber>",
      "from_name": "<from_name>",
      "from_street": "<from_street>",
      "from_city": "<from_city>",
      "from_state": "<from_state>",
      "from_zip": "<from_zip>",
      "to_name": "<to_name>",
      "to_street": "<to_street>",
      "to_city": "<to_city>",
      "to_state": "<to_state>",
      "to_zip": "<to_zip>",
      "items": "<items>"
    },
    "name": "InvoiceGenerator"
  }
}

Input Schema

NameRequiredDescriptionDefault
jobNoThe job or project associated with the invoice
dateNoThe invoice date (YYYY-MM-DD format)
itemsYesThe items being invoiced (qty, description, unit_price)
to_zipYesThe zip code of the person or company being invoiced
dueDateNoThe due date for the invoice (YYYY-MM-DD format)
logoURLNoPublic http(s) URL of an image to use as the invoice logo (max 2 MB, fetched with a 5 second timeout; a placeholder logo is used if it can't be loaded)
to_cityYesThe city of the person or company being invoiced
to_nameYesThe name of the person or company being invoiced
currencyNoThe currency for the invoice
discountNoThe discount to be applied to the invoice
from_zipYesThe zip code of the person or company issuing the invoice
salesTaxNoThe sales tax rate for the invoice as a percentage, applied to the subtotal after discount (e.g. 7.5 for 7.5%)
to_stateYesThe state of the person or company being invoiced
from_cityYesThe city of the person or company issuing the invoice
from_nameYesThe name of the person or company issuing the invoice
to_streetYesThe street address of the person or company being invoiced
from_stateYesThe state of the person or company issuing the invoice
from_streetYesThe street address of the person or company issuing the invoice
paymentTermsNoThe payment terms for the invoice
invoiceNumberYesThe invoice number

Output Schema

NameRequiredDescriptionDefault
dataNo
errorNoError message, null on success
statusNo"ok" on success

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the readOnly/destructive annotations, the description adds two genuinely useful behavioral facts: the download link expires, and each call costs 20 credits. It also discloses that subtotals, discounts and sales tax are computed server-side rather than passed in as a total. It does not say how long the link stays valid, which would have made this a 5.

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

Conciseness4/5

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

Two tightly packed sentences, front-loaded with the capability and ending with the credit cost, which is the right place for it. Minor waste in restating the name twice ('Invoice Generator: Invoice Generator is an invoice generation API'), a phrase that adds no information.

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

Completeness4/5

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

With an output schema present, the description rightly focuses on inputs and side effects rather than return shape, and it covers the essentials for a 20-parameter, 12-required generation call. The gap is the item format, which the schema types as an array of strings while the example shows objects; a sentence clarifying the accepted line-item structure would close the loop.

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 all 20 parameters are already documented with examples, including the sales-tax-after-discount ordering rule. The description only summarizes the input categories (party addresses, line items, payment terms) and adds no semantics the schema lacks, such as how the line-item array is formatted given the unusual string-array typing.

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?

States a specific verb and resource: creates downloadable PDF invoices from addresses, line items and payment terms, and returns an expiring download link. The output format (PDF) plus the cost note makes it immediately distinguishable from generic document tools like HTMLtoPDF or MarkdowntoPDF in the sibling list.

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?

Usage is implied by the purpose (use it when you need a finished invoice PDF from structured billing data), but there is no explicit when-to-use or when-not guidance. It never tells the agent whether to prefer this over sibling generators, nor what preconditions exist (e.g., that all 12 required address/line-item fields must be supplied before calling).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.