Server definition
- Hash
- sha256:210b55856b767c6bea4d7abe7159956c11e2f95c3b797a3cab8a7203bebafddd
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "Herramientas para emitir CFDIs 4.0 (facturas) y resolver claves del SAT en México, a nombre del negocio dueño de la API key. Flujo recomendado: resolver_claves_sat → preview_factura (dry-run, cotiza sin reservar ni cobrar) → emitir_cfdi. Configura tu API key de Notsy como header Authorization: Bearer ntsy_...",
"tools": [
{
"description": "Emite y timbra un CFDI 4.0 OFICIAL ante el SAT (acción real, con costo y difícil de revertir).\n Llama primero a preview_factura. El motor aplica los límites de la API key (puede requerir\n aprobación humana) y registra la acción en la bitácora.\n\n Args: iguales a preview_factura, más:\n observaciones: texto libre opcional en el CFDI.\n anticipo_id: opcional, id de un anticipo previo a aplicar (relación 07 + nota de crédito).\n idempotency_key: OBLIGATORIA en producción (genera un UUID por operación y reúsalo en\n los reintentos). Si reintentas con la misma clave, NO se timbra de nuevo: se\n devuelve el resultado original o el estado de verificación. Con 504\n PAC_SIN_CONFIRMACION o 409 CFDI_EN_VERIFICACION, reintenta más tarde con la\n MISMA clave y nunca con otra; 409 OPERACION_CERRADA pide una clave nueva; 409\n CFDI_YA_EMITIDO significa que ya existe.\n ",
"inputSchema": {
"properties": {
"anticipo_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Anticipo Id"
},
"cliente": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente"
},
"cliente_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente Id"
},
"conceptos": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Conceptos",
"type": "array"
},
"emisor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Emisor Id"
},
"forma_pago": {
"default": "03",
"title": "Forma Pago",
"type": "string"
},
"idempotency_key": {
"default": "",
"title": "Idempotency Key",
"type": "string"
},
"metodo_pago": {
"default": "PUE",
"title": "Metodo Pago",
"type": "string"
},
"observaciones": {
"default": "",
"title": "Observaciones",
"type": "string"
}
},
"required": [
"conceptos"
],
"title": "emitir_cfdiArguments",
"type": "object"
},
"name": "emitir_cfdi",
"outputSchema": null
},
{
"description": "DRY-RUN: valida la factura y calcula los totales (subtotal, IVA, retenciones, total) SIN\n timbrar, reservar ni cobrar. También devuelve la cotización canónica de créditos y el saldo\n proyectado. Úsalo SIEMPRE antes de emitir_cfdi para confirmar el monto, el costo y que los datos\n pasen la validación. Aplicar un anticipo cotiza dos CFDI (ingreso + egreso).\n\n Args:\n conceptos: lista de conceptos. Cada uno: {descripcion, clave_prodserv, clave_unidad,\n cantidad, valor_unitario, precio_incluye_iva (bool), tasa_iva (0.16/0.08/0.0),\n objeto_imp (\"02\"), retencion (\"honorarios\"|\"arrendamiento\"|\"comisiones\"|\"fletes\"|\"\")}.\n cliente: datos del receptor {rfc, nombre, regimen_fiscal, cp, uso_cfdi, email,\n es_publico_general} — o usa cliente_id si ya está guardado.\n cliente_id: id de un cliente guardado (alternativa a `cliente`).\n forma_pago: clave SAT de forma de pago (default \"03\" transferencia).\n metodo_pago: \"PUE\" (de contado) o \"PPD\" (a crédito).\n emisor_id: opcional, desde qué RFC emitir (multiemisor); None = predeterminado.\n anticipo_id: opcional, anticipo previo a aplicar; cotiza dos CFDI.\n ",
"inputSchema": {
"properties": {
"anticipo_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Anticipo Id"
},
"cliente": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente"
},
"cliente_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cliente Id"
},
"conceptos": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Conceptos",
"type": "array"
},
"emisor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Emisor Id"
},
"forma_pago": {
"default": "03",
"title": "Forma Pago",
"type": "string"
},
"metodo_pago": {
"default": "PUE",
"title": "Metodo Pago",
"type": "string"
}
},
"required": [
"conceptos"
],
"title": "preview_facturaArguments",
"type": "object"
},
"name": "preview_factura",
"outputSchema": null
},
{
"description": "Convierte una descripción en lenguaje natural a las claves del SAT necesarias para facturar.\n\n Devuelve `sugerencia` con clave_prodserv, clave_unidad, objeto_imp, tasa_iva y uso_cfdi, más\n `candidatos` por si quieres elegir otra. Llámalo antes de armar un concepto si no conoces las claves.\n\n Args:\n descripcion: qué se vende, p.ej. \"consultoría de marketing\" o \"laptop Dell\".\n unidad_hint: opcional, unidad de medida en palabras (\"servicio\", \"hora\", \"pieza\", \"kg\").\n con_iva: si el producto/servicio causa IVA 16% (default True).\n ",
"inputSchema": {
"properties": {
"con_iva": {
"default": true,
"title": "Con Iva",
"type": "boolean"
},
"descripcion": {
"title": "Descripcion",
"type": "string"
},
"unidad_hint": {
"default": "",
"title": "Unidad Hint",
"type": "string"
}
},
"required": [
"descripcion"
],
"title": "resolver_claves_satArguments",
"type": "object"
},
"name": "resolver_claves_sat",
"outputSchema": null
},
{
"description": "Confirma la identidad del agente: a qué negocio pertenece la API key, sus permisos\n (scopes), límites de emisión y uso del día. Úsalo para diagnosticar la conexión.",
"inputSchema": {
"properties": {},
"title": "whoamiArguments",
"type": "object"
},
"name": "whoami",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:210b55856b767c6bea4d7abe7159956c11e2f95c3b797a3cab8a7203bebafddd | sha256sum