Invobi

Documentation

Complete reference for all Invobi MCP tools and configuration.


/set_license_key

Set or update your license key. The key is saved to ~/.config/invobi/license.key or ~/Library/Application Support/invobi on MacOS and verified offline using Ed25519 signature verification.

Parameters

Parameter Required Description
license_key Yes The signed license token you received after purchase
Example
"Set my Invobi license key to eyJhbGciOi..."

Returns

A confirmation message with the license expiration date, or an error if the key is invalid or expired.


/create_invoice

Generate a professional PDF invoice from complete invoice data. All fields are required.

Parameters

Parameter Required Description
invoice Yes Complete invoice data
output_path Yes Absolute file path for the PDF. Parent directories are created automatically.

Example

"Create an invoice #2026-001 from Acme Corp to Widget Inc for 10 hours
of web development at $150/hr. Issue date today, due in 30 days.
Save it to ~/invoices/2026-001.pdf"

Returns

A text message with the file path and size, plus the PDF as an embedded file.


/create_invoice_from_context

Generate a PDF by merging a saved context (template) with additional invoice data. This is the recommended workflow for repeat invoicing – save your company details once, then provide only the per-invoice details each time.

Merge logic

The user-provided invoice data serves as the base. Context fields are applied on top – the context always wins. This prevents the AI from accidentally overriding your saved company details. After merging, if any required fields are still missing, a descriptive error lists exactly which fields are needed.

Parameters

Parameter Required Description
context_title Yes Name of the saved context to use (see Contexts)
invoice Yes Per-invoice data (recipient, items, dates, etc.)
output_path Yes Absolute file path for the PDF

Example

"Using my 'acme-corp' context, create an invoice for Widget Inc
for 20 hours of consulting at EUR 120/hr. Due in 14 days.
Save to ~/invoices/widget-jan.pdf"

Returns

A text message with the file path and size, plus the PDF as an embedded file. If required fields are missing after the merge, returns an error listing them.


/set_context

Save a reusable invoice context (template) under a unique title. Contexts are stored at ~/.config/invobi/contexts.json. If a context with the given title already exists, it is overwritten.

A context can hold any subset of invoice fields – typically your company details, currency, locale, labels, and payment information. When creating invoices, you only need to provide the per-invoice details (recipient, items, dates).

Parameters

Parameter Required Description
title Yes Unique name for this context (e.g., "my-company", "client-acme")
context Yes Partial invoice data to save

Example

"Save a context called 'my-company' with these details:
- From: Acme Corp, 123 Main St, Tallinn 10115, Estonia
- Currency: EUR, Locale: EE
- Payment: IBAN EE123456789, SWIFT HABAEE2X
- Use Estonian labels"

Returns

A confirmation message.


/edit_context

Update an existing context. The context must already exist (use list_contexts to check). The provided data completely replaces the existing context data.

Parameters

Parameter Required Description
title Yes Title of the existing context to update
context Yes New data that replaces the existing context entirely

Returns

A confirmation message, or an error if the context does not exist (with a list of available context names).


/delete_context

Delete a saved context by its title.

Parameters

Parameter Required Description
title Yes Title of the context to delete

Returns

A confirmation message, or an error if the context does not exist.


/list_contexts

List all saved contexts with their full data. Takes no parameters.

Returns

A JSON-formatted list of all saved contexts (title and full partial invoice data for each), or a message indicating no contexts are saved yet.


/update_mcp

Download and install the latest version of the Invobi MCP server binary. Automatically detects your platform and replaces the running binary.

Parameters

None.

Supported platforms

Platform Binary name
macOS (Apple Silicon) invobi-darwin-arm64
macOS (Intel) invobi-darwin-amd64
Linux (x86_64) invobi-linux-amd64
Linux (ARM64) invobi-linux-arm64
Windows (x86_64) invobi-windows-amd64.exe

Returns

A status message: already up to date, success with restart instructions, or a manual install command if auto-replacement fails.


Contexts (templates)

Contexts are reusable partial invoices stored locally at ~/.config/invobi/contexts.json. They let you save information that stays the same across invoices – your company details, currency, locale, labels, and payment information – so you only need to provide the per-invoice details each time.

1. Save your company context once:

"Save a context called 'my-company' with:
- From: My Company LLC, 456 Oak Ave, New York, NY 10001
- Currency: USD, Locale: US
- English labels
- Payment details: Bank of America, Account 1234567890, Routing 021000021"

2. Create invoices using the context:

"Using my 'my-company' context, create invoice #2026-003 for:
- Billed to: Client Corp, 789 Pine St, San Francisco, CA
- Items: 40 hours of software development at $175/hr
- 10% discount for early payment
- Issued today, due in 30 days
- Save to ~/invoices/2026-003.pdf"

The context supplies your company details, currency, locale, labels, and payment info automatically. You only provide the recipient, items, dates, and any adjustments.

Merge behavior

When using create_invoice_from_context, the context data takes precedence over user-provided data. This is intentional – it prevents the AI assistant from accidentally overriding your saved company details or payment information with hallucinated values.


Validation rules

Invobi validates all invoice data before generating a PDF. If validation fails, you receive a descriptive error message. The rules are:

  • title: Must be non-empty.
  • issued_at / due_at: Must be valid dates in yyyy-MM-dd format. Due date must be on or after the issue date.
  • from_details / to_details: At least one row required. No empty entry values.
  • items: At least one item required. Description must be non-empty. Quantity must be positive. Price must be non-negative.
  • discounts / taxes: Description must be non-empty. Exactly one of percentage (0–100) or amount (non-negative) must be set.
  • payment_details: No empty entry values.
  • labels: All 13 label fields must be non-empty.

Configuration

File paths

Path Purpose
~/.config/invobi/license.key Stored license key
~/.config/invobi/contexts.json Saved invoice contexts/templates

MCP client configuration

Invobi communicates over stdio. Configure your MCP client to launch the binary as a subprocess:

{
  "mcpServers": {
    "invobi": {
      "command": "/usr/local/bin/invobi"
    }
  }
}

Adjust the path to wherever you installed the invobi binary. Note that the above is just an example configuration and the exact shape of the configuration object may differ depending on your choice of a AI / MCP client.

Version checking

Invobi checks for updates in the background (non-blocking). If a newer version is available, a notice is appended to tool responses. Use the update_mcp tool to install the update, or download it manually from the downloads page.