Referência de ferramentas

Todas as 26 ferramentas MCP da Certivant agrupadas pela tarefa que executam — triagem da fila, envio e acompanhamento de formulários, ações do ciclo de vida, explicação de decisões e risco de rede, sessões de verificação de identidade ao vivo, consultas ao registro de KYB e relatórios — com o que cada uma retorna e o que deliberadamente não retorna.

O catálogo tem 26 ferramentas por padrão, limitado deliberadamente a essa quantidade. Acima disso, a precisão de seleção de ferramentas pelo modelo cai de forma mensurável; por isso, uma nova capacidade substitui ou consolida outras em vez de acrescentar mais — list_expiring_documents recebe um argumento mode em vez de trazer duas ferramentas irmãs, e as ferramentas de verificação de identidade ao vivo unem listagem e detalhe em uma só, e reagendar / cancelar / reconvidar ficam em outra. Três ferramentas de conformidade adicionais existem atrás de flags do operador (veja o final desta página).

Cada ferramenta é anotada com honestidade (readOnlyHint, destructiveHint, idempotentHint), para que o seu host possa controlar as que têm consequências no mundo real. Cinco ferramentas enviam e-mails de fato (ou SMS). Duas são destrutivas. As demais apenas leem.

send_form_to_customer, send_verification_reminder e renew_verification enviam e-mails a clientes reais. Nenhuma delas é idempotente: chamar uma duas vezes envia dois e-mails. Se uma chamada falhar, verifique list_form_deliveries antes de tentar de novo, em vez de reenviar às cegas.

Organizar o dia

FerramentaRetornaNão retorna
get_todays_queueUm snapshot agregado de toda a organização: contagens por status, encaminhadas e aguardando segunda revisão, paradas (sem atividade há N dias, padrão 7), verificações de sanções que falharam, encaminhamentos além do SLA de revisão, recheques de KYC vencidos, além da atividade de 24 h e de 7 dias.Apenas contagens — sem IDs de requisição, sem nomes, sem dados de solicitantes. Use as ferramentas de listagem para agir sobre um grupo.
find_verificationBusca de texto livre por nome da pessoa, e-mail, nome da empresa ou referência externa. Uma lista compacta de desambiguação — id, status, tipo, decisão, pontuação, datas, dias desde a última atualização — além do total de correspondências, para que uma busca ambígua continue visivelmente ambígua.Por padrão, os e-mails dos solicitantes não são retornados. Os nomes chegam dentro do envelope não confiável.
list_stalled_verificationsCasos não finalizados sem atividade há N dias (padrão 7), cada um com daysWaiting e os pendingDocTypes ainda pendentes. É a lista de "a quem eu cobro?" — estes aguardam o solicitante.O backlog do lado do revisor. Encaminhamentos e violações de SLA ficam em get_todays_queue. Combinar o filtro com um status finalizado não retorna nada.
whats_changed_sincePassagem de turno: tudo o que foi alterado desde um carimbo de data e hora, do mais antigo para o mais recente, agrupado pelo status atual, com o tempo decorrido desde cada movimentação.Horários em linguagem natural. since precisa ser uma data e hora ISO-8601 completa, como 2026-07-18T00:00:00.000Z — uma data simples é recusada.
get_verification_statusUma forma enxuta de status para um ID de requisição — status, datas, decisão, pontuação geral. Leve o bastante para consultar com frequência.Nenhum dado pessoal, em qualquer configuração.

Comece por get_todays_queue e depois aprofunde. Não reconstrua a fila fazendo um laço com find_verification — o limite por locatário é de 120 requisições por minuto, e um laço o esgota antes de terminar.

Fazer o trabalho avançar

