Zero MCP server (Zéró Számla)
Beállítás
Minden AI-asszisztensben ugyanaz a menet: adj hozzá egy egyéni (távoli) MCP-csatlakozót ezzel a címmel: https://mcp.zeroszamla.hu. Utána jelentkezz be a megnyíló Zero-oldalon; ez egyben a regisztráció is.
- Claude: egyéni csatlakozó a fenti címmel. Ellenőrzés alatt
- ChatGPT: egyéni csatlakozó (app) a fenti címmel. Ellenőrzés alatt
- Le Chat: egyéni MCP-csatlakozó a fenti címmel. Ellenőrzés alatt
- Grok: egyéni MCP-csatlakozó a fenti címmel. Ellenőrzés alatt
Néhány AI-asszisztensnél a csatlakozóhoz fizetős csomag kell. A részletes, angol nyelvű technikai leírás lent olvasható.
What Zero is
Zero is a Hungarian e-invoicing service that you operate entirely from your own AI assistant through a remote MCP server. Zero itself runs no AI: it provides the legally required, deterministic core (validation, gap-free numbering, NAV Online Számla submission, PDF seal, 8-year write-once archive, audit log) and exposes it as MCP tools.
Who it’s for
- Hungarian sole traders (egyéni vállalkozó) and small businesses that issue invoices and must report them to NAV (the Hungarian tax authority) through Online Számla.
- People who already use Claude, ChatGPT, Le Chat or Grok and want to invoice by asking their assistant instead of using a separate invoicing app.
- Accountants of those businesses (read access and exports via invitation).
Not a fit: issuers outside Hungary (Zero only serves Hungarian issuers, so NAV reporting applies to every invoice), or anyone who needs a classic point-and-click web dashboard.
Cost
- Free for businesses, as a written commitment. No subscription, no paywall, no ads, no data selling.
The commitment is backed by a data-export guarantee
(see
get_full_export: the full invoice archive as one ZIP, no count limit, no fee). - There are no paid tiers and no per-invoice fees for businesses.
Connect
| Item | Value |
|---|---|
| MCP server URL | https://mcp.zeroszamla.hu (root; https://mcp.zeroszamla.hu/mcp is an equivalent alias) |
| Transport | Streamable HTTP, stateless, JSON responses. POST only; GET/DELETE on /mcp return 405. No server-initiated SSE. |
| JSON-RPC batching | Not supported (removed from the MCP spec in 2025-06-18). Send one message per request. |
| Auth | OAuth 2.1, authorization code + PKCE (S256), public clients (token_endpoint_auth_method: none) |
| Discovery | Unauthenticated requests get 401 with WWW-Authenticate: Bearer resource_metadata="https://mcp.zeroszamla.hu/.well-known/oauth-protected-resource" (RFC 9728) |
| Authorization server metadata | https://api.zeroszamla.hu/.well-known/oauth-authorization-server (RFC 8414) |
| Dynamic Client Registration | Yes, RFC 7591: POST https://api.zeroszamla.hu/oauth/register (limited to 10 registrations per IP per hour) |
| Token lifetimes | Access token 1 hour; refresh token 30 days, rotated on use; every grant expires after 90 days at most, then the user re-authorizes |
| Sign-up | The OAuth consent page is also the sign-up and login. No separate account creation step. |
| Static API keys | None. OAuth is the only way in. |
Scopes (requested at consent): invoice:read, invoice:write, invoice:issue,
invoice:cancel, partner:read, partner:write, connection:read,
connection:write, stats:read, webhook:read, webhook:write,
accountant:manage, expense:read (inbound invoices from NAV),
expense:write (start the inbound sync), audit:read, system:ping.
Per-client setup
In every client the flow is the same: add a custom (remote) MCP connector with the server URL above, then sign in on the Zero consent page that opens.
- Claude: add a custom connector with
https://mcp.zeroszamla.hu. Ellenőrzés alatt - ChatGPT: add a custom connector / app with
https://mcp.zeroszamla.hu. Ellenőrzés alatt - Le Chat (Mistral): add a custom MCP connector with
https://mcp.zeroszamla.hu. Ellenőrzés alatt - Grok: add a custom MCP connector with
https://mcp.zeroszamla.hu. Ellenőrzés alatt
Zero does not rely on MCP resources or prompt templates, only on tools, so clients with tools-only MCP support work.
Capabilities
Tool names below are the ones tools/list returns. Every tool carries title,
readOnlyHint and destructiveHint annotations. Tools run only inside the signed-in
user’s own account (tenant isolation is enforced in the database).
Legend: RO = read-only. Destructive = destructiveHint: true.
Confirmation: 2-step = preview + prepare_token, then confirm=true;
confirm = requires confirm=true; - = none. Idem. = accepts idempotency_key.
Invoices
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
list_invoices |
List invoices, filter by status (draft, issued, failed, cancelled, queued) or free text |
yes | no | - | - |
get_invoice |
Get one invoice by ID | yes | no | - | - |
create_invoice_draft |
Create a draft (not yet a legal document) | no | no | - | yes |
update_invoice_draft |
Edit a draft (draft state only) | no | no | - | - |
delete_invoice_draft |
Delete a draft (draft state only) | no | yes | confirm | - |
issue_invoice |
Issue a draft: creates the real invoice, numbers it, reports to NAV. Reversible only by cancellation. | no | yes | 2-step | yes |
resubmit_invoice |
Resubmit a failed invoice |
no | yes | 2-step | yes |
cancel_invoice |
Cancel (storno) an issued invoice, reason required | no | yes | 2-step | yes |
get_invoice_pdf |
Download URL of the invoice or storno PDF | yes | no | - | - |
get_invoice_provider_status |
NAV submission status of an invoice | yes | no | - | - |
get_document_chain |
Full document chain (original, modifications, storno) | yes | no | - | - |
send_payment_reminder |
Send a polite payment reminder e-mail for an unpaid invoice | no | no | - | yes |
Links (customer-facing invoice pages)
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
get_invoice_link |
Public live invoice link, optional QR code (issued invoices only) | no | no | - | - |
revoke_invoice_link |
Invalidate a live link and issue a new one | no | yes | confirm | - |
create_collection_link |
One link to a set of invoices (period or list), e.g. for the accountant; expires (default 90 days, max 730) | no | no | - | - |
list_collection_links |
List collection links | yes | no | - | - |
revoke_collection_link |
Revoke a collection link | no | yes | confirm | - |
Customers (partners)
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
list_partners |
List customers | yes | no | - | - |
get_partner |
Get one customer | yes | no | - | - |
create_partner |
Create a customer | no | no | - | - |
update_partner |
Edit a customer | no | no | - | - |
delete_partner |
Delete a customer | no | yes | confirm | - |
lookup_taxpayer |
Look up a Hungarian taxpayer at NAV by the first 8 digits of the tax number (uses the user’s own NAV connection) | yes | no | - | - |
NAV inbound invoices
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
sync_inbound_invoices |
Pull supplier invoices reported to NAV about this business (max 92-day range; skips ones already stored) | no | no | - | built-in |
list_inbound_invoices |
List pulled inbound invoices (max 500 rows) | yes | no | - | - |
Exports and evidence
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
get_full_export |
Entire archive as one ZIP (all PDFs + structured data + manifest); returns a download path, not the content | yes | no | - | - |
export_invoices_csv |
CSV export for the accountant (summary or line level) | yes | no | - | - |
export_invoices_aea |
NAV audit data export (AEA XML) for a date or number range | yes | no | - | - |
verify_invoice_evidence |
Check one invoice’s 8-year evidence chain (Merkle batch, timestamp, renewal chain) | yes | no | - | - |
get_stats |
Totals: issued, drafts, failed, cancelled | yes | no | - | - |
get_invoice_stats |
Invoice statistics with daily breakdown | yes | no | - | - |
Business, team and accountants
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
list_memberships |
Businesses this account can manage (owner, admin, member, accountant) | yes | no | - | - |
update_business_settings |
Invoice number prefix, automatic payment reminders on/off (off by default) | no | no | - | yes |
invite_member |
Invite a colleague or accountant by e-mail (no access until accepted) | no | no | - | - |
set_accountant_issue_permission |
Allow or deny an accountant to issue invoices for the business | no | no | - | yes |
revoke_member |
Revoke a membership | no | yes | confirm | - |
list_accountants |
Accountant connections of the business | yes | no | - | - |
invite_accountant |
Invite an accountant (link valid 14 days) | no | no | - | - |
list_accountant_clients |
For a signed-in accountant: active clients | yes | no | - | - |
System
| Tool | What it does | RO | Destructive | Confirmation | Idem. |
|---|---|---|---|---|---|
ping |
Connection test: is the token valid, which scopes it has | yes | no | - | - |
explain_error |
Machine-readable error catalog: description, next step, retryable |
yes | no | - | - |
list_connections |
Configured connections (metadata only, never keys) | yes | no | - | - |
list_providers |
Capability matrix of the invoicing backends | yes | no | - | - |
Invoice data supported
- Document types: e-invoice (default), paper, pro forma (díjbekérő), advance invoice;
storno via
cancel_invoice; simplified invoice (Áfa tv. 176. §) via a flag. - Currencies: HUF, EUR, USD.
- VAT: any rate in percent, plus exemption codes
AAM,TAM,KBAET,EAM,EUFAD37,FADand an explicit0%code (a real 0% supply is not the same as an exemption; omitting the code sends 0% asAAM). - Payment methods: bank transfer, cash, card.
- Buyers: Hungarian tax number, EU VAT number for foreign buyers, or private individuals.
- Delivery: the invoice e-mail to the customer is on by default (can be switched off per invoice); the link and QR code are always returned to the conversation as well.
- Invoice language: Ellenőrzés alatt
Safety model
Zero does not trust the AI that calls it. It accepts structured input and validates every write on the server.
- Preview before anything irreversible.
issue_invoice,resubmit_invoiceandcancel_invoiceare two-step. The first call (noprepare_token) executes nothing and returns a preview plus aprepare_token. The agent shows the preview to the user and asks for explicit approval, then calls again withconfirm=trueand the token. - The token is bound to the user, the tool, the document and a fingerprint of its
content. It expires after 10 minutes. If the document changed after the preview, the
call fails with
prepare_invalidand a new preview is needed. - Other destructive tools (deleting drafts or customers, revoking links or members)
require
confirm=true. - Idempotency. Writes run inside an idempotency wrapper. Pass your own stable
idempotency_key(for examplemonthly-fee-2026-10) on scheduled or retried runs: a repeated call returns the stored result instead of creating a second invoice. Same key with different content is rejected as a conflict, not silently overwritten. - Secrets never go through the chat. NAV technical-user credentials are entered only on a secure Zero web page. Tools that list connections return metadata, never keys. Authorization and cookie headers are stripped before the MCP layer.
- Returned data is data. Tool results containing invoice or customer text are marked as user data, not instructions.
- Automation. For unattended runs a standing authorization is planned. Ellenőrzés alatt
Compliance
- NAV Online Számla: every issued invoice is reported to NAV (API v3.0). NAV’s receipt is the primary independent proof of issue time.
- Test or live NAV mode per business: a business can run against NAV’s test system before going live. Ellenőrzés alatt
- PDF seal: each issued PDF gets a PAdES signature (RSA-3072, SHA-256) with an embedded RFC 3161 timestamp. This is an advanced-level electronic seal, not a qualified one, and Hungarian law does not require a qualified signature for e-invoices.
- Archive: issued PDFs are stored byte-identical in object storage with WORM (COMPLIANCE mode) retention of 8 years, the Hungarian retention period.
- Audit log: writes are logged (event-sourced audit log); data-access log retained 2 years.
- Hosting: data at rest in the EU (Scaleway, Paris region
fr-par). Network edge, DNS and WAF: Cloudflare (a US company). We do not claim full EU sovereignty. - GDPR: the operator is a US company with an EU representative under GDPR Art. 27 (Euverify Limited, Ireland). Transfers outside the EU rely on the European Commission’s standard contractual clauses; details in the privacy notice (https://zeroszamla.hu/adatvedelem). Ellenőrzés alatt
Limits and errors
- Rate limits: 120 requests per minute per OAuth grant; 100 requests per minute per IP
(default). Exceeding them returns HTTP
429withRetry-After. - Request size: up to 12 MB per request.
- Invoice limits: 1 to 200 lines per invoice; quantity up to 1 000 000; comment up to 2000 characters; list results up to 100 invoices (500 inbound invoices) per call.
- Monthly issue cap: a per-account monthly cap exists as a cost safety valve and is
off by default. If enabled and reached, tools return
monthly_issue_limit_reached. - Error model: tool errors carry a stable code. Call
explain_errorwith the code (or without one for the full catalog) to get a description, the next step and whether it isretryable. Main codes:validation_error,not_found,forbidden,confirm_required,prepare_invalid,issue_failed,cancel_failed,sync_failed(retryable),taxpayer_failed(retryable),internal(retryable). - Transport errors:
401with OAuth discovery header when unauthenticated or the token is invalid;400for JSON-RPC batches;405for non-POST.
Data and privacy
- No server-side AI. Zero sends your data to no AI model. The only AI involved is the one you chose and connected. Its own data policy applies to what you type into it.
- No ads, no data selling.
- Your data, exportable at any time:
get_full_exportreturns everything as a ZIP. Before an account is deleted a full export is required, and the archive stays retrievable afterwards with a one-time code sent to the account’s e-mail address. - Tenant isolation: every request runs only in the signed-in user’s account; the database enforces row-level security.
- Minimized lists: list tools return trimmed rows to keep data out of the chat;
full details come from
get_*tools on request.
Status
- Zero is in pre-launch as of 25 October 2026. Ellenőrzés alatt
- Planned maintenance will be announced through a
service_statustool. Ellenőrzés alatt - Status page: Ellenőrzés alatt
Contact
- E-mail: [email protected]
- Operator: DEROR, LLC (United States). Company details: https://zeroszamla.hu/impresszum
- GDPR Art. 27 EU representative: Euverify Limited (Cork, Ireland). Requests and verification: https://gdpr.euverify.com/verify/86756d40-f030-48d6-94cc-6bc25d05c19b
Machine-readable links
https://zeroszamla.hu/llms.txt(index for AI tools)https://zeroszamla.hu/llms-full.txt(full text)https://mcp.zeroszamla.hu/.well-known/oauth-protected-resource(RFC 9728)https://api.zeroszamla.hu/.well-known/oauth-authorization-server(RFC 8414)- MCP
tools/listonhttps://mcp.zeroszamla.hu(after OAuth) is the authoritative tool list. - OpenAPI / MCP manifest (
/.well-known/mcp.jsonor similar): none published. Ellenőrzés alatt