Koskamo

Zovo GST Invoice Maker MCP

Generates GST-compliant tax invoices for India in PDF and Excel formats. It calculates CGST/SGST or IGST based on place of supply, validates GSTINs, provides HSN/SAC summaries, and formats amounts in Indian currency words.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Zovo GST Invoice Maker MCP logo, by ZovoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-08Published by Zovo
MCP endpoint (Streamable HTTP)
https://gst-invoice.zovo.one/mcp
Vendor documentation

What its tools do

1 tool, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

1 of 1 have a description · 1 of 1 declare behavior hints · 1 of 1 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Generate GST tax invoices for domestic sales
  • Calculate CGST, SGST, or IGST based on state codes
  • Create HSN/SAC-wise tax summary tables
  • Format total amounts in Indian words (lakh/crore)

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
gst-invoice 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
1 advertised
Resources
1 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Zovo GST Invoice Maker makes an Indian GST tax invoice as a print-ready PDF and an Excel file from the seller, the buyer and the line items. It decides CGST + SGST (or UTGST) or IGST from the place of supply and the seller's state, reads state codes from GSTINs, checks the GSTIN format and check character, adds an HSN/SAC-wise tax summary, rounds the total to the nearest rupee as a separate line, and writes the total and the tax in words in the Indian system. It does not file returns, does not make an e-invoice (IRN or QR code) or e-way bill, does not decide an item's GST rate, and does not handle cess.

Tools

1 advertised

generate_gst_invoice — Generate GST invoice
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

generate_gst_invoice input schema
{
  "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. \"accounts@example.in\"."
                },
                "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. \"accounts@example.in\"."
                },
                "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."
    }
  }
}
generate_gst_invoice output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "invoice_number",
    "invoice_date",
    "due_date",
    "seller",
    "buyer",
    "place_of_supply",
    "supply",
    "tax_type",
    "reverse_charge",
    "prices_include_gst",
    "lines",
    "hsn_summary",
    "totals",
    "total_in_words",
    "tax_in_words",
    "warnings",
    "assumptions",
    "notes",
    "downloads"
  ],
  "properties": {
    "buyer": {
      "type": "object",
      "required": [
        "name",
        "gstin",
        "gstin_valid",
        "gstin_problem",
        "state",
        "state_code"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "gstin": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "state_code": {
          "type": [
            "string",
            "null"
          ]
        },
        "gstin_valid": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "gstin_problem": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "no",
          "description",
          "hsn",
          "qty",
          "unit",
          "rate",
          "discount",
          "taxable_value",
          "gst_rate",
          "cgst",
          "sgst",
          "igst",
          "amount"
        ],
        "properties": {
          "no": {
            "type": "number"
          },
          "hsn": {
            "type": "string"
          },
          "qty": {
            "type": "string"
          },
          "cgst": {
            "type": "string"
          },
          "igst": {
            "type": "string"
          },
          "rate": {
            "type": "string"
          },
          "sgst": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "discount": {
            "type": "string"
          },
          "gst_rate": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "taxable_value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "seller": {
      "type": "object",
      "required": [
        "name",
        "gstin",
        "gstin_valid",
        "gstin_problem",
        "state",
        "state_code"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "gstin": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "state_code": {
          "type": [
            "string",
            "null"
          ]
        },
        "gstin_valid": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "gstin_problem": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "supply": {
      "type": "string"
    },
    "totals": {
      "type": "object",
      "required": [
        "taxable_value",
        "cgst",
        "sgst",
        "igst",
        "total_tax",
        "round_off",
        "total",
        "total_formatted"
      ],
      "properties": {
        "cgst": {
          "type": "string"
        },
        "igst": {
          "type": "string"
        },
        "sgst": {
          "type": "string"
        },
        "total": {
          "type": "string"
        },
        "round_off": {
          "type": "string"
        },
        "total_tax": {
          "type": "string"
        },
        "taxable_value": {
          "type": "string"
        },
        "total_formatted": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "due_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "tax_type": {
      "type": "string"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "required": [
        "pdf",
        "xlsx"
      ],
      "properties": {
        "pdf": {
          "type": "string"
        },
        "xlsx": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "hsn_shown": {
      "type": "object",
      "required": [
        "shown",
        "total"
      ],
      "properties": {
        "shown": {
          "type": "number"
        },
        "total": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "hsn_summary": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "hsn",
          "gst_rate",
          "taxable_value",
          "cgst",
          "sgst",
          "igst",
          "total_tax"
        ],
        "properties": {
          "hsn": {
            "type": "string"
          },
          "cgst": {
            "type": "string"
          },
          "igst": {
            "type": "string"
          },
          "sgst": {
            "type": "string"
          },
          "gst_rate": {
            "type": "string"
          },
          "total_tax": {
            "type": "string"
          },
          "taxable_value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "lines_shown": {
      "type": "object",
      "required": [
        "shown",
        "total"
      ],
      "properties": {
        "shown": {
          "type": "number"
        },
        "total": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "invoice_date": {
      "type": "string"
    },
    "tax_in_words": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
    "reverse_charge": {
      "type": "boolean"
    },
    "total_in_words": {
      "type": "string"
    },
    "place_of_supply": {
      "type": "object",
      "required": [
        "state",
        "code",
        "from"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "from": {
          "type": "string"
        },
        "state": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "prices_include_gst": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
generate_gst_invoice annotations
{
  "title": "Generate GST invoice",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

gst-invoice-widget — Zovo GST Invoice Maker view

Advertised by the server during the last successful anonymous check.

Interactive view for Zovo GST Invoice Maker.

gst-invoice-widget URI
ui://widget/gst-invoice-v1-1.0.0-8679d06a5bb96ffeb68cca165542a7f501b93a5feca9fb266ef8cdf205198ac2.html

MIME type: text/html;profile=mcp-app

gst-invoice-widget-legacy — Zovo GST Invoice Maker view (previous versions)

Advertised by the server during the last successful anonymous check.

gst-invoice-widget-legacy URI template
ui://widget/gst-invoice-{version}.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1127 ms
95th percentile latency
1127 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1127 ms · metadata changed · 1 tool(s), 1 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zovo-gst-invoice-maker-mcp https://gst-invoice.zovo.one/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zovo-gst-invoice-maker-mcp --url https://gst-invoice.zovo.one/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zovo-gst-invoice-maker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zovo-gst-invoice-maker-mcp": {
      "url": "https://gst-invoice.zovo.one/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zovo-gst-invoice-maker-mcp": {
      "type": "streamableHttp",
      "url": "https://gst-invoice.zovo.one/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zovo-gst-invoice-maker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zovo-gst-invoice-maker-mcp": {
      "type": "http",
      "url": "https://gst-invoice.zovo.one/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zovo-gst-invoice-maker-mcp https://gst-invoice.zovo.one/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://gst-invoice.zovo.one/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zovo-gst-invoice-maker-mcp": {
      "serverUrl": "https://gst-invoice.zovo.one/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Zovo GST Invoice Maker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.