FerramentaRetornaObservações
start_verificationCria uma verificação e retorna, em uma única chamada, o link que o solicitante usa.Não envia e-mail — o link volta para você entregar. Não é idempotente.
start_verifications_batchAté 50 registros em uma chamada. Cada registro é validado e criado de forma independente; um e-mail inválido falha apenas o próprio registro, e os registros bem-sucedidos não são desfeitos. As falhas informam o index na sua lista e o motivo.Use no lugar de um laço com start_verification. Informe as falhas individualmente — nunca como "algumas falharam".
send_form_to_customerEnvia um e-mail real. Cria o solicitante, cria a requisição, gera o link pessoal, envia o convite e retorna um identificador de acompanhamento para get_delivery_status.Não é idempotente — duas vezes significa dois solicitantes, duas requisições e dois e-mails. Obtenha antes o ID do formulário com list_verification_forms; um palpite resulta em 404.
send_verification_reminderEnvia um e-mail real. Lembra o solicitante com um link novo que retoma a mesma requisição — o status e os documentos já enviados são preservados.Apenas enquanto o caso estiver em PENDING_UPLOAD ou DOCUMENTS_READY. Há controle de velocidade no servidor — veja Segurança e limites.
renew_verificationEnvia um e-mail real. Cria uma nova requisição para o mesmo solicitante, vinculada à original, exigindo os mesmos documentos, e envia um aviso de nova verificação.A original não é alterada. Não é idempotente — cada chamada é mais uma renovação e mais um e-mail. Encontre antes os casos vencidos com list_expiring_documents no modo renewals.
resubmit_verificationRedefine uma requisição REJECTED para PENDING_UPLOAD, para que o solicitante possa tentar de novo — a correção usual para uma foto borrada ou um documento de identidade vencido.Destrutiva. Apaga as verificações existentes e a pontuação de risco, então explain_verification_decision não consegue mais explicar a rejeição depois. Leia a explicação antes. Não envia e-mail.
list_verification_formsO catálogo de onde você envia: id, nome, tipo (kyc = pessoa física, kyb = empresa), status e slug público. Por padrão, somente formulários publicados.Nenhum dado de solicitante de qualquer tipo. Um formulário não publicado leva o destinatário ao fluxo genérico de envio, em vez do formulário que você pretendia.
list_form_deliveriesTodos para quem um determinado formulário foi enviado e em que etapa cada um está — sent, started, completed, bounced, failed. status: sent é a lista de cobrança.Os e-mails dos destinatários vêm mascarados por padrão.
get_delivery_statusO ciclo de vida completo de um envio: enviado, entregue, aberto, iniciado, concluído, quantos lembretes foram enviados e quando foi o último.Confie em startedAt / completedAt — são observados no servidor. openedAt depende do rastreamento de abertura do cliente de e-mail, que a maioria dos clientes bloqueia; um openedAt nulo não é prova de que a pessoa ignorou o e-mail.

Entender uma decisão

FerramentaRetornaNão retorna
explain_verification_decisionO raciocínio real do mecanismo de pontuação para uma requisição: quais desqualificadores de nível 1 ou gatilhos de revisão de nível 2 dispararam, quais fatores de pontuação falharam e com base em qual evidência, quais não puderam ser avaliados e por quê, a pontuação em relação ao limite aplicado, quaisquer regras de política disparadas, indicadores de risco de rede com a forma como cada um foi detectado, e um resumo escrito das notas do caso. Também sinaliza quando um revisor humano substituiu o veredito automatizado.Veja a lacuna abaixo — o raciocínio estruturado não está presente em todas as requisições.
get_verification_resultO resultado: status, decisão, pontuação de confiança, cada verificação executada e se passou, a contagem de aprovado / reprovado / não aplicável sobre os fatores de pontuação, quais desqualificadores ou gatilhos de revisão dispararam, redFlags e um resumo network (VPN / proxy / Tor / data center / relay detectado, como, país do IP e operadora de rede, e se o fuso horário do dispositivo corresponde), quais documentos foram enviados e o que o solicitante ainda deve.Nenhum dado pessoal por padrão — sem nome, data de nascimento, números de documento, endereços ou texto de OCR. include_pii: true amplia a resposta para os campos de identidade, e isso é registrado.

