Skip to main content

verifactu-mcp

Servidor MCP para integrar VeriFactu (AEAT) con Claude Code y Cursor.

Permite generar, encadenar y enviar registros de facturación electrónica desde lenguaje natural, sin necesidad de leer la documentación técnica de la AEAT.


Herramientas disponibles

Herramienta Descripción
generate_invoice_xml Genera XML válido con hash SHA-256 encadenado (sin enviar)
send_invoice Envía registro de alta a la AEAT via API y persiste la huella
cancel_invoice Envía registro de anulación
check_invoice_status Consulta el estado de un registro
list_invoices Lista los registros enviados (filtros opcionales por emisor y paginación)
get_last_hash Devuelve la última huella registrada localmente para un emisor
calculate_hash Calcula el hash SHA-256 de cualquier registro

El encadenamiento real lo gestiona la API verifactuapi.es internamente (vía previous_id). El servidor MCP persiste la huella canónica que devuelve la API en SQLite local (~/.verifactu-mcp/state.db) como audit log, no como mecanismo de encadenamiento operativo. La herramienta get_last_hash consulta ese log.

calculate_hash y la huella huella_local_estimada de send_invoice son estimaciones heurísticas para inspección — la huella canónica AEAT incluye el timestamp server-side y solo el servidor puede generarla.

Smoke test contra sandbox

$env:VERIFACTU_API_TOKEN = "<tu_token_sandbox>"
python smoke_test.py <id_emisor> [nif_receptor]

Ejecuta list_invoices + send_invoice (¡emite registro real en sandbox!) + check_invoice_status + get_last_hash. NO ejecutar contra producción.


Instalación

# 1. Clona el repositorio
git clone https://github.com/tuusuario/verifactu-mcp
cd verifactu-mcp

# 2. Instala las dependencias
pip install -e .

Configuración en Claude Code

Tras pip install -e ., el script verifactu-mcp queda disponible globalmente. Añade esto a tu ~/.claude.json (o claude_desktop_config.json):

{
  "mcpServers": {
    "verifactu": {
      "command": "verifactu-mcp",
      "env": {
        "VERIFACTU_API_TOKEN": "tu_token_aqui"
      }
    }
  }
}

Alternativa sin script instalado (vía python -m):

{
  "mcpServers": {
    "verifactu": {
      "command": "python",
      "args": ["-m", "verifactu_mcp.server"],
      "cwd": "/ruta/a/verifactu-mcp",
      "env": {
        "VERIFACTU_API_TOKEN": "tu_token_aqui"
      }
    }
  }
}

Uso desde Claude Code

# Generar un XML sin enviar (ideal para pruebas)
"Genera un registro VeriFactu para una factura de 100€ + 21% IVA,
 emisor B12345678, serie 2025/001, fecha 15-05-2025,
 descripción: Servicios de desarrollo web"

# Enviar a la AEAT — la huella anterior se resuelve automáticamente
"Envía a la AEAT la factura 2025/001 del emisor B12345678,
 base 100€, IVA 21%, fecha hoy"

# Consultar estado
"¿Cuál es el estado del registro con ID 42?"

# Anular una factura
"Anula la factura 2025/001 del emisor B12345678"

# Listar las facturas enviadas
"Lista las últimas 50 facturas enviadas para el emisor B12345678"

# Inspeccionar el último hash del emisor
"¿Cuál es la última huella encadenada para B12345678?"

Variables de entorno

Variable Descripción Requerida
VERIFACTU_API_TOKEN Token de acceso a verifactuapi.es Sí (para enviar)
VERIFACTU_API_BASE URL base de la API (por defecto producción) No
VERIFACTU_STATE_DB Ruta a la DB SQLite de estado (por defecto ~/.verifactu-mcp/state.db) No

Entornos AEAT

Entorno URL
Sandbox https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP
Producción https://www1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP

Para certificados de prueba (sandbox): catentidades@correo.aeat.es


Licencia

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

verifactu_mcp-0.1.1.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

verifactu_mcp-0.1.1-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file verifactu_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: verifactu_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for verifactu_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 49403dff2f79bffef878e913a642ae1dd66dd17fbf6da5c8e926804272d55884
MD5 8799b5d5adf92a78662dd151c7d5b859
BLAKE2b-256 7e80d3abe5bbfaf1bb77ee8d4b1bd092901ac94972a1d8744c0f614271bc6872

See more details on using hashes here.

File details

Details for the file verifactu_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: verifactu_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for verifactu_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 323d7f20f53e6f8ef8f1f42d4064916969d8d1b1f410ff01016d3b419014b637
MD5 35acca6e4a029a588b27257fe9dcc889
BLAKE2b-256 f2b627fe7deeae8ba64d43da24e1424653992d07d05de23de13b1a14d121d05e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page