Server data from the Official MCP Registry
Vietnam MISA meInvoice: AI agents create, publish and query e-invoices, stateless BYO.
Vietnam MISA meInvoice: AI agents create, publish and query e-invoices, stateless BYO.
Remote endpoints: streamable-http: https://inv-vn.wishpool.app/mcp
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
3 tools verified · Open access · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"app-wishpool-vietnam-invoice-mcp": {
"url": "https://inv-vn.wishpool.app/mcp"
}
}
}From the project's GitHub README.
A remote MCP server that lets any AI agent create, publish and query Vietnamese e-invoices (hóa đơn điện tử) through MISA meInvoice, a Tax-Department-connected e-invoicing provider. Electronic invoices have been mandatory nationwide since 1 July 2022 (connected to the General Department of Taxation / Tổng cục Thuế).
https://inv-vn.wishpool.app/mcpVietnamese e-invoices are signed with the merchant's own digital signature (chữ ký số) on a USB Token (or HSM), applied by the MISA local signing service. This server never signs and never holds a certificate/USB Token. It is a thin, stateless translation layer that:
create_invoice — builds the invoice, computes the VAT (thuế GTGT) in VND locally, and POSTs to MISA's createinvoice endpoint. MISA returns an unsigned invoice XML (invoice_data) + a transaction_id.invoice_data merchant-side with your USB Token (MISA local signing service) — this step never touches this server.publish_invoice — forwards the signed XML to MISA's invoicepublishing endpoint; MISA issues the official inv_no / inv_code.query_invoice — read-only tax-authority + publish status.This mirrors the "we only wrap the submission" honesty of the sister servers (Saudi ZATCA, Malaysia MyInvois): the cryptographic signing never leaves the merchant.
{
"mcpServers": {
"vietnam-invoice": {
"type": "http",
"url": "https://inv-vn.wishpool.app/mcp",
"headers": {
"x-meinvoice-token": "your-misa-meinvoice-token",
"x-meinvoice-taxcode": "your-company-tax-code",
"x-meinvoice-env": "prod"
}
}
}
}
| Header | Required | Notes |
|---|---|---|
x-meinvoice-token | ✅ | MISA meInvoice access token → forwarded as Authorization: Bearer |
x-meinvoice-taxcode | ✅ | Company tax code / MST → forwarded as the CompanyTaxCode header |
x-meinvoice-env | optional | test (default, sandbox testapi.meinvoice.vn, no fiscal effect) · prod (api.meinvoice.vn, real fiscal effect) |
Owner policy guardrails (set by the human owner in the client config; the agent cannot relax them): x-agentpay-max-amount, x-agentpay-approval-above, x-agentpay-allowed-tools. The cap applies to the invoice grand total (TotalAmount, VND) computed at create time.
create_invoice (step 1)Build + compute VAT, POST createinvoice. Input: seller{legalName,taxCode,address,…}, buyer{legalName|fullName,taxCode?,address,email?}, lines:[{name,unit?,quantity,unitPrice,taxRate?}], invSeries, optional refId/invDate/currencyCode/withCode. Output: transaction_id, ref_id, invoice_data (unsigned XML — sign it merchant-side), inv_no.
10 standard · 8 temporary reduced · 5 essentials · 0 exports. You choose the rate per line (tax classification is the merchant's decision).publish_invoice (step 3)Forward the merchant-signed XML, POST invoicepublishing. Input: transactionId, refId?, invoiceData (the signed XML), isSendEmail?, receiverEmail?, withCode?. Output: inv_no, inv_code, inv_series. Common errors surfaced verbatim: SignatureEmpty, InvalidSignature, InvoiceNumberNotContinuous, InvoiceDuplicated.
query_invoice (read-only)POST invoicepublished/invoicestatus. Input: transactionIds:[…] (or single transactionId), withCode?. Output per invoice: publish_status, send_tax_status + label.
send_tax_status (không mã / no code): 0 not sent · 1 sent · 2 accepted · 3 rejected · 4 send error.
send_tax_status (có mã / with code): 0 awaiting code · 1 send error · 2 code issued · 3 code rejected.
MISA v3 splits by invoice type: no-code (không mã) = /itg/…, with-code (có mã) = /code/itg/…. Set withCode per invoice (default false). Base: https://{testapi|api}.meinvoice.vn/api/v3.
npm run dev # local server on http://localhost:3240
npm test # e2e: protocol + validation + VAT math + LIVE MISA InvalidTokenCode probe
The e2e suite makes a real call to testapi.meinvoice.vn with a fake token and asserts MISA's native InvalidTokenCode fingerprint — proof the integration line is wired correctly (we never sign, so a real published invoice needs a real merchant token + USB Token).
api.meinvoice.vn/api/v3 is taken from MISA's official developer intro (doc.meinvoice.vn/api/); only the test host testapi.meinvoice.vn/api/v3 is live-verified here.InvoicePublishing and GetStatusInvoice docs.Invoices: Malaysia MyInvois · Saudi ZATCA · Mexico CFDI · Poland KSeF · Chile DTE · Brazil NF-e · Peru CPE · India GST. Local payments in 81 countries: mcp.wishpool.app · Logistics: logi.wishpool.app.
MIT © 2026 WishPool
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally