Skip to main content
Glama
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:

[![Deploy with Vercel](https://vercel.com/button)](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.

Maintenance

ActivityMaintained
ResponsivenessSyncing