mcp-einvoicing-in
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-einvoicing-inCreate a GST e-invoice JSON for a supply of services."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-einvoicing-in ๐ฎ๐ณ
A Python MCP server providing tools for Indian GST e-invoicing, per GSTN's FORM GST INV-01 schema v1.1 (CGST Act 2017 s.31 + CGST Rule 48(4), Notification No. 68/2019-Central Tax). It enables AI agents (Claude, IDEs) to build and structurally validate GST e-invoice JSON payloads (INV, CRN, DBN document types) and render an IRP-returned signed QR string as a displayable image.
Phase A scope. This package covers offline payload building, structural validation, and GSTIN tax-identifier validation only. It does not submit to the Invoice Registration Portal (IRP) โ live submission (auth/token, generate-IRN, cancel-IRN) is a later phase, blocked on the NIC e-invoice API specification not yet being available to this project (see "Spec availability" below). See Available tools for exactly what is implemented today.
Introduction
This package is built on mcp-einvoicing-core,
the shared base library for e-invoicing MCP servers. It provides the InvoiceDocument model base
and the TaxIdentifier.validate_in_gstin GSTIN validator.
mcp-einvoicing-core is installed automatically as a dependency, no additional step is required.
GST e-invoicing is a clearance-model system: an invoice becomes legally valid only once the IRP (Invoice Registration Portal, operated by NIC) validates the supplier's JSON payload and returns an Invoice Reference Number (IRN), acknowledgement number/date, and a signed QR code (CGST Rule 48(4)/(5)). This package builds and structurally validates the request payload a supplier would submit; it does not itself submit to the IRP (see "Phase A scope" above).
Related MCP server: india-invoice-mcp
Installation
Via PyPI (recommended)
pip install mcp-einvoicing-inOr without prior installation using uvx:
uvx mcp-einvoicing-inFrom source
git clone https://github.com/cmendezs/mcp-einvoicing-in.git
cd mcp-einvoicing-in
pip install -e ".[dev]"Configuration
This package requires no environment variables for its current (Phase A) scope โ it performs no network calls. Live IRP submission, once implemented, will require IRP/GSP credentials; this section will be updated at that time.
Claude Desktop integration
Add to your Claude Desktop configuration file (claude_desktop_config.json):
{
"mcpServers": {
"einvoicing-in": {
"command": "uvx",
"args": ["mcp-einvoicing-in"]
}
}
}Cursor integration
Add the same mcpServers block to either:
Global:
~/.cursor/mcp.jsonProject-specific:
.cursor/mcp.jsonin your project root
{
"mcpServers": {
"einvoicing-in": {
"command": "uvx",
"args": ["mcp-einvoicing-in"]
}
}
}Reload Cursor (or run "Reload Window" from the command palette) after saving.
Kiro integration
Add to either:
Global:
~/.kiro/settings/mcp.jsonWorkspace:
.kiro/settings/mcp.json
{
"mcpServers": {
"einvoicing-in": {
"command": "uvx",
"args": ["mcp-einvoicing-in"],
"disabled": false,
"autoApprove": []
}
}
}Kiro reloads MCP configuration automatically on save. If a future version of this package
requires credentials, prefer "VAR_NAME": "${VAR_NAME}" shell-interpolation syntax over
plaintext secrets in this file.
Available tools
Scope
in__get_supported_scopeโ returns the document types, supply types, and explicit out-of-scope items this package currently supports.
Build and validate
in__build_invoiceโ validates structured input againstINInvoiceand builds a GST e-invoice JSON payload (INV/CRN/DBN). Never emitsIRNโ that field is IRP-generated, never supplier-populated.in__validate_invoiceโ offline structural/business-rule validation: mandatory fields, enum membership, CGST+SGST-vs-IGST pairing (item and document-total level), and GSTIN/state-code consistency. There is no XSD/Schematron pass โ FORM GST INV-01 is JSON, not XML.
QR
in__render_irp_qr_pngโ renders an IRP-returned signed QR string as a displayable PNG. Does not decode or interpret the QR's content โ the NIC e-invoice API spec that would document that content is not yet available to this project (see "Spec availability" below).
Spec availability
Retrieving current, exact NIC/GSTN technical specifications from outside India is unreliable: the GSTN enforces strict geographic firewalls that routinely block or rate-limit non-Indian IP addresses. This package was built entirely from specification documents supplied directly by the maintainer (FORM GST INV-01 schema v1.1; CGST Notifications 68/2019-CT and 72/2020-CT; and Notification No. 10/2023-CT, confirming the current AATO mandate threshold) โ no document was fetched from the internet by an automated agent. As a direct consequence:
Not yet available to this project: comprehensive list in
specs/README.md's "Pending specs" table.Live IRP submission tools cannot be built responsibly without the NIC e-invoice API spec โ see "Phase A scope".
If you are based in India and can supply any of the documents listed there, please open an issue
using the Spec Update issue template.
The template captures the document name, official source URL, version, and retrieval date; a
follow-up pull request then adds the file under specs/ together with a sources-table entry and
a provenance/redistribution affirmation. See CONTRIBUTING.md for the full
two-step flow.
Architecture
INInvoice subclasses InvoiceDocument (mcp_einvoicing_core.models) โ FORM GST INV-01 has no
EN 16931/UBL/CII lineage (it is a flat JSON clearance-model schema), so this package follows the
InvoiceDocument pathway, the same one used by mcp-cfdi-mx (CFDI) and mcp-nfe-br (NF-e).
INInvoiceLine subclasses InvoiceLineItem to add the schema's GST/HSN/cess fields, which have
no equivalent in the base line-item model. GSTIN fields are validated via
TaxIdentifier.validate_in_gstin, called from INInvoice's own model validators โ this package
never reimplements identifier-validation logic locally. There is no Schematron/XSD validator
layer (validators/structural.py implements plain-Python business-rule checks instead), since
the wire format is JSON, not XML.
Vendor neutrality
This server implements the standard itself: it builds and validates the document locally. It is not a client for a commercial invoicing platform, and your credentials never leave your own infrastructure.
A GSP (GST Suvidha Provider) would be required to reach the IRP; this package builds and structurally validates the payload locally, and live IRP submission itself is not yet implemented, pending the NIC API spec (see "Spec availability" above).
Contributing
See CONTRIBUTING.md for development setup, the PR checklist, and commit style.
Other e-invoicing MCP servers
Country | Server |
๐ Global | |
๐ง๐ช Belgium | |
๐ง๐ท Brazil | |
๐ซ๐ท France | |
๐ฉ๐ช Germany | |
๐ฎ๐ณ India | |
๐ฎ๐น Italy | |
๐ฒ๐ฝ Mexico | |
๐ต๐ฑ Poland | |
๐ธ๐ฌ Singapore | |
๐ช๐ธ Spain | |
๐ฆ๐ช United Arab Emirates |
License
This project is licensed under the Apache 2.0 license โ see LICENSE for details. For the full version history, see CHANGELOG.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
India GST e-invoicing for AI agents - generate, query, cancel IRNs at the IRP via a GSP. Stateless.
Validate, extract, repair and generate French Factur-X / EN16931 invoices via AgentForge API
Generate QR codes for URLs, PIX, Wi-Fi, vCards, WhatsApp and more. For AI agents.
Ecuador factura electronica for AI agents - issue and query SRI e-invoices via Datil. Stateless BYO.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceInvoiceXML brings e-invoice compliance to your AI agent. Create, validate, convert, render, and extract structured invoices across UBL (Peppol BIS Billing 3.0, used worldwide), CII, Factur-X, ZUGFeRD, and XRechnung, all checked against the EN 16931 standard and official Schematron rules. Ask your assistant to generate a compliant invoice, validate one for errors, or convert between formats, with n5MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to generate India GST e-invoices (IRN) via Sandbox GSP, computing tax splits automatically.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to issue Greek myDATA electronic invoices (ฯฮนฮผฮฟฮปฯฮณฮนฮฟ) to the AADE platform, returning the official MARK. Supports creating and querying invoices with automatic VAT handling.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to issue Nigeria e-invoices by validating, signing, and confirming invoices through FIRS/NRS MBS, returning IRN, CSID, and QR code.MIT