Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,551Letters: 14Defects: 1,323counted 2 min ago
teppi

Server definition

Hash
sha256:c41e3e80a35d3cb7fd76e4b66f2672712b085807466710c8173d959f36a0244d
What it is
What a remote MCP server returned when asked what it offers: 11 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Genera un documento de firma electrónica a partir de una plantilla. Flujo: listar_plantillas → esta herramienta → enviar_documento. Devuelve el `documentId` y el `signingUrl` de cada firmante. IMPORTANTE: el documento queda en borrador (no consume crédito) hasta que lo envíes con enviar_documento.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "asunto": { "description": "Asunto del email de invitación.", "type": "string" }, "avisar_por_whatsapp": { "description": "true = a cada firmante que tenga `telefono` cargado se le manda el link de firma por WhatsApp, ADEMÁS del email. Consume 1 crédito de WhatsApp por mensaje enviado (ver estado_cuenta). Sin saldo o sin teléfono no se manda nada y el email sale igual.", "type": "boolean" }, "codigo_por_whatsapp": { "description": "true = cada firmante debe ingresar un código de un solo uso recibido por WhatsApp antes de completar la firma (firma electrónica avanzada). OBLIGA a cargar `telefono` en TODOS los firmantes (sin teléfono, enviar_documento falla). Consume 1 crédito de WhatsApp por firmante, de la misma bolsa que los avisos (`whatsapp` en estado_cuenta); sin saldo el firmante firma normal.", "type": "boolean" }, "firmantes": { "description": "Los firmantes de esta instancia.", "items": { "additionalProperties": false, "properties": { "apellido": { "description": "Apellido(s) por separado, para la validación biométrica.", "maxLength": 255, "type": "string" }, "dni_numero": { "description": "Número de documento de identidad esperado. MUY recomendado si activás biometría: es lo único que garantiza que quien se verificó sea la persona a la que le mandás a firmar. Sin este dato, la verificación confirma que el documento presentado es auténtico y que la cara coincide con ese documento, pero no que sea el documento de tu firmante. Si no coincide, la verificación se rechaza y no se consume crédito.", "maxLength": 32, "type": "string" }, "email": { "description": "Email real del firmante para este documento.", "format": "email", "type": "string" }, "id": { "description": "El `id` del firmante DE LA PLANTILLA (viene de listar_plantillas). Opcional: si la plantilla tiene un solo firmante se resuelve automáticamente, y si tiene varios se empareja por el orden de este array.", "type": "integer" }, "nombre": { "description": "Nombre completo del firmante.", "type": "string" }, "nombre_pila": { "description": "Nombre(s) por separado, para la validación biométrica.", "maxLength": 255, "type": "string" }, "telefono": { "description": "Teléfono en formato internacional (por ej. \"+5491123456789\") para mandarle el link de firma por WhatsApp además del email. Requiere que la cuenta tenga saldo de WhatsApp (ver estado_cuenta) y que el documento lo tenga activado; si falta algo se ignora y el firmante recibe el email.", "pattern": "^\\+[1-9]\\d{7,14}$", "type": "string" } }, "required": [ "email" ], "type": "object" }, "minItems": 1, "type": "array" }, "mensaje": { "description": "Mensaje del email de invitación.", "type": "string" }, "plantilla_id": { "description": "El `id` de la plantilla.", "exclusiveMinimum": 0, "type": "integer" }, "requiere_biometria": { "description": "true = cada firmante debe aprobar la verificación biométrica (DNI + prueba de vida) antes de firmar. Consume 1 crédito de verificación por aprobada.", "type": "boolean" }, "titulo": { "description": "Título del documento (si no, hereda el de la plantilla).", "type": "string" } }, "required": [ "plantilla_id", "firmantes" ], "type": "object" }, "name": "crear_documento_desde_plantilla", "outputSchema": null }, { "description": "Devuelve una URL temporal (1 hora, sin token) para bajar la constancia de firma como PDF aparte: firmantes, fechas, IP, dispositivo y hash SHA-256 del PDF firmado. En esta plataforma la constancia ya va dentro del PDF firmado; esto es para tenerla como archivo separado. Sólo documentos COMPLETED.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "documento_id": { "exclusiveMinimum": 0, "type": "integer" } }, "required": [ "documento_id" ], "type": "object" }, "name": "descargar_constancia", "outputSchema": null }, { "description": "Devuelve una URL firmada de descarga del PDF firmado (con la constancia integrada al final). Pasado el plazo de resguardo responde 410.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "documento_id": { "exclusiveMinimum": 0, "type": "integer" } }, "required": [ "documento_id" ], "type": "object" }, "name": "descargar_documento_firmado", "outputSchema": null }, { "description": "Pone el documento en firma. ACÁ se consume el crédito del documento; sin este paso queda en borrador. Por defecto manda el email de invitación a cada firmante. Con `enviar_email: false` NO manda ningún email: el documento igual queda en firma y vos distribuís los `signingUrl` por el canal que quieras (WhatsApp, tu propio mail, un chat). Los links los conseguís con `obtener_documento`.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "documento_id": { "description": "El `id` numérico del documento.", "exclusiveMinimum": 0, "type": "integer" }, "enviar_email": { "description": "false = no mandar ningún email de invitación. Por defecto true.", "type": "boolean" } }, "required": [ "documento_id" ], "type": "object" }, "name": "enviar_documento", "outputSchema": null }, { "description": "Saldos de la cuenta: créditos de documentos y, si la plataforma los usa, verificación de identidad biométrica, WhatsApp y SMS.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "estado_cuenta", "outputSchema": null }, { "description": "Lista los documentos del equipo con su estado (DRAFT, PENDING, COMPLETED, REJECTED).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "pagina": { "description": "Página (por defecto 1).", "exclusiveMinimum": 0, "type": "integer" } }, "type": "object" }, "name": "listar_documentos", "outputSchema": null }, { "description": "Lista las plantillas del equipo con sus `id` y firmantes. Las plantillas se arman en la interfaz web; desde acá se usan para generar documentos.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "pagina": { "description": "Página (por defecto 1).", "exclusiveMinimum": 0, "type": "integer" } }, "type": "object" }, "name": "listar_plantillas", "outputSchema": null }, { "description": "Devuelve un documento por su `id` numérico: estado, `meta` (`requireBiometricId`, `requireWhatsappOtp`, idioma), firmantes (con `signingStatus`, `signingUrl` y la identidad esperada para la biometría: `idDocumentNumber`, `firstName`, `lastName`), campos y `envelopeId`.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "documento_id": { "description": "El `id` numérico del documento.", "exclusiveMinimum": 0, "type": "integer" } }, "required": [ "documento_id" ], "type": "object" }, "name": "obtener_documento", "outputSchema": null }, { "description": "Reenvía el email de firma a firmantes que todavía no firmaron.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "documento_id": { "exclusiveMinimum": 0, "type": "integer" }, "firmantes": { "description": "Los `recipientId` a los que reenviar (de obtener_documento).", "items": { "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "documento_id", "firmantes" ], "type": "object" }, "name": "reenviar_invitacion", "outputSchema": null }, { "description": "Devuelve la traza de auditoría completa del documento en JSON (creación, envío, apertura, firmas, con fecha/IP/dispositivo). Resuelve el envelopeId automáticamente a partir del id numérico.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "documento_id": { "exclusiveMinimum": 0, "type": "integer" }, "pagina": { "exclusiveMinimum": 0, "type": "integer" } }, "required": [ "documento_id" ], "type": "object" }, "name": "traza_auditoria", "outputSchema": null }, { "description": "Verifica criptográficamente las firmas de un PDF (de Identik o firma digital argentina): integridad, cadena, sello de tiempo RFC-3161, y si es un documento de PRUEBA. Equivalente autenticado del validador público /validar.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "pdf_base64": { "description": "El PDF completo, en base64 (máx. 15 MB).", "maxLength": 21495808, "type": "string" } }, "required": [ "pdf_base64" ], "type": "object" }, "name": "validar_pdf", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:c41e3e80a35d3cb7fd76e4b66f2672712b085807466710c8173d959f36a0244d | sha256sum