LuckPanda Document Tools
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Create invoices, quotes, receipts and credit notes with GST or VAT, as prefilled links or PDFs.
| Author | app.luckpanda |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2376 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"LuckPanda Document Tools": {
"url": "https://luckpanda.app/mcp/public",
"transport": "streamable-http"
}
}
}
Measured tools (9)
list_toolsread-onlyLists the document pages on luckpanda.app (generators for invoices, quotes, proforma invoices, receipts and credit notes, plus country and trade templates) and its calculator pages, each with its URL. Optional filters: document_type, country, query. Read-only.
Parameters:
query— string — Words to look for in a page's name or summary, e.g. "freelance" or "GST".country— string — ISO alpha-2: pages for this country plus the ones for any country.document_type— string — The kind of document.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_document_rulesread-onlyReturns what to collect before creating a document of a given type and country: required, recommended and optional fields, the tax ID and tax names, the country's invoicing rules (for example India GST rule 46, UK VAT invoice contents), the CGST/SGST versus IGST split and state codes for India, and credit-note reasons. Read-only.
Parameters:
document_type(required) — string — The kind of document.country(required) — string — ISO alpha-2 of the seller, e.g. IN, US, GB, DE.
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_document_linkValidates a document (invoice, quote, proforma invoice, receipt or credit note) and returns editor_url, a short link that opens it prefilled in the LuckPanda editor, where the person can review, edit and download the PDF. Also returns the totals with tax worked out, the required fields still missing and any parts left out as invalid. Side effect: the document is stored on LuckPanda's servers for 7 days under a random link id (not listed or indexed), and every call creates a new link. Nothing is issued, numbered or sent. Use details the person gave; do not invent them.
Parameters:
doc(required) — object — A document to prefill. Parts that fail validation are left out and listed in `ignored`; nothing is ever rendered as HTML.page— string — The page to open: a slug ("credit-note", "gst-invoice-format") or its URL. Default: the generator for the document type and country.
Hints: read-only no · destructive no · idempotent no · open-world no
create_document_pdfGenerates a PDF of a document (invoice, quote, proforma invoice, receipt or credit note) and returns it base64-encoded in structuredContent.pdf_base64, with its verification URL and an editor_url that opens the same document in the editor. PDFs from this tool include a LuckPanda footer and a verification QR code. Side effects: stores a verification record for the PDF (issuer name, document type, date, currency and total; no client details) and a 7-day copy of the document behind editor_url. Limit: about 40 PDFs an hour per network.
Parameters:
doc(required) — object — A document to prefill. Parts that fail validation are left out and listed in `ignored`; nothing is ever rendered as HTML.page— string — The page to open: a slug ("credit-note", "gst-invoice-format") or its URL. Default: the generator for the document type and country.
Hints: read-only no · destructive no · idempotent no · open-world no
calculate_gstread-onlyGST on an amount in rupees: add GST to an amount before tax, or take it out of an amount that includes it; CGST + SGST for a supply within one state, IGST across states. Read-only arithmetic.
Parameters:
amount(required) — ['number', 'string'] — Amount in rupees, e.g. 10000.mode— string — add: the amount is before GST (default). remove: the amount includes GST.rate— ['number', 'string'] — GST rate in percent; default 18.supply— string — intra: within one state, CGST + SGST (default). inter: another state or an export, IGST.
Hints: read-only yes · destructive no · idempotent yes · open-world no
calculate_vatread-onlyVAT on an amount: add it to a net amount or take it out of a gross one. UK by default; EU countries and the UAE by country (standard rate if no rate is given). Read-only arithmetic.
Parameters:
amount(required) — ['number', 'string'] — Amount in the country's currency, e.g. 1000.mode— string — add: the amount is net (default). remove: the amount includes VAT.rate— ['number', 'string'] — VAT rate in percent; default the country's standard rate.country— string — GB (default), DE, FR, NL, IE, ES, IT, BE, AT, PT, FI or AE.
Hints: read-only yes · destructive no · idempotent yes · open-world no
calculate_emiread-onlyMonthly EMI on a reducing-balance loan, total interest, total payment and the year-by-year schedule. Read-only arithmetic.
Parameters:
principal(required) — ['number', 'string'] — Loan amount.annual_rate(required) — ['number', 'string'] — Yearly interest in percent, e.g. 9.5.years— ['number', 'string'] — Loan term in years (up to 50). Used when months is not given.months— ['number', 'string'] — Loan term in months (1 to 600). Give months or years.currency— string — ISO 4217 code; default INR.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_gstinread-onlyChecks that an Indian GSTIN is well formed (15 characters, state code, PAN, check character) and decodes the state and PAN. It makes no lookup and does not confirm that the registration exists or is active. Read-only.
Parameters:
gstin(required) — string — The 15-character GSTIN, e.g. 27AAPFU0939F1ZV.
Hints: read-only yes · destructive no · idempotent yes · open-world no
find_hsn_coderead-onlySearches HSN codes (goods) and SAC codes (services) by product or service words or by code digits, with the official description, the chapter and heading it sits under, and the GST rate where it has been checked against the rate notification (otherwise rate_percent is null: check the notification). Returns the dataset scope with every answer. India only.
Parameters:
query(required) — string — Words (e.g. "laptop", "legal services") or 2 to 8 digits of a code.type— string — Goods (hsn), services (sac) or both (default).limit— ['number', 'string'] — At most 25; default 10.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.