---
title: "Servidor MCP"
description: "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."
language: es-MX
canonical_url: "https://exac.mx/docs/mcp"
md_url: "https://exac.mx/docs/mcp.md"
---

# 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.

## ¿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.

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.

Endpoint: `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)

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

### Configuración con API key de organización

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

## 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.

```json
{
  "data": {}
}
```

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

Acción recomendada 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 MCP disponibles

### Organización y acceso

- [`get_organization`](/docs/mcp/tools/get_organization.md) — Lee el perfil, la configuración fiscal y la disponibilidad de la organización activa.

- [`update_organization`](/docs/mcp/tools/update_organization.md) — Actualiza una sección coherente de la configuración de la organización.

- [`get_employees`](/docs/mcp/tools/get_employees.md) — Busca empleados y consulta un empleado específico de la organización.

- [`save_employee`](/docs/mcp/tools/save_employee.md) — Crea o actualiza un empleado de la organización.

### Configuración inicial

- [`get_configuration`](/docs/mcp/tools/get_configuration.md) — Busca o recupera sucursales, categorías de gastos y campos de recibos de la organización.

- [`search_sat_product_catalog`](/docs/mcp/tools/search_sat_product_catalog.md) — Busca claves oficiales de productos y servicios del catálogo del SAT.

- [`save_configuration`](/docs/mcp/tools/save_configuration.md) — Crea o actualiza una sucursal, categoría de gastos o campo de recibo de la organización.

- [`get_fiscal_series`](/docs/mcp/tools/get_fiscal_series.md) — Consulta las series fiscales configuradas para la organización.

- [`update_fiscal_series`](/docs/mcp/tools/update_fiscal_series.md) — Actualiza una serie fiscal existente de la organización.

### Descubrimiento y entrega de documentos

- [`search_documents`](/docs/mcp/tools/search_documents.md) — Busca una familia de documentos usando referencias públicas estables.

- [`get_document`](/docs/mcp/tools/get_document.md) — Recupera un documento mediante su documentRef público.

- [`send_document`](/docs/mcp/tools/send_document.md) — Entrega un CFDI, retención, recibo de venta o cotización a un destinatario.

- [`get_document_file`](/docs/mcp/tools/get_document_file.md) — Descarga un archivo como recurso binario. Usa preview_pdf para renderizar un borrador CFDI sin timbrar; la vista previa no tiene validez fiscal.

### CFDI y retenciones

- [`create_withholding`](/docs/mcp/tools/create_withholding.md) — Crea y timbra inmediatamente un documento de retención del SAT.

- [`create_cfdi_draft_from_sales_receipts`](/docs/mcp/tools/create_cfdi_draft_from_sales_receipts.md) — Crea un borrador CFDI a partir de recibos de venta compatibles.

- [`create_cfdi_draft`](/docs/mcp/tools/create_cfdi_draft.md) — Crea un borrador CFDI con impuestos canónicos. En complementos, Exac puede calcularlos o aceptar el taxObject y las filas del pago.

- [`update_cfdi_draft`](/docs/mcp/tools/update_cfdi_draft.md) — Reemplaza un borrador CFDI y vuelve a validar su contrato fiscal.

- [`stamp_cfdi`](/docs/mcp/tools/stamp_cfdi.md) — Timbra un borrador revisado solo si conserva su contrato fiscal canónico.

- [`refresh_cfdi_status`](/docs/mcp/tools/refresh_cfdi_status.md) — Consulta al SAT el estado actual de un CFDI timbrado y concilia el estado local.

- [`cancel_fiscal_document`](/docs/mcp/tools/cancel_fiscal_document.md) — Solicita al SAT la cancelación de un CFDI o documento de retención timbrado.

- [`archive_fiscal_document`](/docs/mcp/tools/archive_fiscal_document.md) — Archiva o restaura un CFDI o documento de retención sin eliminar su historial.

### Ventas y cotizaciones

- [`save_quote`](/docs/mcp/tools/save_quote.md) — Crea una cotización en borrador o actualiza una cotización existente.

- [`publish_quote`](/docs/mcp/tools/publish_quote.md) — Publica una cotización en el portal del cliente.

- [`cancel_quote`](/docs/mcp/tools/cancel_quote.md) — Cancela una cotización en borrador o enviada.

- [`record_quote_payment`](/docs/mcp/tools/record_quote_payment.md) — Registra un pago manual de una cotización aceptada.

- [`create_sales_receipt`](/docs/mcp/tools/create_sales_receipt.md) — Crea un recibo de venta de caja sin timbrar un CFDI.

- [`cancel_sales_receipt`](/docs/mcp/tools/cancel_sales_receipt.md) — Cancela un recibo abierto y conserva su historial operativo.

- [`refund_sales_receipt`](/docs/mcp/tools/refund_sales_receipt.md) — Registra un reembolso de recibo y, cuando corresponda, crea una nota de crédito CFDI.

### Catálogo comercial e inventario

- [`get_products`](/docs/mcp/tools/get_products.md) — Busca productos, consulta un producto, sus proveedores vinculados o las clasificaciones requeridas para guardar productos.

- [`get_contacts`](/docs/mcp/tools/get_contacts.md) — Busca contactos y consulta un contacto específico de la organización.

- [`get_inventory`](/docs/mcp/tools/get_inventory.md) — Consulta existencias, movimientos u operaciones agrupadas de inventario.

- [`save_contact`](/docs/mcp/tools/save_contact.md) — Crea o actualiza un cliente o proveedor de la organización.

- [`save_product`](/docs/mcp/tools/save_product.md) — Crea o actualiza un producto del catálogo de la organización.

- [`update_inventory`](/docs/mcp/tools/update_inventory.md) — Establece o repone la existencia de un producto.

- [`receive_inventory`](/docs/mcp/tools/receive_inventory.md) — Registra una entrega de inventario de proveedor con varios productos.

- [`get_price_overrides`](/docs/mcp/tools/get_price_overrides.md) — Consulta precios configurados por cliente o sucursal.

- [`set_price_override`](/docs/mcp/tools/set_price_override.md) — Crea o actualiza una regla de precio para cliente o sucursal.

### Cuentas y gastos

- [`create_expense`](/docs/mcp/tools/create_expense.md) — Crea un gasto operativo de la organización.

- [`get_accounts`](/docs/mcp/tools/get_accounts.md) — Busca cuentas por cobrar o por pagar y consulta sus movimientos.

- [`correct_expense_settlement`](/docs/mcp/tools/correct_expense_settlement.md) — Establece si un gasto está pagado o permanece como crédito del proveedor.

- [`record_payment`](/docs/mcp/tools/record_payment.md) — Registra dinero recibido o pagado y lo asigna a saldos abiertos.

- [`adjust_account_balance`](/docs/mcp/tools/adjust_account_balance.md) — Corrige un saldo por cobrar o por pagar con un motivo auditable.

- [`reschedule_receivable_plan`](/docs/mcp/tools/reschedule_receivable_plan.md) — Reemplaza el calendario de parcialidades de un plan por cobrar impago.

- [`set_payable_payment_plan`](/docs/mcp/tools/set_payable_payment_plan.md) — Crea o reemplaza el plan de pagos de una factura PPD recibida.

### Reportes y sincronización

- [`get_cfdi_summary`](/docs/mcp/tools/get_cfdi_summary.md) — Consulta agregados financieros de documentos CFDI por periodo.

- [`get_sales_receipt_summary`](/docs/mcp/tools/get_sales_receipt_summary.md) — Consulta agregados de ventas de recibos de caja por periodo.

- [`get_expense_cash_summary`](/docs/mcp/tools/get_expense_cash_summary.md) — Consulta salidas de efectivo operativas por periodo.

- [`get_cfdi_collection_summary`](/docs/mcp/tools/get_cfdi_collection_summary.md) — Consulta actividad y saldos de cobranza de CFDI por periodo.

- [`get_tax_summary`](/docs/mcp/tools/get_tax_summary.md) — Consulta totales fiscales provenientes de declaraciones analizadas.

- [`sync_sat_data`](/docs/mcp/tools/sync_sat_data.md) — Programa una sincronización autorizada de datos fiscales del SAT, incluida la descarga masiva de CFDI.

## 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.

Documentación completa: https://exac.mx/docs.md
Índice para agentes: https://exac.mx/docs/llms.txt
