Docs

MCP

Servidor MCP

Conecta agentes de IA con Exac mediante el servidor Model Context Protocol de producción, con permisos y los mismos contratos de dominio que la API REST.

Servidor MCP

MCP está disponible únicamente en producción. OAuth muestra las herramientas permitidas por el rol del usuario. Una API key de organización de producción muestra todas las herramientas disponibles para esa organización.

¿Qué es Exac MCP?

Exac MCP es un servidor remoto Streamable HTTP, disponible únicamente en producción, para la organización activa. OAuth respeta el rol del usuario; una API key de organización de producción concede acceso completo a la API.

https://adventurous-moose-616.convex.site
  • Buscar documentos y registros operativos de la organización
  • Crear y administrar recursos mediante contratos de dominio compartidos
  • Consultar reportes fiscales y sincronizar datos permitidos del SAT

Conectar un cliente

Usa el origen de producción del sitio Convex de Exac como endpoint Streamable HTTP. OAuth es la opción recomendada para agentes interactivos; las API keys de organización de producción funcionan mejor para integraciones fijas. MCP no acepta claves de prueba.

Configuración OAuth (recomendada)

{  "mcpServers": {    "exac": {      "url": "https://adventurous-moose-616.convex.site"    }  }}

Configuración con API key de organización

{  "mcpServers": {    "exac": {      "url": "https://adventurous-moose-616.convex.site",      "headers": {        "Authorization": "Bearer <EXAC_API_KEY>"      }    }  }}

Ejemplo CFDI en tres pasos

Crea un borrador, revisa su documentRef público y timbra solo después de revisarlo. El flujo completo de REST y MCP permanece en la introducción.

{  "steps": [    {      "tool": "create_cfdi_draft",      "arguments": {        "idempotencyKey": "workflow-create-cfdi",        "input": {          "customerId": "customer-example",          "items": [            {              "kind": "custom",              "description": "Consultoría administrativa · julio 2026",              "quantity": 1,              "unitPrice": 10000,              "satProductCode": "84111506",              "satUnitCode": "E48",              "taxRate": 0.16,              "taxability": "standard"            }          ],          "kind": "income",          "cfdiUse": "G03",          "payment": {            "timing": "deferred_or_installments",            "formCode": "99",            "conditions": "Crédito a 30 días"          }        }      },      "environments": [        "production"      ]    },    {      "tool": "get_document",      "arguments": {        "documentRef": "cfdi:invoice-example"      },      "environments": [        "production"      ]    },    {      "tool": "get_document_file",      "arguments": {        "documentRef": "cfdi:invoice-example",        "file": "preview_pdf"      },      "environments": [        "production"      ]    }  ]}

Semántica de resultados y errores MCP

Toda herramienta JSON ordinaria devuelve un sobre data. Los fallos esperados devuelven un sobre error con un código estable; los archivos binarios permanecen como recursos MCP.

Sobre de éxito

JSON Schema
{  "data": {}}

Sobre de error

JSON Schema
{  "error": {    "code": "validation_error",    "message": "La validación de la solicitud falló",    "details": {}  }}

Recuperación por código

validation_error
Corrige cada elemento de details.issues usando su path y código estable.
unauthenticated
Proporciona una API key o un token de acceso OAuth válido.
forbidden
Usa una credencial con el permiso requerido.
not_found
Verifica el identificador del recurso dentro de la organización.
method_not_allowed
Usa el método HTTP documentado.
conflict
Actualiza el recurso y resuelve su estado actual.
idempotency_conflict
Usa otra clave de idempotencia para una solicitud modificada.
operation_in_progress
Espera el tiempo de Retry-After y repite la misma solicitud.
recovery_required
No reintentes automáticamente; reconcilia el resultado del proveedor.
rate_limited
Espera el tiempo de Retry-After antes de reintentar.
provider_unavailable
Reintenta solo cuando la respuesta marque la falla como reintentable.
internal
Reintenta después y contacta a soporte si el error persiste.

Herramientas disponibles

El servidor publica únicamente las herramientas permitidas para la credencial activa. Cada cliente MCP recibe el esquema de entrada autoritativo mediante tools/list.

Organización y acceso

Herramienta MCPPropósitoSeguridad
get_organizationLee el perfil, la configuración fiscal y la disponibilidad de la organización activa.Solo lectura
update_organizationActualiza una sección coherente de la configuración de la organización.Efecto externo
get_employeesBusca empleados y consulta un empleado específico de la organización.Solo lectura
save_employeeCrea o actualiza un empleado de la organización.Modifica datos

Configuración inicial

Herramienta MCPPropósitoSeguridad
get_configurationBusca o recupera sucursales, categorías de gastos y campos de recibos de la organización.Solo lectura
search_sat_product_catalogBusca claves oficiales de productos y servicios del catálogo del SAT.Solo lectura
save_configurationCrea o actualiza una sucursal, categoría de gastos o campo de recibo de la organización.Modifica datos
get_fiscal_seriesConsulta las series fiscales configuradas para la organización.Solo lectura
update_fiscal_seriesActualiza una serie fiscal existente de la organización.Destructivo y externo

