Notsy Facturación
Emite CFDIs 4.0 y resuelve claves del SAT para agentes de IA (México), con permisos por API key.
사용해야 할까요
품질 및 안전성
발견 사항 (4)
- HIGH
- MEDIUMpreview_factura에서
- LOWresolver_claves_sat에서
- INFOpreview_factura에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"notsy-facturacion": {
"url": "https://mcp.notsy.com.mx/mcp"
}
}
}원격 엔드포인트
https://mcp.notsy.com.mx/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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"
}커뮤니티
증거