Emite CFDIs 4.0 y resuelve claves del SAT para agentes de IA (México), con permisos por API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API key del negocio en formato 'Bearer ntsy_...', generada en https://facturacion.notsy.com.mx
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Emite y timbra un CFDI 4.0 OFICIAL ante el SAT (acción real, con costo y difícil de revertir). Llama primero a preview_factura. El motor aplica los límites de la API key (puede requerir aprobación humana) y registra la acción en la bitácora. Args: iguales a preview_factura, más: observaciones: texto libre opcional en el CFDI. anticipo_id: opcional, id de un anticipo previo a aplicar (relación 07 + nota de crédito). idempotency_key: OBLIGATORIA en producción (genera un UUID por operación y reúsalo en los reintentos). Si reintentas con la misma clave, NO se timbra de nuevo: se devuelve el resultado original o el estado de verificación. Con 504 PAC_SIN_CONFIRMACION o 409 CFDI_EN_VERIFICACION, reintenta más tarde con la MISMA clave y nunca con otra; 409 OPERACION_CERRADA pide una clave nueva; 409 CFDI_YA_EMITIDO significa que ya existe.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Emite y timbra un CFDI 4.0 OFICIAL ante el SAT (acción real, con costo y difícil de revertir). Llama primero a preview_factura. El motor aplica los límites de la API key (puede requerir aprobación humana) y registra la acción en la bitácora. Args: iguales a preview_factura, más: observaciones: texto libre opcional en el CFDI. anticipo_id: opcional, id de un anticipo previo a aplicar (relación 07 + nota de crédito). idempotency_key: OBLIGATORIA en producción (genera un UUID por operación y reúsalo en los reintentos). Si reintentas con la misma clave, NO se timbra de nuevo: se devuelve el resultado original o el estado de verificación. Con 504 PAC_SIN_CONFIRMACION o 409 CFDI_EN_VERIFICACION, reintenta más tarde con la MISMA clave y nunca con otra; 409 OPERACION_CERRADA pide una clave nueva; 409 CFDI_YA_EMITIDO significa que ya existe.
| Argument | Type | Description |
|---|---|---|
| cliente | any | |
| conceptos* | array | |
| emisor_id | any | |
| cliente_id | any | |
| forma_pago | string | |
| anticipo_id | any | |
| metodo_pago | string | |
| observaciones | string | |
| idempotency_key | string |
{
"type": "object",
"title": "emitir_cfdiArguments",
"required": [
"conceptos"
],
"properties": {
"cliente": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Cliente",
"default": null
},
"conceptos": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Conceptos"
},
"emisor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Emisor Id",
"default": null
},
"cliente_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cliente Id",
"default": null
},
"forma_pago": {
"type": "string",
"title": "Forma Pago",
"default": "03"
},
"anticipo_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Anticipo Id",
"default": null
},
"metodo_pago": {
"type": "string",
"title": "Metodo Pago",
"default": "PUE"
},
"observaciones": {
"type": "string",
"title": "Observaciones",
"default": ""
},
"idempotency_key": {
"type": "string",
"title": "Idempotency Key",
"default": ""
}
}
}DRY-RUN: valida la factura y calcula los totales (subtotal, IVA, retenciones, total) SIN timbrar, reservar ni cobrar. También devuelve la cotización canónica de créditos y el saldo proyectado. Úsalo SIEMPRE antes de emitir_cfdi para confirmar el monto, el costo y que los datos pasen la validación. Aplicar un anticipo cotiza dos CFDI (ingreso + egreso). Args: conceptos: lista de conceptos. Cada uno: {descripcion, clave_prodserv, clave_unidad, cantidad, valor_unitario, precio_incluye_iva (bool), tasa_iva (0.16/0.08/0.0), objeto_imp ("02"), retencion ("honorarios"|"arrendamiento"|"comisiones"|"fletes"|"")}. cliente: datos del receptor {rfc, nombre, regimen_fiscal, cp, uso_cfdi, email, es_publico_general} — o usa cliente_id si ya está guardado. cliente_id: id de un cliente guardado (alternativa a `cliente`). forma_pago: clave SAT de forma de pago (default "03" transferencia). metodo_pago: "PUE" (de contado) o "PPD" (a crédito). emisor_id: opcional, desde qué RFC emitir (multiemisor); None = predeterminado. anticipo_id: opcional, anticipo previo a aplicar; cotiza dos CFDI.
| Argument | Type | Description |
|---|---|---|
| cliente | any | |
| conceptos* | array | |
| emisor_id | any | |
| cliente_id | any | |
| forma_pago | string | |
| anticipo_id | any | |
Convierte una descripción en lenguaje natural a las claves del SAT necesarias para facturar. Devuelve `sugerencia` con clave_prodserv, clave_unidad, objeto_imp, tasa_iva y uso_cfdi, más `candidatos` por si quieres elegir otra. Llámalo antes de armar un concepto si no conoces las claves. Args: descripcion: qué se vende, p.ej. "consultoría de marketing" o "laptop Dell". unidad_hint: opcional, unidad de medida en palabras ("servicio", "hora", "pieza", "kg"). con_iva: si el producto/servicio causa IVA 16% (default True).
| Argument | Type | Description |
|---|---|---|
| con_iva | boolean | |
| descripcion* | string | |
| unidad_hint | string |
{
"type": "object",
"title": "resolver_claves_satArguments",
"required": [
"descripcion"
],
"properties": {
"con_iva": {
"type": "boolean",
"title": "Con Iva",
"default": true
},
"descripcion": {
"type": "string",
"title": "Descripcion"
},
"unidad_hint": {
"type": "string",
"title": "Unidad Hint",
"default": ""
}
}
}Confirma la identidad del agente: a qué negocio pertenece la API key, sus permisos (scopes), límites de emisión y uso del día. Úsalo para diagnosticar la conexión.
No arguments.
{
"type": "object",
"title": "whoamiArguments",
"properties": {}
}| metodo_pago |
| string |
{
"type": "object",
"title": "preview_facturaArguments",
"required": [
"conceptos"
],
"properties": {
"cliente": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Cliente",
"default": null
},
"conceptos": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Conceptos"
},
"emisor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Emisor Id",
"default": null
},
"cliente_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cliente Id",
"default": null
},
"forma_pago": {
"type": "string",
"title": "Forma Pago",
"default": "03"
},
"anticipo_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Anticipo Id",
"default": null
},
"metodo_pago": {
"type": "string",
"title": "Metodo Pago",
"default": "PUE"
}
}
}