vietnam-invoice-mcp
Let AI agents issue Vietnam e-invoices (hoa don dien tu) — create via your own MISA meInvoice account, sign merchant-side with your USB token, publish and…
Что умеет
- Create Invoice: STEP 1 of the MISA meInvoice flow: create a Vietnamese e-invoice (hóa đơn điện tử) draft on MISA — the POST /itg/invoicepublishing/createinvoice call. You supply seller, buyer and line
- Publish Invoice: STEP 3 of the MISA meInvoice flow: publish an ALREADY-SIGNED e-invoice — the POST /itg/invoicepublishing call. After create_invoice returns invoice_data (unsigned XML) and you sign it
- Query Invoice: Look up the status of one or more published e-invoices — the POST /itg/invoicepublished/invoicestatus call (read-only). Pass the transaction_id(s) returned by create_invoice/publish_inv
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Let AI agents issue Vietnam e-invoices (hoa don dien tu) — create via your own MISA meInvoice account, sign merchant-side with your USB token, publish and query. Stateless remote MCP server: bring your own credentials, VAT 10/8/5/0% computed locally, never stores data.
Как подключить
Как подключить vietnam-invoice-mcp к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://vietnam-invoice-mcp--wishpool.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить vietnam-invoice-mcp к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://vietnam-invoice-mcp--wishpool.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить vietnam-invoice-mcp к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://vietnam-invoice-mcp--wishpool.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (3)
Технические названия из tools/list. Нужны только разработчикам.
| create_invoice | STEP 1 of the MISA meInvoice flow: create a Vietnamese e-invoice (hóa đơn điện tử) draft on MISA — the POST /itg/invoicepublishing/createinvoice call. You supply seller, buyer and line items; this server computes the Vietnamese VAT (thuế GTGT) math locally in VND (integer đồng — no decimals) and forwards the payload. MISA returns a transaction_id, ref_id and invoice_data (an UNSIGNED invoice XML). This server does NOT sign: you then sign invoice_data MERCHANT-SIDE with your own digital signature / USB Token (chữ ký số) using the MISA local signing service, and pass the signed XML to publish_invoice (STEP 3). VAT rates: 10 (standard), 8 (temporary reduced), 5 (essentials), 0 (exports). Set withCode=true if you issue invoices WITH a tax-authority code (hóa đơn có mã); default false (không mã). Result accepted=true when MISA created the draft with no per-document error (check error_code). Required credential headers (set once in your MCP client, per-request, never stored): x-meinvoice-token (your MISA meInvoice access token) + x-meinvoice-taxcode (your company tax code / MST, sent as CompanyTaxCode). Optional header x-meinvoice-env: test (default = sandbox testapi.meinvoice.vn, no fiscal effect) | prod (production api.meinvoice.vn, real fiscal effect). Optional owner-policy headers x-agentpay-max-amount / x-agentpay-approval-above / x-agentpay-allowed-tools. All amounts are in VND (đồng, whole numbers — no decimals). |
| publish_invoice | STEP 3 of the MISA meInvoice flow: publish an ALREADY-SIGNED e-invoice — the POST /itg/invoicepublishing call. After create_invoice returns invoice_data (unsigned XML) and you sign it MERCHANT-SIDE with your USB Token (chữ ký số) via the MISA local signing service, pass the signed XML back here with its transaction_id and ref_id. MISA submits it to the tax authority (Tổng cục Thuế) and returns the official inv_no (số hóa đơn), inv_code (mã cơ quan thuế, for coded invoices) and inv_series. This server does NOT sign — it only forwards the signed document. Set withCode to match how the invoice was created. Result accepted=true when MISA published with no per-document error (check error_code); common errors: SignatureEmpty, InvalidSignature, InvoiceNumberNotContinuous, InvoiceDuplicated. Required credential headers (set once in your MCP client, per-request, never stored): x-meinvoice-token (your MISA meInvoice access token) + x-meinvoice-taxcode (your company tax code / MST, sent as CompanyTaxCode). Optional header x-meinvoice-env: test (default = sandbox testapi.meinvoice.vn, no fiscal effect) | prod (production api.meinvoice.vn, real fiscal effect). Optional owner-policy headers x-agentpay-max-amount / x-agentpay-approval-above / x-agentpay-allowed-tools. All amounts are in VND (đồng, whole numbers — no decimals). |
| query_invoice | Look up the status of one or more published e-invoices — the POST /itg/invoicepublished/invoicestatus call (read-only). Pass the transaction_id(s) returned by create_invoice/publish_invoice. Result per invoice: publish_status (MISA SaveInvoiceStatus int — draft/published state), send_tax_status + send_tax_status_label = the tax-authority (cơ quan thuế) submission status. For invoices WITHOUT a code (không mã): 0=not sent, 1=sent, 2=accepted, 3=rejected, 4=send error. For invoices WITH a code (có mã, withCode=true): 0=awaiting code, 1=send error, 2=code issued, 3=code rejected. Also returns invoice_code, reference_type (0=original, 1=replacement, 2=adjustment), is_deleted and received_status (0=not received, 1=received). Set withCode to match the invoice type. Required credential headers (set once in your MCP client, per-request, never stored): x-meinvoice-token (your MISA meInvoice access token) + x-meinvoice-taxcode (your company tax code / MST, sent as CompanyTaxCode). Optional header x-meinvoice-env: test (default = sandbox testapi.meinvoice.vn, no fiscal effect) | prod (production api.meinvoice.vn, real fiscal effect). Optional owner-policy headers x-agentpay-max-amount / x-agentpay-approval-above / x-agentpay-allowed-tools. All amounts are in VND (đồng, whole numbers — no decimals). |