Descubrimiento y entrega de documentos

Herramienta MCPPropósitoSeguridad
search_documentsBusca una familia de documentos usando referencias públicas estables.Solo lectura
get_documentRecupera un documento mediante su documentRef público.Solo lectura
send_documentEntrega un CFDI, retención, recibo de venta o cotización a un destinatario.Efecto externo
get_document_fileDescarga un archivo como recurso binario. Usa preview_pdf para renderizar un borrador CFDI sin timbrar; la vista previa no tiene validez fiscal.Solo lectura

CFDI y retenciones

Herramienta MCPPropósitoSeguridad
create_withholdingCrea y timbra inmediatamente un documento de retención del SAT.Destructivo y externo
create_cfdi_draft_from_sales_receiptsCrea un borrador CFDI a partir de recibos de venta compatibles.Efecto externo
create_cfdi_draftCrea un borrador CFDI con impuestos canónicos. En complementos, Exac puede calcularlos o aceptar el taxObject y las filas del pago.Efecto externo
update_cfdi_draftReemplaza un borrador CFDI y vuelve a validar su contrato fiscal.Efecto externo
stamp_cfdiTimbra un borrador revisado solo si conserva su contrato fiscal canónico.Destructivo y externo
refresh_cfdi_statusConsulta al SAT el estado actual de un CFDI timbrado y concilia el estado local.Efecto externo
cancel_fiscal_documentSolicita al SAT la cancelación de un CFDI o documento de retención timbrado.Destructivo y externo
archive_fiscal_documentArchiva o restaura un CFDI o documento de retención sin eliminar su historial.Modifica datos

Ventas y cotizaciones

Herramienta MCPPropósitoSeguridad
save_quoteCrea una cotización en borrador o actualiza una cotización existente.Modifica datos
publish_quotePublica una cotización en el portal del cliente.Efecto externo
cancel_quoteCancela una cotización en borrador o enviada.Destructivo
record_quote_paymentRegistra un pago manual de una cotización aceptada.Destructivo y externo
create_sales_receiptCrea un recibo de venta de caja sin timbrar un CFDI.Modifica datos
cancel_sales_receiptCancela un recibo abierto y conserva su historial operativo.Destructivo
refund_sales_receiptRegistra un reembolso de recibo y, cuando corresponda, crea una nota de crédito CFDI.Destructivo y externo

Catálogo comercial e inventario

Herramienta MCPPropósitoSeguridad
get_productsBusca productos, consulta un producto, sus proveedores vinculados o las clasificaciones requeridas para guardar productos.Solo lectura
get_contactsBusca contactos y consulta un contacto específico de la organización.Solo lectura
get_inventoryConsulta existencias, movimientos u operaciones agrupadas de inventario.Solo lectura
save_contactCrea o actualiza un cliente o proveedor de la organización.Modifica datos
save_productCrea o actualiza un producto del catálogo de la organización.Modifica datos
update_inventoryEstablece o repone la existencia de un producto.Destructivo
receive_inventoryRegistra una entrega de inventario de proveedor con varios productos.Destructivo
get_price_overridesConsulta precios configurados por cliente o sucursal.Solo lectura
set_price_overrideCrea o actualiza una regla de precio para cliente o sucursal.Modifica datos

Cuentas y gastos

Herramienta MCPPropósitoSeguridad
create_expenseCrea un gasto operativo de la organización.Modifica datos
get_accountsBusca cuentas por cobrar o por pagar y consulta sus movimientos.Solo lectura
correct_expense_settlementEstablece si un gasto está pagado o permanece como crédito del proveedor.Modifica datos
record_paymentRegistra dinero recibido o pagado y lo asigna a saldos abiertos.Modifica datos
adjust_account_balanceCorrige un saldo por cobrar o por pagar con un motivo auditable.Destructivo
reschedule_receivable_planReemplaza el calendario de parcialidades de un plan por cobrar impago.Destructivo
set_payable_payment_planCrea o reemplaza el plan de pagos de una factura PPD recibida.Destructivo

Reportes y sincronización

Herramienta MCPPropósitoSeguridad
get_cfdi_summaryConsulta agregados financieros de documentos CFDI por periodo.Solo lectura
get_sales_receipt_summaryConsulta agregados de ventas de recibos de caja por periodo.Solo lectura
get_expense_cash_summaryConsulta salidas de efectivo operativas por periodo.Solo lectura
get_cfdi_collection_summaryConsulta actividad y saldos de cobranza de CFDI por periodo.Solo lectura
get_tax_summaryConsulta totales fiscales provenientes de declaraciones analizadas.Solo lectura
sync_sat_dataPrograma una sincronización autorizada de datos fiscales del SAT, incluida la descarga masiva de CFDI.Efecto externo

Recomendaciones de seguridad

Revisa las llamadas antes de ejecutarlas y nunca pegues credenciales en prompts. Las API keys de organización de producción conceden acceso completo a la API; usa OAuth cuando el acceso deba respetar el rol de un usuario. Las herramientas destructivas permanecen marcadas para que el cliente solicite confirmación.