Costa Rica Hacienda v4.4: AI agents submit and query electronic invoices, stateless BYO.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"app-wishpool-costa-rica-invoice-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Costa Rica Hacienda v4.4: AI agents submit and query electronic invoices, stateless BYO.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in finance / ai-ml
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
Workspace template + MCP server for Claude Code, Codex CLI, Cursor & Windsurf. Multi-agent knowledge engine (ag-refresh / ag-ask) that turns any codebase into a queryable AI assistant.
Compact, efficient, and extensible long-term memory for LLM agents.
MCP Security Weekly
Get CVE alerts and security updates for app.wishpool/costa-rica-invoice-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Remote MCP server that lets any AI agent submit Costa Rica electronic invoices (comprobante electrónico v4.4) to the Ministerio de Hacienda national e-invoicing gateway. It forwards an already-signed v4.4 XML to the reception (/recepcion) endpoint and returns Hacienda's response. Stateless, bring-your-own credentials, never stores anything.
Live endpoint: https://inv-cr.wishpool.app/mcp · Registry: app.wishpool/costa-rica-invoice-mcp
This wraps the submission calls only. Signing stays merchant-side.
{ clave, fecha, emisor, receptor?, comprobante_xml(base64) } to the Hacienda /recepcion endpoint, and translate the response (HTTP 202 → ind_estado); poll status via /recepcion/{clave}. It also offers a pure-local build_clave helper to assemble the 50-digit clave numérica.This deliberate split keeps the security-critical material (private key, certificate) entirely on your side — a compromise of this stateless forwarder cannot forge or alter your invoices.
{
"mcpServers": {
"costa-rica-invoice": {
"type": "http",
"url": "https://inv-cr.wishpool.app/mcp",
"headers": {
"x-hacienda-username": "your-atv-api-user",
"x-hacienda-password": "your-atv-api-password",
"x-hacienda-mode": "prod"
}
}
}
}
Register your API user in ATV ("Registro de Usuarios API") to get the username/password. Omit x-hacienda-mode to stay in the stag sandbox (realm rut-stag, recepcion-sandbox, no fiscal effect); prod = production (realm rut, real fiscal effect). Required headers: x-hacienda-username + x-hacienda-password. Optional: x-hacienda-mode (default stag) and the owner-policy headers below.
| Tool | What it does |
|---|---|
submit_invoice | Forward an already-signed v4.4 comprobante to Hacienda /recepcion. In: clave, fecha, emisor{tipoIdentificacion,numeroIdentificacion}, receptor?, comprobante_xml (base64 signed XML). Out: HTTP 202 with ind_estado recibido/procesando (Hacienda processes asynchronously). |
query_invoice | Poll /recepcion/{clave}. Out: ind_estado aceptado (fiscally valid — hand respuesta_xml to the buyer), rechazado (rejected — read respuesta_xml, fix, resubmit), procesando/recibido, or error. |
build_clave | Pure local helper (no network, no credentials): assemble the 50-digit clave numérica from 506 + DD + MM + YY + cédula(12) + consecutivo(20) + situación(1) + códigoSeguridad(8). |
build_clave assembles it from the parts you know:
| Segment | Length | Notes |
|---|---|---|
| País | 3 | 506 |
| Día / Mes / Año | 2 / 2 / 2 | from fecha (YYYY-MM-DD) |
| Cédula del emisor | 12 | left-padded |
| Consecutivo | 20 | sucursal(3) + terminal(5) + tipo(2) + secuencial(10) |
| Situación | 1 | 1 normal · 2 contingencia · 3 sin internet |
| Código de seguridad | 8 | your system generates it |
tipoComprobante codes: 01 Factura · 02 Nota de Débito · 03 Nota de Crédito · 04 Tiquete · 08 Factura de Compra · 09 Factura de Exportación · 10 Recibo de Pago.
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. Cap scope: the amount gate reads