GST tax invoices for India
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants a GST invoice in the GST invoice format (a GST bill format or tax invoice for India) as a PDF and Excel file. Convert what the user pastes, or an uploaded photo or image of a bill or order, into the fields: seller {name, gstin, address, state}, buyer {name, gstin, address, state} and items [{description, hsn, qty, unit, rate, discount, gst_rate}]; details is only a fallback for text you cannot split. Decides CGST + SGST (or UTGST) or IGST from the place of supply, reads state codes from GSTINs, flags an invalid GSTIN without refusing, adds the HSN-wise summary, rounds the total to the nearest rupee and writes amounts in words (lakh, crore). Does not make an e-invoice (IRN, QR) or e-way bill, does not pick GST rates, and does not compute cess. Do not use for export invoices, invoices outside India or invoices without GST.
true when the buyer is an SEZ unit or developer: IGST applies even in the same state. Default false.
Optional bank details to print: {account_name, bank_name, account_number, ifsc, branch, upi}.
The buyer: {name, gstin (if registered), address, state}. The buyer's state decides CGST + SGST or IGST unless place_of_supply is given.
Line items as objects: [{"description":"Steel rod 12mm","hsn":"7214","qty":10,"unit":"kg","rate":520,"gst_rate":18}]. Text lines like "Steel rod, HSN 7214, 10 kg @ 520, 18%" are a fallback.
Optional terms or notes to print, e.g. "Payment within 30 days. Goods once sold will not be taken back."
1 (default, original), 2 (original + duplicate) or 3 (original, duplicate for transporter, triplicate for supplier).
The seller issuing the invoice: {name, gstin, address, state, phone, email}.
Fallback only: the invoice details pasted as text when they cannot be split into the fields above.
Optional delivery address when it differs from the buyer's, e.g. {"name":"Mehta Stores Warehouse","address":"Plot 7, GIDC, Vapi","state":"Gujarat"}.
Optional due date, e.g. "2026-11-27", or terms such as "net 30", "30 days" or "on receipt".
"A4" (default) or "Letter".
Invoice date, e.g. "2026-10-28" or "28/10/2026" (day first). Default: today in India.
Invoice number, up to 16 letters, digits, - or /, e.g. "INV/2026-27/045".
true when tax is payable on reverse charge. Default false.
Optional place of supply (state name or code), e.g. "Karnataka" or "29". Default: the ship-to state, else the buyer's state, else the seller's state.
true when the rates already include GST (the taxable value is worked out from them). Default false.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http gst-invoice https://gst-invoice.zovo.one/mcp
Use this when the user wants a GST invoice in the GST invoice format (a GST bill format or tax invoice for India) as a PDF and Excel file. Convert what the user pastes, or an uploaded photo or image of a bill or order, into the fields: seller {name, gstin, address, state}, buyer {name, gstin, address, state} and items [{description, hsn, qty, unit, rate, discount, gst_rate}]; details is only a fallback for text you cannot split. Decides CGST + SGST (or UTGST) or IGST from the place of supply, reads state codes from GSTINs, flags an invalid GSTIN without refusing, adds the HSN-wise summary, rounds the total to the nearest rupee and writes amounts in words (lakh, crore). Does not make an e-invoice (IRN, QR) or e-way bill, does not pick GST rates, and does not compute cess. Do not use for export invoices, invoices outside India or invoices without GST.
| Argument | Type | Description |
|---|---|---|
| sez | boolean | string | null | true when the buyer is an SEZ unit or developer: IGST applies even in the same state. Default false. |
| bank | any | Optional bank details to print: {account_name, bank_name, account_number, ifsc, branch, upi}. |
| buyer | any | The buyer: {name, gstin (if registered), address, state}. The buyer's state decides CGST + SGST or IGST unless place_of_supply is given. |
| items | any | Line items as objects: [{"description":"Steel rod 12mm","hsn":"7214","qty":10,"unit":"kg","rate":520,"gst_rate":18}]. Text lines like "Steel rod, HSN 7214, 10 kg @ 520, 18%" are a fallback. |
| terms | string | null | Optional terms or notes to print, e.g. "Payment within 30 days. Goods once sold will not be taken back." |
| copies | number | string | null | 1 (default, original), 2 (original + duplicate) or 3 (original, duplicate for transporter, triplicate for supplier). |
| seller | any | The seller issuing the invoice: {name, gstin, address, state, phone, email}. |
| details | string | null | Fallback only: the invoice details pasted as text when they cannot be split into the fields above. |
| ship_to | any | Optional delivery address when it differs from the buyer's, e.g. {"name":"Mehta Stores Warehouse","address":"Plot 7, GIDC, Vapi","state":"Gujarat"}. |
| due_date | string | null | Optional due date, e.g. "2026-11-27", or terms such as "net 30", "30 days" or "on receipt". |
| page_size | string | null | "A4" (default) or "Letter". |
| invoice_date | string | null | Invoice date, e.g. "2026-10-28" or "28/10/2026" (day first). Default: today in India. |
| invoice_number | string | number | null | Invoice number, up to 16 letters, digits, - or /, e.g. "INV/2026-27/045". |
| reverse_charge | boolean | string | null | true when tax is payable on reverse charge. Default false. |
| place_of_supply | string | number | null | Optional place of supply (state name or code), e.g. "Karnataka" or "29". Default: the ship-to state, else the buyer's state, else the seller's state. |
| prices_include_gst | boolean | string | null | true when the rates already include GST (the taxable value is worked out from them). Default false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sez": {
"type": [
"boolean",
"string",
"null"
],
"description": "true when the buyer is an SEZ unit or developer: IGST applies even in the same state. Default false."
},
"bank": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {},
"additionalProperties": {}
}
]
},
{
"type": "null"
}
],
"description": "Optional bank details to print: {account_name, bank_name, account_number, ifsc, branch, upi}."
},
"buyer": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "Buyer (recipient) legal or trade name, e.g. \"Mehta Stores\"."
},
"email": {
"type": [
"string",
"null"
],
"description": "Optional email, e.g. \"[email protected]\"."
},
"gstin": {
"type": [
"string",
"null"
],
"description": "15-character GSTIN, e.g. \"27AAPFU0939F1ZV\". Its first 2 digits are the state code. Leave empty for an unregistered buyer."
},
"phone": {
"type": [
"string",
"null"
],
"description": "Optional phone, e.g. \"+91 98200 12345\"."
},
"state": {
"type": [
"string",
"number",
"null"
],
"description": "State or union territory name or 2-digit GST code, e.g. \"Maharashtra\" or \"27\". Read from the GSTIN when one is given."
},
"address": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "Full address with city and PIN code, e.g. \"12 MG Road, Pune 411001\"."
}
},
"additionalProperties": {}
}
]
},
{
"type": "null"
}
],
"description": "The buyer: {name, gstin (if registered), address, state}. The buyer's state decides CGST + SGST or IGST unless place_of_supply is given."
},
"items": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"hsn": {
"type": [
"string",
"number",
"null"
],
"description": "HSN code for goods or SAC code for services, 4, 6 or 8 digits, e.g. \"7214\" or \"998314\"."
},
"qty": {
"type": [
"number",
"string",
"null"
],
"description": "Quantity, e.g. 10 or \"2.5\". Default 1."
},
"rate": {
"type": [
"number",
"string",
"null"
],
"description": "Price per unit in rupees BEFORE GST (unless prices_include_gst is true), e.g. 520 or \"1,250.50\"."
},
"unit": {
"type": [
"string",
"null"
],
"description": "Unit, e.g. \"kg\", \"nos\", \"pcs\", \"hrs\"."
},
"discount": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "object",
"properties": {},
"additionalProperties": {}
}
]
},
{
"type": "null"
}
],
"description": "Optional line discount: an amount in rupees (e.g. 200) or a percent (e.g. \"10%\")."
},
"gst_rate": {
"type": [
"number",
"string",
"null"
],
"description": "Total GST rate in percent, one of 0, 0.1, 0.25, 1, 1.5, 3, 5, 6, 7.5, 12, 18, 28, 40, e.g. 18 (this is CGST 9% + SGST 9%, or IGST 18%)."
},
"description": {
"type": [
"string",
"null"
],
"description": "Goods or service, e.g. \"Steel rod 12mm\" or \"Website design\"."
}
},
"additionalProperties": {}
}
]
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "Line items as objects: [{\"description\":\"Steel rod 12mm\",\"hsn\":\"7214\",\"qty\":10,\"unit\":\"kg\",\"rate\":520,\"gst_rate\":18}]. Text lines like \"Steel rod, HSN 7214, 10 kg @ 520, 18%\" are a fallback."
},
"terms": {
"type": [
"string",
"null"
],
"description": "Optional terms or notes to print, e.g. \"Payment within 30 days. Goods once sold will not be taken back.\""
},
"copies": {
"type": [
"number",
"string",
"null"
],
"description": "1 (default, original), 2 (original + duplicate) or 3 (original, duplicate for transporter, triplicate for supplier)."
},
"seller": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "Seller (supplier) legal or trade name, e.g. \"Sharma Traders\"."
},
"email": {
"type": [
"string",
"null"
],
"description": "Optional email, e.g. \"[email protected]\"."
},
"gstin": {
"type": [
"string",
"null"
],
"description": "15-character GSTIN, e.g. \"27AAPFU0939F1ZV\". Its first 2 digits are the state code. Leave empty for an unregistered buyer."
},
"phone": {
"type": [
"string",
"null"
],
"description": "Optional phone, e.g. \"+91 98200 12345\"."
},
"state": {
"type": [
"string",
"number",
"null"
],
"description": "State or union territory name or 2-digit GST code, e.g. \"Maharashtra\" or \"27\". Read from the GSTIN when one is given."
},
"address": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "Full address with city and PIN code, e.g. \"12 MG Road, Pune 411001\"."
}
},
"additionalProperties": {}
}
]
},
{
"type": "null"
}
],
"description": "The seller issuing the invoice: {name, gstin, address, state, phone, email}."
},
"details": {
"type": [
"string",
"null"
],
"description": "Fallback only: the invoice details pasted as text when they cannot be split into the fields above."
},
"ship_to": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"number",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Optional delivery address when it differs from the buyer's, e.g. {\"name\":\"Mehta Stores Warehouse\",\"address\":\"Plot 7, GIDC, Vapi\",\"state\":\"Gujarat\"}."
},
"due_date": {
"type": [
"string",
"null"
],
"description": "Optional due date, e.g. \"2026-11-27\", or terms such as \"net 30\", \"30 days\" or \"on receipt\"."
},
"page_size": {
"type": [
"string",
"null"
],
"description": "\"A4\" (default) or \"Letter\"."
},
"invoice_date": {
"type": [
"string",
"null"
],
"description": "Invoice date, e.g. \"2026-10-28\" or \"28/10/2026\" (day first). Default: today in India."
},
"invoice_number": {
"type": [
"string",
"number",
"null"
],
"description": "Invoice number, up to 16 letters, digits, - or /, e.g. \"INV/2026-27/045\"."
},
"reverse_charge": {
"type": [
"boolean",
"string",
"null"
],
"description": "true when tax is payable on reverse charge. Default false."
},
"place_of_supply": {
"type": [
"string",
"number",
"null"
],
"description": "Optional place of supply (state name or code), e.g. \"Karnataka\" or \"29\". Default: the ship-to state, else the buyer's state, else the seller's state."
},
"prices_include_gst": {
"type": [
"boolean",
"string",
"null"
],
"description": "true when the rates already include GST (the taxable value is worked out from them). Default false."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.