reasoningAvailable: false é comum. O raciocínio estruturado do mecanismo de pontuação (verdictMeta) só é registrado em verificações pontuadas desde que foi introduzido; por isso, muitas requisições — na prática, a maioria das antigas — retornam com reasoningAvailable: false e sem detalhamento dos fatores. Em uma verificação pontual de um locatário ativo, nenhuma das 12 requisições mais antigas tinha esse dado, e apenas 5 das 12 mais recentes tinham. Quando isso acontecer, descreva o que o status e as verificações mostram e informe que o raciocínio não foi registrado. Não deduza por que o mecanismo decidiu desse modo.

Risco de rede

Toda conexão de verificação é checada pela própria detecção da Certivant — sem fornecedor terceiro — quanto a redes Tor, VPN, proxy, hospedagem / data center e relays de privacidade. As duas ferramentas acima informam isso como redFlags, mais um objeto network:

  • detected — os tipos encontrados; detections — cada um com a sua origem (uma lista de IPs atualizada diariamente, o nome da operadora, um vazamento de WebRTC ou de DNS, um IP compartilhado por muitos solicitantes, ou uma ida e volta no navegador muito mais longa do que a borda mediu).
  • ipCountry, networkOperator, deviceTimezoneMatchesIp, ipToGpsDistanceKm, likelyRealNetworkCountry.
  • Nunca o endereço IP, o nome do host ou a cidade — são dados pessoais.
  • assessed: false significa não verificado (nenhum IP do solicitante, por exemplo, em requisições criadas pela API) — nunca "limpo".

Um indicador de risco descreve a conexão, não a pessoa: usuários preocupados com privacidade e usuários corporativos usam VPNs. Cada organização escolhe, por tipo, se uma detecção rejeita, encaminha para revisão, apenas sinaliza ou é ignorada.

Verificação de identidade ao vivo

FerramentaRetornaObservações
list_live_verificationsSem conference_id: sessões filtradas por status (scheduled, in_progress, completed, cancelled, ou expired = nunca aconteceu), requisição, referência ou intervalo de datas. Com conference_id: o detalhe daquela sessão — anfitrião, se o solicitante entrou e consentiu, configurações da sessão (envio de arquivo pelo solicitante, verificação automática dos documentos recebidos), decisão e resultado, gravação e certificado.Nenhum nome ou e-mail do solicitante, a menos que include_pii: true seja usado com um conference_id (registrado em auditoria).
schedule_live_verificationAgenda uma sessão para uma requisição existente (scheduled_for com fuso horário, ou start_now), com applicant_file_upload e auto_verify_documents opcionais.Envia e-mail ou SMS ao solicitante. Não é idempotente; uma requisição com uma sessão já acessível retorna 409. O link de entrada único é retornado apenas no texto — compartilhe-o somente com o solicitante.
manage_live_verificationaction: reschedule (os participantes são notificados), resend_invitation (novo link; o antigo deixa de funcionar) ou cancel.Marcada como destrutiva: o cancelamento é irreversível. Confirme antes de cancelar ou reconvidar.

KYB

FerramentaRetornaObservações
get_business_recordO que a empresa declarou em uma requisição BUSINESS: nome da empresa, número de registro, país e tipo de constituição, status de KYB, o representante autorizado e como ele foi conciliado, além de diretores e beneficiários finais declarados, com percentuais de participação e qualquer requisição de KYC vinculada que verifique um UBO.Uma leitura pura do que a Certivant armazena. Não faz nenhuma consulta ao registro e não tem custo. Não informa se algo disso é verdadeiro.
check_company_registryO diff entre o registro societário público e o que a empresa declarou: quais diretores declarados o registro não lista e quais diretores do registro nunca foram declarados. O diff é a resposta; o registro bruto é evidência de apoio.Não é uma leitura — faz uma consulta externa cobrável ao registro e, em caso de correspondência, marca o registro de KYB como verified. Chame uma vez por empresa, nunca em laço.
submit_business_detailsRegistra os dados de KYB de uma empresa em uma requisição BUSINESS existente — razão social, número de registro, país e tipo de constituição, diretores e beneficiários finais.Efeitos colaterais além do registro: dispara uma consulta em segundo plano ao registro e cria uma requisição de verificação INDIVIDUAL separada para cada beneficiário final com 25% ou mais de participação (o limiar do GAFI / FATF). Nunca chame por precaução ou para "corrigir um erro de digitação".

