Referencia de herramientas
Las 26 herramientas MCP de Certivant agrupadas por la tarea que realizan: triaje de la cola, envío y seguimiento de formularios, acciones del ciclo de vida, explicación de decisiones y riesgo de red, sesiones de verificación Live ID, comprobaciones de registro KYB e informes, con lo que devuelve cada una y lo que deliberadamente no hace.
El catálogo tiene 26 herramientas por defecto, limitadas deliberadamente a aproximadamente esa cifra.
Por encima de ella, la precisión del modelo al elegir herramientas se degrada de forma medible, así que
una nueva capacidad reemplaza o consolida en lugar de añadir: list_expiring_documents recibe un argumento
mode en lugar de incorporar dos herramientas hermanas, y las herramientas de verificación Live ID agrupan
listado y detalle en una sola, y reprogramar / cancelar / reinvitar en otra. Otras tres herramientas de
cumplimiento existen detrás de indicadores de operador (consulte el final de esta página).
Cada herramienta está anotada con honestidad (readOnlyHint, destructiveHint, idempotentHint) para que
su host pueda controlar las que tienen consecuencias reales. Cinco herramientas envían correo electrónico
(o SMS) de verdad. Dos son destructivas. Todo lo demás es de lectura.
send_form_to_customer, send_verification_reminder y renew_verification envían correos a clientes
reales. Ninguna es idempotente: si llama a una dos veces, se envían dos correos. Si una llamada da error,
consulte list_form_deliveries antes de reintentar, en lugar de volver a enviar a ciegas.
Gestionar la jornada
| Herramienta | Devuelve | No devuelve |
|---|---|---|
get_todays_queue | Una instantánea agregada de toda la organización: recuentos por estado, escalados y pendientes de segunda revisión, estancados (sin actividad durante N días, por defecto 7), comprobaciones de sanciones fallidas, escalados que han superado el SLA de revisión, re-KYC pendientes, además de actividad de 24 h y 7 días. | Solo recuentos: sin ID de solicitud, sin nombres, sin datos de solicitantes. Haga un seguimiento con las herramientas de listado para actuar sobre un grupo. |
find_verification | Búsqueda de texto libre por nombre de persona, correo electrónico, nombre de empresa o referencia externa. Una lista compacta de desambiguación (id, estado, tipo, decisión, puntuación, marcas de tiempo y días desde la última actualización), además del número de coincidencias, para que una búsqueda ambigua siga siendo visiblemente ambigua. | Las direcciones de correo no se devuelven por defecto. Los nombres de los solicitantes llegan dentro del sobre no confiable. |
list_stalled_verifications | Casos no terminales sin actividad durante N días (por defecto 7), cada uno con daysWaiting y los pendingDocTypes que aún se deben. Es la lista de «¿a quién reclamo?»: estos casos esperan al solicitante. | El retraso del lado del revisor. Los escalados y las infracciones de SLA están en get_todays_queue. Combinar el filtro con un estado terminal no devuelve nada. |
whats_changed_since | Relevo de turno: todo lo tocado desde una marca de tiempo, del más antiguo al más reciente, agrupado por el estado que tienen ahora, con el tiempo transcurrido desde cada cambio. | Horas en lenguaje natural. since debe ser una fecha-hora ISO-8601 completa, como 2026-07-18T00:00:00.000Z; una fecha sola se rechaza. |
get_verification_status | Una forma reducida del estado de una solicitud concreta: estado, marcas de tiempo, decisión y puntuación global. Lo bastante ligera para consultarla periódicamente. | Ningún dato personal con ningún ajuste. |
Empiece con get_todays_queue y luego profundice. No reconstruya la cola con un bucle sobre
find_verification: el límite por inquilino es de 120 solicitudes por minuto y un bucle lo agota antes
de terminar.
Hacer avanzar el trabajo
| Herramienta | Devuelve | Notas |
|---|---|---|
start_verification | Crea una verificación y devuelve el enlace que usa el solicitante, en una sola llamada. | No envía correo: el enlace se le devuelve a usted para que lo entregue. No es idempotente. |
start_verifications_batch | Hasta 50 filas en una sola llamada. Cada fila se valida y se crea de forma independiente; un correo incorrecto hace fallar solo esa fila y las filas correctas no se revierten. Los fallos indican el index en su lista y el motivo. | Úselo en lugar de hacer un bucle con start_verification. Informe de los fallos individualmente, nunca como «algunos fallaron». |
send_form_to_customer | Envía un correo real. Crea el solicitante, crea la solicitud, genera el enlace personal, envía la invitación y devuelve un identificador de seguimiento para get_delivery_status. | No es idempotente: dos llamadas significan dos solicitantes, dos solicitudes y dos correos. Obtenga primero el id del formulario desde list_verification_forms; adivinarlo devuelve 404. |
send_verification_reminder | Envía un correo real. Recuerda al solicitante con un enlace nuevo que reanuda la misma solicitud: se conservan el estado y los documentos ya subidos. | Solo mientras el caso esté en PENDING_UPLOAD o DOCUMENTS_READY. Limitada en el servidor: consulte Seguridad y límites. |
renew_verification | Envía un correo real. Crea una nueva solicitud para el mismo solicitante, vinculada a la original, que exige los mismos documentos, y envía un aviso de nueva verificación por correo. | La original no se modifica. No es idempotente: cada llamada es otra renovación y otro correo. Localice primero los casos vencidos con list_expiring_documents en modo renewals. |
resubmit_verification | Devuelve una solicitud REJECTED a PENDING_UPLOAD para que el solicitante pueda reintentarlo: la solución habitual para una foto borrosa o un documento de identidad caducado. | Destructiva. Elimina las comprobaciones existentes y la puntuación de riesgo, así que explain_verification_decision ya no podrá explicar el rechazo después. Lea antes la explicación. No envía correo. |
list_verification_forms | El catálogo desde el que envía: id, nombre, tipo (kyc = individual, kyb = empresa), estado y slug público. Solo formularios publicados por defecto. | Ningún dato de solicitantes de ningún tipo. Un formulario no publicado envía al destinatario al flujo genérico de carga en lugar del formulario que pretendía. |
list_form_deliveries | Todas las personas a las que se envió un formulario concreto y la situación de cada una: sent, started, completed, bounced, failed. status: sent es la lista para reclamar. | Los correos de los destinatarios van enmascarados por defecto. |
get_delivery_status | El ciclo de vida completo de una entrega: enviada, entregada, abierta, iniciada, completada, cuántos recordatorios se enviaron y cuándo se envió el último. | Confíe en startedAt/completedAt: se observan en el servidor. openedAt depende del seguimiento de apertura del cliente de correo, que la mayoría de los clientes bloquea; un openedAt nulo no es prueba de que la persona ignorara el correo. |
Entender una decisión
| Herramienta | Devuelve | No devuelve |
|---|---|---|
explain_verification_decision | El razonamiento real del motor de puntuación para una solicitud: qué descalificadores de nivel 1 o desencadenantes de revisión de nivel 2 se activaron, qué factores de puntuación fallaron y con qué evidencia, cuáles no pudieron evaluarse y por qué, la puntuación frente al umbral aplicado, las reglas de política que se activaron, las banderas rojas de riesgo de red con el modo en que se detectó cada una, y un resumen escrito de la nota del caso. También indica cuándo un revisor humano anuló el veredicto automático. | Consulte el hueco más abajo: el razonamiento estructurado no está presente en todas las solicitudes. |
get_verification_result | El resultado: estado, decisión, puntuación de confianza, cada comprobación que se ejecutó y si la superó, un recuento de superado/fallido/no aplicable sobre los factores de puntuación, qué descalificadores o desencadenantes de revisión se activaron, redFlags y un resumen network (VPN / proxy / Tor / centro de datos / relé detectado, cómo, el país y el operador de red de la IP, si la zona horaria del dispositivo coincide), qué documentos se aportaron y qué le sigue debiendo el solicitante. | Ningún dato personal por defecto: ni nombre, fecha de nacimiento, números de documento, direcciones ni texto OCR. include_pii: true amplía la respuesta a los campos de identidad y queda registrado. |
reasoningAvailable: false es habitual. El razonamiento estructurado del motor de puntuación
(verdictMeta) solo se registra en las verificaciones puntuadas desde que se introdujo, así que muchas
solicitudes —en la práctica, la mayoría de las antiguas— devuelven reasoningAvailable: false y ningún
desglose de factores. En una comprobación puntual de un inquilino en vivo, ninguna de las 12 solicitudes más
antiguas lo tenía y solo 5 de las 12 más recientes sí. Cuando lo vea, describa lo que muestran el estado y las
comprobaciones, e indique que el razonamiento no se registró. No deduzca por qué decidió el motor de puntuación.
Riesgo de red
La conexión de cada verificación la comprueba la detección propia de Certivant, sin ningún proveedor externo, para
redes Tor, VPN, proxy, alojamiento / centro de datos y relés de privacidad. Ambas herramientas anteriores lo informan
como redFlags más un objeto network:
detected: los tipos encontrados;detections: cada uno con su origen (una lista de IP actualizada a diario, el nombre del operador, una fuga de WebRTC o DNS, una IP compartida por muchos solicitantes, o un viaje de ida y vuelta del navegador mucho más largo de lo que midió el borde).ipCountry,networkOperator,deviceTimezoneMatchesIp,ipToGpsDistanceKm,likelyRealNetworkCountry.- Nunca la dirección IP, el nombre de host ni la ciudad: son datos personales.
assessed: falsesignifica no comprobado (no hay IP del solicitante, por ejemplo en solicitudes creadas por API): nunca significa «limpio».
Una bandera roja describe la conexión, no a la persona: los usuarios preocupados por la privacidad y los usuarios corporativos usan VPN. Cada organización elige, por tipo, si una detección rechaza, escala, solo marca o se ignora.
Verificación Live ID
| Herramienta | Devuelve | Notas |
|---|---|---|
list_live_verifications | Sin conference_id: sesiones filtradas por estado (scheduled, in_progress, completed, cancelled, o expired = nunca se celebró), solicitud, referencia o intervalo de fechas. Con conference_id: el detalle de esa sesión: anfitrión, si el solicitante se unió y dio su consentimiento, ajustes de la sesión (carga de archivos del solicitante, verificación automática de los documentos recibidos), decisión y resultado, grabación y certificado. | Sin nombre ni correo del solicitante, salvo con include_pii: true junto con conference_id (auditado). |
schedule_live_verification | Programa una sesión para una solicitud existente (scheduled_for con zona horaria, o start_now), con applicant_file_upload y auto_verify_documents opcionales. | Envía correo o SMS al solicitante. No es idempotente; una solicitud con una sesión a la que se puede unir devuelve 409. El enlace de acceso de un solo uso se devuelve solo en el texto: compártalo únicamente con el solicitante. |
manage_live_verification | action: reschedule (se notifica a los participantes), resend_invitation (enlace nuevo; el anterior deja de funcionar) o cancel. | Anotada como destructiva: cancelar es irreversible. Confirme antes de cancelar o reinvitar. |
KYB
| Herramienta | Devuelve | Notas |
|---|---|---|
get_business_record | Lo que la empresa declaró en una solicitud BUSINESS: nombre de la empresa, número de registro, país y tipo de constitución, estado KYB, el representante autorizado y cómo se comparó, además de los directores y beneficiarios finales declarados con sus porcentajes de propiedad y cualquier solicitud KYC vinculada que verifique a un UBO. | Una simple lectura de lo que tiene Certivant. No realiza ninguna llamada al registro y no tiene coste. No le indica si algo de ello es cierto. |
check_company_registry | La diferencia entre el registro mercantil público y lo que declaró la empresa: qué directores declarados no aparecen en el registro y qué directores del registro nunca se declararon. La diferencia es la respuesta; el registro en bruto es evidencia de apoyo. | No es una lectura: realiza una llamada facturable al registro externo y, si hay coincidencia, marca el registro KYB como verified. Llámela una vez por empresa, nunca en un bucle. |
submit_business_details | Registra los datos KYB de una empresa en una solicitud BUSINESS existente: razón social, número de registro, país y tipo de constitución, directores y beneficiarios finales. | Efectos secundarios además del registro: dispara una consulta de registro en segundo plano y crea una solicitud de verificación INDIVIDUAL separada para cada beneficiario final con 25 % o más de propiedad (el umbral del GAFI). Nunca la llame de forma especulativa ni para «corregir una errata». |
Limitación conocida: check_company_registry falla actualmente en producción. La llamada al registro
externo devuelve 401 porque la clave de la API de OpenCorporates no se transmite, así que la comparación de
directores no está probada contra una coincidencia real en el registro. Hasta que se corrija, espere un error en
lugar de una diferencia, y no construya un flujo de trabajo que dependa del camino feliz de esta herramienta.
get_business_record y submit_business_details no se ven afectadas.
Informes y documentos
| Herramienta | Devuelve | No devuelve |
|---|---|---|
get_compliance_metrics | El resumen de todo el inquilino: tasa de aprobación y el embudo completo (enviadas / pendientes / en procesamiento / aprobadas / rechazadas / escaladas), volumen por tipo de documento, resultados por nacionalidad, una tendencia diaria de 30 días y tasas de fallo por comprobación que muestran qué comprobación falla más: OCR, comparación facial, prueba de vida, sanciones. | No es una lista de motivos de rechazo. «Principales motivos de rechazo» no es algo que produzca esta herramienta; lo que ofrece son tasas de fallo por comprobación. Tampoco incluye datos de filas ni datos personales en absoluto. |
list_expiring_documents | Dos modos. documents (por defecto): verificaciones cuyos documentos subidos caducan o quedan obsoletos en N días (un documento de identidad caducado, o un documento de respaldo fechado más antiguo que la ventana de actualidad del inquilino). renewals: verificaciones cuya propia revisión periódica está vencida (el expiresAt de la solicitud), atrasada o próxima en N días. | Son preguntas distintas. Un pasaporte válido en una solicitud que toca su renovación anual aparece solo en renewals. Ejecute el modo que le han pedido realmente. |
list_verification_documents | Solo metadatos de cada documento de una solicitud: tipo (passport, id_card, drivers_license, selfie, business_reg, utility_bill, bank_statement), cara, estado de procesamiento, tipo y tamaño del archivo, hora de subida y las fechas extraídas del propio documento, incluido si se lee como caducado. | Ni imagen, ni texto OCR, ni número de documento, ni nombre, ni dirección, ni MRZ: el blob de OCR queda excluido de forma estructural y no puede obtenerse con ningún ajuste. |
get_document_download_url | Una URL firmada de corta duración (15 minutos) para que una persona pueda ver un documento subido, además de su duración. | No devuelve el archivo, y el agente no debe descargarlo: un documento de identidad traído a una conversación es una copia del pasaporte en los registros de un proveedor de modelos. El enlace no requiere credenciales, así que trátelo como un secreto: entréguelo a la persona que lo pidió y termine ahí. |
Herramientas de cumplimiento restringidas
Tres herramientas existen, pero están desactivadas por defecto. La restricción se aplica en el registro, así que,
si el indicador no está definido, la herramienta ni siquiera aparece en tools/list. Cada una necesita su propio indicador
fijado exactamente a "true" en el servidor MCP y una clave de API con el ámbito kyc:manage:
| Herramienta | Indicador | Qué hace |
|---|---|---|
decide_verification | CERTIVANT_MCP_ALLOW_DECISIONS | Registra una aprobación o un rechazo manual. Una decisión regulada tomada en un contexto que contiene texto controlado por el solicitante: actívela deliberadamente. |
export_applicant_data | CERTIVANT_MCP_ALLOW_EXPORT | Inicia un trabajo de exportación de datos RGPD. |
erase_applicant | CERTIVANT_MCP_ALLOW_ERASURE | Supresión RGPD: irreversible; requiere repetir una confirmación. |
Lo que no está en el catálogo
get_fraud_signals,explain_to_applicant,submit_verification: no se incluyen.- Ajustes (umbrales, acciones de riesgo de red, política de privacidad, roles): se gestionan solo en el panel; la clave de API del conector no puede leerlos.
Instalación
Conecte cualquier cliente MCP (Claude, Cursor, VS Code, OpenAI Codex, Gemini, Mistral) al servidor MCP de Certivant usando su clave de API de Certivant existente como token Bearer.
Recursos y prompts
Los cuatro recursos MCP que el modelo puede consultar como contexto sin coste, y los cinco flujos de trabajo empaquetados como prompts: triaje matinal, enviar y seguir, reclamar a los estancados, informe mensual de cumplimiento e investigar un caso.