Home

MCP Server Documentation

LotsInvoice MCP Server

Connect AI agents like Claude and Cursor to LotsInvoice using the Model Context Protocol

Quick Information
MCP Endpoint
https://api.lotsinvoice.com/mcp
Available Tools
80 tools
Authentication
OAuth 2.1 with PKCE
Setup Instructions
Configure your MCP client to connect to LotsInvoice

Add this configuration to your Cursor settings:

{
  "mcpServers": {
    "lotsinvoice": {
      "url": "https://api.lotsinvoice.com/mcp"
    }
  }
}

Steps:

  1. Open Cursor Settings (Cmd/Ctrl + ,)
  2. Search for "MCP Servers"
  3. Click "Edit in settings.json"
  4. Add the configuration above
  5. Restart Cursor
  6. Cursor will automatically discover OAuth endpoints and handle authentication
Authentication
This server implements OAuth 2.1 with PKCE for secure authentication
OAuth 2.1 with PKCE (S256)

Most modern MCP clients will automatically discover and handle the OAuth flow. The server uses OAuth 2.1 with PKCE (S256) for secure authentication.

OAuth Discovery
https://api.lotsinvoice.com/.well-known/oauth-authorization-server
Authorization Endpoint
https://api.lotsinvoice.com/api/oauth/authorize
Token Endpoint
https://api.lotsinvoice.com/api/oauth/token

How it works:

  1. Clients automatically discover OAuth endpoints
  2. Users are redirected to authenticate via browser
  3. Authorization code is exchanged for access token
  4. Bearer token is used for all MCP requests
Available Tools
80 MCP tools available for LotsInvoice. Use these tool names when calling the MCP server.

General

