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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c41e3e80a35d3cb7fd76e4b66f2672712b085807466710c8173d959f36a0244d | sha256sum