# Nigeria Invoice MCP > A remote MCP server that lets any AI agent issue Nigeria e-invoices — validating, signing and confirming invoices through FIRS / NRS MBS (the NRS Merchant Buyer Solution e-invoicing platform). FIRS signs server-side and returns the IRN (Invoice Reference Number), CSID (Cryptographic Stamp Identifier) and QR code. Stateless, bring-your-own credentials, never stores anything. - MCP endpoint (Streamable HTTP): https://inv-ng.wishpool.app/mcp - Credentials headers: x-firs-api-key AND x-firs-api-secret (generate them in your NRSMBS Dashboard -> API Integration; your business must be enabled for e-invoicing on the NRS Merchant Buyer Solution first). Optional x-firs-base-url points at a sandbox URL if your Dashboard issued one (defaults to production https://api.firsmbs.com/api/v1). - Signing model: server-side. You submit plain UBL-mapped JSON; FIRS validates, signs and stamps the IRN + QR. No client-side certificate (lighter than ZATCA). - IRN format: InvoiceNumber-ServiceID-YYYYMMDD (e.g. ITW20853450-6997D6BB-20240703). Pass irn directly or let the server build it from invoice_number + service_id + issue_date. - Flow: validate_invoice (pre-check, no fiscal effect) -> create_invoice (sign/submit, returns irn = IRN, csid, qr_code) -> query_invoice by irn to confirm transmission/delivery status. - Amounts in NGN. The server auto-computes VAT at Nigeria's 7.5% standard rate (override per line with vat_rate) into the UBL tax_total (tax_subtotal grouped by rate, tax_category id VAT) and legal_monetary_total (line_extension_amount, tax_exclusive_amount, tax_inclusive_amount, payable_amount). ## Tools - validate_invoice: Pre-validate an invoice at FIRS / NRS MBS (POST /invoice/validate) before signing — returns pass or the FIRS error list. Flat fields in (business_id, supplier/customer party_name + TIN, invoice_number, service_id, line items with price); UBL JSON + VAT computed by the server. - create_invoice: Sign and submit the invoice (POST /invoice/sign) — FIRS signs server-side and returns irn (IRN), csid (CSID) and qr_code. - query_invoice: Confirm a signed invoice by IRN (GET /invoice/confirm/{irn}) — transmission / delivery status. - Owner policy guardrails: x-agentpay-max-amount (hard cap on invoice total in NGN), x-agentpay-approval-above (returns an unsigned draft for human review), x-agentpay-allowed-tools (tool allow-list) — set by the human owner in the MCP client config; the agent cannot relax them. ## Safety Stateless translation layer. FIRS / NRS MBS carries the validation and signing; the merchant's e-invoicing enablement and API credentials stay in the merchant's own NRSMBS account. This server never stores credentials, invoices, or customer data. Privacy policy: https://inv-ng.wishpool.app/privacy ## Sister servers Same stateless BYO pattern. Mexico CFDI 4.0 e-invoices are live: https://inv-mx.wishpool.app/mcp. India GST e-invoices (IRN via the IRP): https://inv-in.wishpool.app/mcp. Local payments in 81 countries — full list: https://mcp.wishpool.app/llms.txt (Taiwan e-invoice 電子發票 lives in https://mcp.wishpool.app/mcp). More invoice countries coming: Brazil NF-e, Chile DTE, Peru CPE, Poland KSeF, Romania e-Factura, Italy SdI.