india-invoice-mcp
README.md
# India Invoice MCP 🇮🇳 — How can my AI agent generate a GST e-invoice (IRN) in India?
<!-- install-cta -->
## Use it in 60 seconds
Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):
```json
{
"mcpServers": {
"india-invoice": {
"type": "http",
"url": "https://inv-in.wishpool.app/mcp"
}
}
}
```
Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored — see the [threat model](https://mcp.wishpool.app/trust).
### Or run it yourself
Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:
[](https://vercel.com/new/clone?repository-url=https://github.com/junter1989k-ai/india-invoice-mcp)
```bash
git clone https://github.com/junter1989k-ai/india-invoice-mcp && cd india-invoice-mcp && npx vercel --prod
```
MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.
---
Remote MCP server that lets any AI agent generate **India GST e-invoices** — registering an invoice with the **IRP** (Invoice Registration Portal, run by **GSTN**) to get an **IRN** (Invoice Reference Number) plus the signed QR code — through the [Sandbox.co.in](https://sandbox.co.in) GSP (GST Suvidha Provider). Stateless, bring-your-own credentials, never stores anything.
**Live endpoint:** `https://inv-in.wishpool.app/mcp` · Registry: `app.wishpool/india-invoice-mcp`
## Quick start
```json
{
"mcpServers": {
"india-invoice": {
"type": "http",
"url": "https://inv-in.wishpool.app/mcp",
"headers": {
"x-sandbox-api-key": "your-key",
"x-sandbox-api-secret": "your-secret"
}
}
}
}
```
Sign up at [sandbox.co.in](https://sandbox.co.in) for GSP credentials. Your GSTIN must have **GST e-Invoice API access enabled** on the e-Invoice portal and mapped to Sandbox as your GSP — otherwise the IRP rejects the stamp. e-Invoicing is **B2B only**: both seller and buyer need valid GSTINs.
## Tools
| Tool | What it does |
|---|---|
| `create_invoice` | Register a GST e-invoice at the IRP and get the `irn` (+ `AckNo`, `AckDt`, `SignedQRCode`). You send flat fields (GSTINs, names, addresses, line items with HSN + price + gst_rate); the server **auto-computes the INV-01 tax schema** — taxable value, CGST+SGST split for same-state supply vs IGST for cross-state, item + invoice totals. |
| `query_invoice` | Status check by IRN: `ACT` (active) or `CNL` (cancelled). |
| `cancel_invoice` | Cancel at the IRP with a reason code (`1`–`4`, default `4`) — **only within 24 hours** of generation; after that, issue a credit note. |
Owner policy guardrails ride optional headers (`x-agentpay-max-amount`, `x-agentpay-approval-above`, `x-agentpay-allowed-tools`) — set by the human owner in client config; the agent cannot relax them. The amount cap/threshold applies to the invoice total (INR).
## GST tax split (computed for you)
The place of supply (POS) state code is compared with the seller GSTIN's state code:
- **Same state** → intra-state supply → **CGST + SGST**, each at half the GST rate.
- **Different state** → inter-state supply → **IGST** at the full GST rate.
Example: seller in state `29`, buyer in state `29`, one line of ₹1000 × 2 @ 18% → AssVal ₹2000, CGST ₹180 + SGST ₹180, TotInvVal ₹2360. Same line to a buyer in state `27` → IGST ₹360, TotInvVal ₹2360.
## Develop
```bash
node test/serve.js # local server on :3230
node test/e2e.js # protocol + validation + GST math unit check + fake-key live probe
```
## Safety
Pure stateless translation layer. The IRP/GSTN certification burden sits with the Sandbox.co.in GSP; credentials travel per-request in headers, nothing is stored. [Privacy policy](https://inv-in.wishpool.app/privacy).
## Sister servers
Mexico CFDI 4.0 e-invoices are live: [inv-mx.wishpool.app](https://inv-mx.wishpool.app). Local payments in 81 countries, one family: [mcp.wishpool.app](https://mcp.wishpool.app) · Taiwan e-invoice 電子發票 included. More invoice countries coming: Brazil NF-e · Chile DTE · Peru CPE · Poland KSeF · Romania e-Factura · Italy SdI.
MIT licensed.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing