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/mcpAvailable 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:
- Open Cursor Settings (Cmd/Ctrl + ,)
- Search for "MCP Servers"
- Click "Edit in settings.json"
- Add the configuration above
- Restart Cursor
- 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-serverAuthorization Endpoint
https://api.lotsinvoice.com/api/oauth/authorizeToken Endpoint
https://api.lotsinvoice.com/api/oauth/tokenHow it works:
- Clients automatically discover OAuth endpoints
- Users are redirected to authenticate via browser
- Authorization code is exchanged for access token
- 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
apply_creditApply Credit
Apply the customer's available credit (overpayments, credit notes) to an invoice.
apply_presetApply 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_businessArchive Business
Archive a business: billing for it stops, nothing is deleted, sent links keep working. Owner only.
archive_customerArchive Customer
Archive (or restore: true) a customer. Nothing is deleted.
cancel_invitationCancel Invitation
Cancel a pending invitation.
check_templateCheck Template
Check a template (html body + css) without saving: forbidden content, unknown placeholders, missing required data, and warnings.
convert_estimateConvert Estimate
Turn an estimate into a draft invoice.
create_businessCreate 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_checkoutCreate 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_noteCreate 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_customerCreate Customer
Add a customer. Ask for details you do not have; never invent addresses or tax IDs. Returns what is missing.
create_declarationCreate 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_estimateCreate 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_invoiceCreate 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_itemCreate Item
Save a product or service with its price, code (SKU, HSN/SAC), unit and default tax.
create_recurringCreate 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_taxCreate 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_templateCreate Template
Save a custom template after it passes check_template. Use it with template "custom:<id>".
delete_draftDelete Draft
Delete a draft that was never sent.
delete_paymentDelete Payment
Remove a recorded payment (kept for history, no longer counted).
duplicate_documentDuplicate Document
Copy a document into a new draft, optionally for another customer or as another type.
export_businessExport Business
Everything about the business as JSON, with PDF links valid 7 days. Owner only.
get_aging_reportGet Aging Report
Money owed by age (current, 1-30, 31-60, 61-90, 90+ days), per currency and customer.
get_billingGet Billing
Your LotsInvoice plan or credits, businesses in use, rates and plans to choose from.
get_businessGet Business
Get one business with its settings and what is still missing (next_steps).
get_customerGet Customer
One customer with open balance, available credit and recent documents.
get_documentGet Document
One document with lines, totals, versions, payments and activity (viewed, reminders, portal notes).
get_document_pdfGet Document Pdf
A download link (valid 1 hour) for the PDF. Drafts render on demand, marked DRAFT.
get_document_previewGet Document Preview
A preview link (HTML, valid 1 hour), or the HTML itself with include_html.
get_payments_reportGet Payments Report
Payments received by method, per currency.
get_portal_linkGet Portal Link
The customer's portal link (view and download documents, pay, accept estimates), optionally to one document.
get_revenue_reportGet Revenue Report
Revenue (excluding tax) by month and by customer, per currency.
get_settingsGet Settings
Numbering, titles, defaults, payment options, reminders, layout (columns, custom fields, blocks, labels), theme and signature.
get_statementGet Statement
A customer statement: opening balance, invoices, credit notes, payments and closing balance per currency.
get_summaryGet Summary
What needs attention: unpaid and overdue invoices, money received this month, drafts, open estimates and upcoming recurring invoices.
get_tax_reportGet Tax Report
Tax charged by tax and rate, per currency (invoices minus credit notes).
get_templateGet Template
One custom template with its html and css, to edit it.
get_template_guideGet 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_crmImport Customer From Crm
Add a customer from a LotsCRM contact you can read (name, email, phone, primary company).
import_customersImport 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_itemsImport Items
Import items from CSV (name, description, code/SKU/HSN, unit, price). Up to 2,000 rows.
invite_memberInvite Member
Invite someone (a partner, bookkeeper) as editor or viewer. Emails an accept link valid 7 days. Owner only.
leave_businessLeave Business
Leave a business you were invited to.
list_businessesList Businesses
List the businesses you can invoice from, with your role, settings and whether the sender email is confirmed. Start here.
list_customersList Customers
List or search customers (name, contact, email).
list_declarationsList Declarations
Saved declarations (fixed statements printed on documents).
list_documentsList Documents
List invoices, estimates and credit notes. Filters: type, status (comma list), customer_id, from/to (issue date), overdue, search (number).
list_itemsList Items
Saved products and services.
list_membersList Members
People with access to this business, and pending invitations (owner).
list_paymentsList Payments
Recorded payments, newest first.
list_recurringList Recurring
Recurring invoices and their next dates.
list_taxesList Taxes
Saved taxes. A tax has one or more components applied together.
list_templatesList Templates
Built-in designs, custom templates and regional presets.
mark_document_sentMark Document Sent
Issue a draft without emailing it (you delivered it yourself): assigns the number and locks it.
pause_recurringPause Recurring
Pause a recurring invoice.
preview_templatePreview Template
Render a template (template key, or unsaved html/css) with sample data at 1 to 200 lines; returns HTML.
record_paymentRecord Payment
Record money received for an invoice (partial allowed). Overpayment becomes customer credit. LotsInvoice does not move money.
resend_email_confirmationResend Email Confirmation
Send the business email confirmation link again. Sending documents needs a confirmed email.
restore_businessRestore Business
Restore an archived business (needs plan room or credits).
resume_recurringResume Recurring
Resume a recurring invoice.
revise_documentRevise 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_linkRotate Portal Link
Revoke every earlier portal link for this customer and make a new one.
send_documentSend 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_reminderSend Reminder
Email a payment reminder now for a sent, unpaid invoice.
set_next_numberSet Next Number
Set the next document number (only forward), e.g. to continue from another tool.
set_payment_optionsSet 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_themeSet 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_businessUpdate Business
Update business details. Changing the email sends a confirmation link.
update_customerUpdate Customer
Update a customer. Documents already sent keep the details they were sent with.
update_declarationUpdate Declaration
Update or archive a declaration.
update_documentUpdate Document
Edit a draft (any document field; lines replaces all lines). Sent documents: use revise_document.
update_itemUpdate Item
Update or archive (archived: true) an item.
update_memberUpdate Member
Change a member's role or remove them (remove: true). Owner only.
update_recurringUpdate Recurring
Change a recurring invoice (name, mode, end_date, max_count, next_date, template).
update_settingsUpdate 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_taxUpdate Tax
Rename, change components, or archive (archived: true). Sent documents keep their taxes.
update_templateUpdate Template
Update (re-checked) or archive a custom template. Sent documents keep their version.
upload_imageUpload 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_documentVoid Document
Void a sent invoice or credit note (keeps its number). Not when payments or credits are recorded.