Accept Invitation
Accept an invitation with the token from its link (signed in with the invited email).
Apply Credit
Apply the customer's available credit (overpayments, credit notes) to an invoice.
Apply Preset
Set up columns, labels, titles, tax groups and declarations for a region: us_freelancer, us_sales_tax, eu_vat, uk_vat, india_gst, india_export_lut. Tax groups are created only from tax_rates you give (ask the owner; never guess). A starting point to check with their accountant.
Archive Business
Archive a business: billing for it stops, nothing is deleted, sent links keep working. Owner only.
Archive Customer
Archive (or restore: true) a customer. Nothing is deleted.
Cancel Invitation
Cancel a pending invitation.
Check Template
Check a template (html body + css) without saving: forbidden content, unknown placeholders, missing required data, and warnings.
Convert Estimate
Turn an estimate into a draft invoice.
Create Business
Create a business (the entity that sends invoices). Each business is one paid unit: it uses a plan slot or LotsTech Credits (new accounts get free credits). Ask the person for the real legal name, address, email and registration IDs; never invent them.
Create Checkout
A checkout link for a plan (starter, pro, business; monthly or annual) or a credits top-up (amount_usd, minimum 10). Show the link; the person pays in their browser.
Create Credit Note
Draft a credit note. With invoice_id it defaults to that invoice's balance and is applied to it when issued; the rest becomes customer credit.
Create Customer
Add a customer. Ask for details you do not have; never invent addresses or tax IDs. Returns what is missing.
Create Declaration
Save a statement to print on documents, e.g. "Supply meant for export under LUT without payment of IGST" or "Reverse charge applies".
Create Estimate
Draft an estimate (quote). due_date is "valid until". The customer can accept it in the portal; convert_estimate turns it into an invoice.
Create Invoice
Draft an invoice. Totals are computed exactly (discounts before tax, several taxes per line). It stays a draft: show the totals to the person and ask before send_document.
Create Item
Save a product or service with its price, code (SKU, HSN/SAC), unit and default tax.
Create Recurring
Repeat an invoice on a schedule (document_id), e.g. a monthly retainer. Line text may use {period}, {month}, {year}. mode draft (review first) or send (automatic).
Create Tax
Save a tax from rates the owner gives you (never guess a rate): one component (name + rate) or several (components), e.g. "GST 18% intra-state" = CGST 9 + SGST 9, or "Sales tax" = State 6.25 + County 2.
Create Template
Save a custom template after it passes check_template. Use it with template "custom:<id>".
Delete Draft
Delete a draft that was never sent.
Delete Payment
Remove a recorded payment (kept for history, no longer counted).
Duplicate Document
Copy a document into a new draft, optionally for another customer or as another type.
Export Business
Everything about the business as JSON, with PDF links valid 7 days. Owner only.
Get Aging Report
Money owed by age (current, 1-30, 31-60, 61-90, 90+ days), per currency and customer.
Get Billing
Your LotsInvoice plan or credits, businesses in use, rates and plans to choose from.
Get Business
Get one business with its settings and what is still missing (next_steps).
Get Customer
One customer with open balance, available credit and recent documents.
Get Document
One document with lines, totals, versions, payments and activity (viewed, reminders, portal notes).
Get Document Pdf
A download link (valid 1 hour) for the PDF. Drafts render on demand, marked DRAFT.
Get Document Preview
A preview link (HTML, valid 1 hour), or the HTML itself with include_html.
Get Payments Report
Payments received by method, per currency.
Get Portal Link
The customer's portal link (view and download documents, pay, accept estimates), optionally to one document.
Get Revenue Report
Revenue (excluding tax) by month and by customer, per currency.
Get Settings
Numbering, titles, defaults, payment options, reminders, layout (columns, custom fields, blocks, labels), theme and signature.
Get Statement
A customer statement: opening balance, invoices, credit notes, payments and closing balance per currency.
Get Summary
What needs attention: unpaid and overdue invoices, money received this month, drafts, open estimates and upcoming recurring invoices.
Get Tax Report
Tax charged by tax and rate, per currency (invoices minus credit notes).
Get Template
One custom template with its html and css, to edit it.
Get Template Guide
How to write a custom template: the safe template language, every data path, an example view and the built-in layout source to start from.
Import Customer From Crm
Add a customer from a LotsCRM contact you can read (name, email, phone, primary company).
Import Customers
Import customers from CSV text (header row first; up to 1,000 rows). Columns are matched by name (name, email, phone, address, city, state, zip, country, currency, tax id) or by mapping. Try dry_run first.
Import Items
Import items from CSV (name, description, code/SKU/HSN, unit, price). Up to 2,000 rows.
Invite Member
Invite someone (a partner, bookkeeper) as editor or viewer. Emails an accept link valid 7 days. Owner only.
Leave Business
Leave a business you were invited to.
List Businesses
List the businesses you can invoice from, with your role, settings and whether the sender email is confirmed. Start here.
List Customers
List or search customers (name, contact, email).
List Declarations
Saved declarations (fixed statements printed on documents).
List Documents
List invoices, estimates and credit notes. Filters: type, status (comma list), customer_id, from/to (issue date), overdue, search (number).
List Items
Saved products and services.
List Members
People with access to this business, and pending invitations (owner).
List Payments
Recorded payments, newest first.
List Recurring
Recurring invoices and their next dates.
List Taxes
Saved taxes. A tax has one or more components applied together.
List Templates
Built-in designs, custom templates and regional presets.
Mark Document Sent
Issue a draft without emailing it (you delivered it yourself): assigns the number and locks it.
Pause Recurring
Pause a recurring invoice.
Preview Template
Render a template (template key, or unsaved html/css) with sample data at 1 to 200 lines; returns HTML.
Record Payment
Record money received for an invoice (partial allowed). Overpayment becomes customer credit. LotsInvoice does not move money.
Resend Email Confirmation
Send the business email confirmation link again. Sending documents needs a confirmed email.
Restore Business
Restore an archived business (needs plan room or credits).
Resume Recurring
Resume a recurring invoice.
Revise Document
Change a sent invoice or estimate: a new locked version with a reason (the number stays). Not for paid or void documents: use a credit note.
Rotate Portal Link
Revoke every earlier portal link for this customer and make a new one.
Send Document
Email the document with its PDF and portal link (from LotsInvoice, replies go to the business). A draft gets its number and is locked. Ask the person before sending.
Send Reminder
Email a payment reminder now for a sent, unpaid invoice.
Set Next Number
Set the next document number (only forward), e.g. to continue from another tool.
Set Payment Options
How customers pay, shown on invoices, emails and the portal: a pay link (Stripe Payment Link, PayPal, Venmo, Cash App, Square), bank details, Zelle, UPI (India, with a QR code), check address, instructions. LotsInvoice never handles the money.
Set Theme
Change the default template and look: template (classic, modern, minimal, bold, compact, formal, studio, executive, ledger or custom:<id>; ledger is the full-page grid Indian tax invoice), color, accent, font (inter, plex, serif, mono), density (compact, normal, comfortable), logo_position, logo_size, paper (letter, a4), accent_style (bar, band, none).
Update Business
Update business details. Changing the email sends a confirmation link.
Update Customer
Update a customer. Documents already sent keep the details they were sent with.
Update Declaration
Update or archive a declaration.
Update Document
Edit a draft (any document field; lines replaces all lines). Sent documents: use revise_document.
Update Item
Update or archive (archived: true) an item.
Update Member
Change a member's role or remove them (remove: true). Owner only.
Update Recurring
Change a recurring invoice (name, mode, end_date, max_count, next_date, template).
Update Settings
Change settings. Give only what changes, under settings: numbering {invoice:{prefix,padding,reset}}, titles {invoice:"Tax Invoice"}, defaults {notes,terms,footer,estimate_valid_days,template,line_treatment,second_currency}, reminders {enabled,offsets,subject,message}, layout {columns:[{key,label,visible,type}], custom_fields:[{key,label,scope,visible}], blocks:{tax_summary,words,signature,…}, fields:{due_date,po_number,reference,place_of_supply}, labels:{…}, words_system, show_registration_ids}, theme {color,accent,font,density,logo_position,logo_size,paper,accent_style}, signature {name,title,image_url}.
Update Tax
Rename, change components, or archive (archived: true). Sent documents keep their taxes.
Update Template
Update (re-checked) or archive a custom template. Sent documents keep their version.
Upload Image
Upload the logo, a signature image or a company seal (stamp) image (PNG, JPEG, WebP or GIF, 1 MB max, base64) and save it on the business.
Void Document
Void a sent invoice or credit note (keeps its number). Not when payments or credits are recorded.
REST API DocumentationGet API Key