🇩🇴Rep. DominicanaGuía Técnica

Cómo conectar un agente de IA a la DGII en República Dominicana: guía paso a paso con el MCP de Alanube

Guía completa para conectar un agente de IA a la DGII de República Dominicana usando el único servidor MCP de infraestructura fiscal disponible actualmente: configuración del cliente, primer e-CF en lenguaje natural y emisión programática con TypeScript.

Ing. Carlos Méndez
Arquitecto de Software · Integraciones Fiscales LATAM
5 min lectura23 de junio de 2026
Cómo conectar un agente de IA a la DGII en República Dominicana: guía paso a paso con el MCP de Alanube

Contenido de este artículo

1. Prerequisitos antes de empezar
2. Paso 1: Solicitar acceso al sandbox
3. Paso 2: Configurar el cliente MCP
4. Paso 3: Emitir el primer e-CF en lenguaje natural
5. Paso 4: Emisión programática con el SDK
6. Interpretar la respuesta: flujo síncrono vs asíncrono
7. Qué hacer si la DGII rechaza el documento
8. Preguntas frecuentes

Conectar un agente de IA a la DGII de República Dominicana implica tres pasos que la mayoría de la documentación presenta por separado: obtener credenciales, configurar el cliente MCP y entender el ciclo de vida del documento. El problema no es que los pasos sean complejos individualmente — es que no existe una guía que los encadene desde cero hasta el primer e-CF aceptado.

A mediados de 2026, el único servidor MCP de infraestructura fiscal conectado directamente a la DGII disponible para desarrolladores es el de Alanube. Esta guía usa ese servidor como referencia práctica. Para entender la diferencia entre integrar vía MCP vs API REST antes de seguir, ver MCP vs API REST para e-CF en RD.

Prerequisitos antes de empezar

Para completar esta guía se necesita: un token de acceso al sandbox (se obtiene en el paso siguiente), un cliente MCP instalado — Claude Desktop, Claude Code CLI, Cursor o cualquier cliente compatible con el protocolo MCP —, y para la ruta programática, Node.js 18 o superior con el paquete @modelcontextprotocol/sdk.

Esta guía cubre el ambiente de sandbox. Los documentos emitidos en sandbox no tienen validez legal ante la DGII y no generan cargos. El endpoint de producción requiere contacto con el equipo de Alanube.

Paso 1: Solicitar acceso al sandbox

El token de sandbox se solicita desde la landing del MCP de Alanube para República Dominicana. El formulario requiere nombre, empresa, rol y proyección de emisión mensual. Las credenciales llegan por correo en un plazo de 24 horas hábiles.

El token tiene el formato estándar de un Bearer token. Si ya se tiene acceso al sandbox de la API REST v1.0-DOM, el mismo token funciona para el servidor MCP sin configuración adicional.

Paso 2: Configurar el cliente MCP

La configuración del cliente MCP es un archivo JSON que indica al cliente dónde está el servidor y cómo autenticarse. La ubicación varía según el cliente:

Claude Desktop en macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop en Windows: %APPDATA%/Claude/claude_desktop_config.json
Claude Code CLI (Linux/macOS): ~/.config/claude/mcp.json
Cursor y otros clientes: seguir la documentación MCP del cliente específico

Configuración para Claude Desktop y Claude Code

[@portabletext/react] Unknown block type "codeBlock", specify a component for it in the `components.types` prop

Reemplazar TU_TOKEN_SANDBOX_AQUI con el token recibido por correo. Una vez guardado, reiniciar el cliente MCP.

El mismo bloque de configuración funciona en Cursor, Continue y VS Code con extensión MCP. La URL del endpoint y el header de autenticación son idénticos en todos los clientes compatibles con el protocolo.

Paso 3: Emitir el primer e-CF en lenguaje natural

