Valida CPFs, confirma titularidade e descobre CPFs parciais ou ilegíveis consultando o TRT3 com resolução automática de CAPTCHA via rede neural local.
This MCP server demonstrates solid fundamentals with 6 tools addressing CPF (Brazilian tax ID) validation and lookup. All tools have verb-noun naming, descriptions between 100-400 chars, and explicit input schemas with type definitions. Parameter descriptions are present and specific. However, output schemas are not formally documented, error handling lacks recovery guidance, and several parameters could benefit from stricter constraints (enums, ranges). The server correctly validates inputs early (CPF format/length checks in check_cpf), but error messages could be more actionable for LLM self-correction. Tool composition is sound, each tool has a single responsibility, and dependencies are well-documented (find_cpf_by_* require generate_valid_variations internally). The descriptions are LLM-friendly, explaining WHEN and WHY to call each tool.
Consulta um CPF na fonte configurada (SOURCE) e devolve a certidão. Valida o CPF, resolve o captcha da fonte automaticamente e retorna o resultado.
Valida e confirma titularidade de uma lista de CPFs em paralelo consultando o TRT3. CPFs inválidos são agrupados no campo 'erros' sem interromper os demais. 'total' conta os CPFs recebidos; 'total_consultados', os que foram consultados.
Descobre o CPF completo a partir de uma máscara com curingas nos dígitos desconhecidos. Gera todas as combinações matematicamente válidas e consulta o TRT3 em paralelo. Se 'nome' for informado, filtra somente os resultados que contenham o nome na certidão.
Dado um CPF parcial ou com erros, encontra o CPF correto filtrando pelo nome. Gera todas as variações matematicamente válidas e consulta o TRT3 em paralelo. Ideal para recuperar um CPF com um dígito faltando ou digitado errado.
Gera variações matematicamente válidas de um CPF possivelmente errado. Estratégias: original, recalcula dígitos verificadores, troca 1 dígito (qualquer das 11 posições, mantendo os demais), transpõe pares adjacentes.
Output schemas not formally documented. Tools return dicts with fields like 'valido', 'erro', 'encontrado', 'matches', 'candidatos_gerados', but LLM cannot see the structure before execution. This forces trial-and-error parsing.
Error messages lack recovery guidance. E.g., check_cpf returns {'erro': 'CPF matematicamente inválido'} with no suggestion to call find_cpf_by_variations or generate_valid_variations. This forces the LLM to guess next steps.
workers parameter (find_cpf_by_mask, find_cpf_by_variations, check_multiple_cpfs) lacks enum/min/max constraints in visible schema. Description states 'mínimo 1, máximo 20' but schema does not enforce this. LLMs may pass invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 82 | <=2025-11-25 | v2 |
Valida se um CPF é matematicamente válido (dígitos verificadores corretos).
Parameter 'mascara' in find_cpf_by_mask accepts free-form strings with wildcard equivalents (* X x ? _ #). No enum or regex pattern validates these. LLMs may pass invalid masks like '***-***-***-**' (wrong format) or hallucinate unsupported wildcards.
Batch tool check_multiple_cpfs does not document per-item vs. blanket error handling. If one CPF is invalid and others fail due to timeout, does the tool return partial results (some in 'erros', some consulted) or fail entirely?
Tool descriptions use Portuguese terms ('certidão', 'dígitos verificadores', 'TRT3') without English explanation. For non-Portuguese-speaking LLMs, this creates ambiguity about what these lookups return and when to call them.