Notsy Facturación
Emite CFDIs 4.0 y resuelve claves del SAT para agentes de IA (México), con permisos por API key.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (4)
- HIGH
- MEDIUMen preview_factura
- LOWen resolver_claves_sat
- INFOen preview_factura
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"notsy-facturacion": {
"url": "https://mcp.notsy.com.mx/mcp"
}
}
}Puntos de conexión remotos
https://mcp.notsy.com.mx/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (4)
⚪whoami
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.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "whoamiArguments"
}⚪resolver_claves_sat(descripcion, unidad_hint, con_iva)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"descripcion": {
"title": "Descripcion",
"type": "string"
},
"unidad_hint": {
"default": "",
"title": "Unidad Hint",
"type": "string"
},
"con_iva": {
"default": true,
"title": "Con Iva",
"type": "boolean"
}
},
"required": [
"descripcion"
],
"title": "resolver_claves_satArguments"
}⚪preview_factura(conceptos, cliente, cliente_id, forma_pago, metodo_pago, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"conceptos": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Conceptos",
"type": "array"
},
"cliente": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente"
},
"cliente_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente Id"
},
"forma_pago": {
"default": "03",
"title": "Forma Pago",
"type": "string"
},
"metodo_pago": {
"default": "PUE",
"title": "Metodo Pago",
"type": "string"
},
"emisor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Emisor Id"
},
"anticipo_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Anticipo Id"
}
},
"required": [
"conceptos"
],
"title": "preview_facturaArguments"
}⚪emitir_cfdi(conceptos, cliente, cliente_id, forma_pago, metodo_pago, ...)
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 (evita CFDIs duplicados ante el SAT).
Esquema de entrada
{
"type": "object",
"properties": {
"conceptos": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Conceptos",
"type": "array"
},
"cliente": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente"
},
"cliente_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente Id"
},
"forma_pago": {
"default": "03",
"title": "Forma Pago",
"type": "string"
},
"metodo_pago": {
"default": "PUE",
"title": "Metodo Pago",
"type": "string"
},
"observaciones": {
"default": "",
"title": "Observaciones",
"type": "string"
},
"emisor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Emisor Id"
},
"anticipo_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Anticipo Id"
},
"idempotency_key": {
"default": "",
"title": "Idempotency Key",
"type": "string"
}
},
"required": [
"conceptos"
],
"title": "emitir_cfdiArguments"
}Comunidad
Evidencia