Limitação conhecida: check_company_registry está falhando em produção. A consulta ao registro upstream retorna 401, porque a chave da API do OpenCorporates não está sendo repassada; por isso, o diff de correspondência de diretores ainda não foi comprovado contra uma correspondência real no registro. Enquanto isso não for corrigido, espere um erro em vez de um diff, e não crie um fluxo de trabalho que dependa do caminho de sucesso desta ferramenta. get_business_record e submit_business_details não são afetados.

Relatórios e documentos

FerramentaRetornaNão retorna
get_compliance_metricsO resumo de todo o locatário: taxa de aprovação e o funil completo (enviadas / pendentes / em processamento / aprovadas / rejeitadas / encaminhadas), volume por tipo de documento, resultados por nacionalidade, uma tendência diária de 30 dias e taxas de falha por verificação, mostrando qual verificação mais falha — OCR, comparação facial, prova de vida, sanções.Não é uma lista de motivos de rejeição. "Principais motivos de rejeição" não é algo que esta ferramenta produz; o que ela fornece são as taxas de falha por verificação. Também não há dados de registros individuais nem dado pessoal algum.
list_expiring_documentsDois modos. documents (padrão) — verificações cujos documentos enviados vencem ou ficam desatualizados em N dias (um documento de identidade vencido, ou um documento de apoio com data mais antiga que a janela de recência do locatário). renewals — verificações cuja própria re-verificação periódica está vencida (o expiresAt da requisição), atrasada ou prestes a vencer em N dias.São perguntas diferentes. Um passaporte válido em uma requisição com renovação anual vencida aparece apenas em renewals. Execute o modo que você realmente pediu.
list_verification_documentsSomente metadados de cada documento de uma requisição: tipo (passport, id_card, drivers_license, selfie, business_reg, utility_bill, bank_statement), lado, status de processamento, tipo e tamanho do arquivo, data de envio e as datas extraídas do próprio documento, incluindo se ele aparece como vencido.Nenhuma imagem, nenhum texto de OCR, nenhum número de documento, nenhum nome, nenhum endereço, nenhuma MRZ — o bloco de OCR é excluído estruturalmente e não pode ser obtido em nenhuma configuração.
get_document_download_urlUma URL assinada de curta duração (15 minutos), para que uma pessoa possa visualizar um documento enviado, além da validade dela.Não retorna o arquivo, e o agente não deve buscá-lo — um documento de identidade trazido para uma conversa é uma cópia do passaporte nos registros de um provedor de modelo. O link não exige credenciais, então trate-o como um segredo: entregue-o à pessoa que pediu e pare por aí.

Ferramentas de conformidade com acesso controlado

Três ferramentas existem, mas estão desativadas por padrão. O controle é aplicado no momento do registro; por isso, com a flag não definida, a ferramenta não aparece em tools/list. Cada uma precisa de sua própria flag definida exatamente como "true" no servidor MCP, e de uma chave de API com o escopo kyc:manage:

FerramentaFlagO que faz
decide_verificationCERTIVANT_MCP_ALLOW_DECISIONSRegistra uma aprovação ou rejeição manual. Uma decisão regulada tomada em um contexto que contém texto controlado pelo solicitante — habilite-a de forma deliberada.
export_applicant_dataCERTIVANT_MCP_ALLOW_EXPORTInicia um job de exportação de dados (GDPR).
erase_applicantCERTIVANT_MCP_ALLOW_ERASUREExclusão de dados (GDPR) — irreversível; exige repetir uma confirmação.

O que não está no catálogo

  • get_fraud_signals, explain_to_applicant, submit_verification — não disponíveis.
  • Configurações (limites, ações de risco de rede, política de privacidade, funções) — gerenciadas apenas no painel; a chave de API do conector não consegue lê-las.