Con el cliente configurado, el agente tiene acceso al catálogo de herramientas. El caso más simple para validar la conexión es emitir una Factura de Consumo (código 32) por un monto inferior a DOP$250.000, que devuelve el resultado legal de forma síncrona en la misma llamada. Para entender todos los tipos disponibles ver Los 10 tipos de e-CF en República Dominicana.

Escribe lo siguiente en el chat del agente:

[@portabletext/react] Unknown block type "codeBlock", specify a component for it in the `components.types` prop

El agente invoca el orquestador con el tipo de documento correcto, construye el payload, activa la validación previa y espera el resultado de la DGII.

[@portabletext/react] Unknown block type "codeBlock", specify a component for it in the `components.types` prop

Si legalStatus devuelve ACCEPTED y finalLegalOutcomeReached es true, la integración funciona correctamente.

Paso 4: Emisión programática con el SDK

Para integraciones en código sin interfaz de chat, el servidor MCP funciona vía el SDK estándar:

[@portabletext/react] Unknown block type "codeBlock", specify a component for it in the `components.types` prop
[@portabletext/react] Unknown block type "codeBlock", specify a component for it in the `components.types` prop

La referencia completa de herramientas y campos obligatorios por tipo de e-CF está disponible en la documentación técnica del servidor MCP y en el artículo Las 30 herramientas del MCP de infraestructura fiscal de RD.

Interpretar la respuesta: flujo síncrono vs asíncrono

La respuesta del orquestador incluye el campo flowMode.

Flujo síncrono (flowMode: "sync")

Ocurre con Facturas de Consumo (código 32) por montos inferiores a DOP$250.000. La DGII responde con el resultado legal final en la misma llamada. finalLegalOutcomeReached será true y legalStatus tendrá el valor definitivo. No es necesario hacer polling adicional.

Flujo asíncrono (flowMode: "async")

Ocurre con todos los demás tipos de e-CF y con Facturas de Consumo de DOP$250.000 o más. Con waitForFinalStatus activado, el orquestador consulta automáticamente el estado hasta obtener el resultado o agotar el presupuesto de reintentos.

Una Factura de Consumo por debajo del umbral también puede caer al flujo asíncrono si la DGII no responde en el tiempo esperado. El campo flowMode en la respuesta indica qué flujo ocurrió realmente.

Qué hacer si la DGII rechaza el documento

Un rechazo (legalStatus: "REJECTED") devuelve un governmentResponseCode. El siguiente paso es invocar la herramienta de diagnóstico. Para el mapa completo de códigos de error y sus causas, ver Errores de rechazo DGII en e-CF: cómo diagnosticarlos.

[@portabletext/react] Unknown block type "codeBlock", specify a component for it in the `components.types` prop

La herramienta devuelve causa probable y acción correctiva en texto estructurado. En un flujo autónomo, el agente puede corregir el campo, revalidar y reemitir sin intervención del developer.

Preguntas frecuentes

¿Cuál es el tiempo estimado desde la configuración hasta el primer e-CF emitido en sandbox?

Con el token disponible y el cliente instalado, la configuración toma menos de 5 minutos. La confirmación de la DGII para documentos síncronos llega en segundos. El proceso completo desde cero, incluyendo la solicitud del token, toma menos de 24 horas hábiles.

¿Cómo verifico que el cliente MCP está conectado antes de emitir?

Escribe en el chat: "Lista los tipos de e-CF disponibles en República Dominicana". Si el agente responde con el catálogo de 10 tipos, el servidor MCP está operativo.

¿Es posible crear la empresa emisora en sandbox sin acceder al dashboard?

Sí. El catálogo incluye una herramienta para crear una empresa emisora de prueba directamente desde el agente. Basta indicar nombre y RNC. Esto permite completar el setup completo sin salir del cliente MCP.

Sobre el autor

Ing. Carlos Méndez es arquitecto de software con más de 10 años integrando sistemas fiscales en América Latina. Ha liderado implementaciones de facturación electrónica en Colombia, México y Centroamérica para ISVs de mediana y gran escala.