{"id":565173,"recorded_at":"2026-10-27T21:54:07.757717Z","observed_at":"2026-10-27T21:54:07.757671Z","subject_kind":"endpoint","subject":"b398fc0f-020a-4246-ae65-1a77f7588956","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":5,"tools":[{"description":"Gera massa de teste a partir de um schema JSON do massa e devolve o arquivo como texto (csv, json ou script sql). Até 100 linhas por chamada; acima disso nada é gerado e a resposta traz o schema e um curl para a API (/api/generate), que gera o volume todo. Com formato xlsx (Excel), devolve um link que baixa o arquivo, sem o teto de linhas: mostre o link ao usuário exatamente como veio. Sem seed no schema, uma é sorteada e devolvida: com a mesma seed e o mesmo schema, o resultado é idêntico. Schema inválido volta como erro com as mensagens campo a campo.","inputSchema":{"additionalProperties":false,"properties":{"dialeto":{"description":"banco do script, só com formato sql: mysql, oracle ou sqlserver. Vazio é SQL padrão (Postgres)","enum":["","mysql","oracle","sqlserver"],"type":"string"},"formato":{"description":"csv (padrão), json, sql ou xlsx (Excel: volta um link para baixar o arquivo, que não entra no contexto)","enum":["csv","json","sql","xlsx"],"type":"string"},"schema":{"description":"o schema JSON do massa, como objeto","properties":{"fields":{"items":{"properties":{"name":{"description":"Nome da coluna","type":"string"},"type":{"description":"Tipo de campo (veja listar_tipos)","type":"string"}},"required":["name","type"],"type":"object"},"minItems":1,"type":"array"},"ref_date":{"description":"Data de referência AAAA-MM-DD para idade e data_nascimento. Omitida, vale o dia da geração","type":"string"},"rows":{"description":"Quantidade de linhas","minimum":1,"type":"integer"},"seed":{"description":"Semente do sorteio. Omitida ou 0, o servidor sorteia uma e a devolve","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["rows","fields"],"type":"object"},"tabela":{"description":"nome da tabela dos INSERT, só com formato sql (aceita esquema.tabela; padrão massa)","type":"string"}},"required":["schema"],"type":"object"},"name":"gerar"},{"description":"Gera de 1 a 100 documentos válidos de um tipo: cpf, cnpj, cartao (número, validade e CVV), conta (banco, agência e conta com DV) ou senha. Os dígitos verificadores são calculados, não inventados. Cada tipo aceita só as suas opções (uf no cpf, alfanumerico no cnpj, bandeira no cartao, banco na conta, as regras de tamanho e caracteres na senha); opção que não vale para o tipo é erro. Devolve também a seed usada.","inputSchema":{"additionalProperties":false,"properties":{"alfanumerico":{"description":"só cnpj: formato alfanumérico novo (IN RFB 2.229/2024)","type":"boolean"},"banco":{"description":"só conta: código do banco (001, 033, 041, 104, 237, 341); vazio sorteia","type":"string"},"bandeira":{"description":"só cartao: visa, mastercard, elo, amex, hipercard ou diners; vazio sorteia","type":"string"},"especiais":{"description":"só senha: caracteres especiais aceitos (padrão !@#$%&*-_+=?)","type":"string"},"mascara":{"description":"com pontuação: cpf, cnpj, cartao (espaços) e conta (hífen no DV). Não vale para senha","type":"boolean"},"min_especiais":{"description":"só senha: mínimo de especiais; 0 não usa o tipo (padrão 1)","minimum":0,"type":"integer"},"min_maiusculas":{"description":"só senha: mínimo de maiúsculas; 0 não usa o tipo (padrão 1)","minimum":0,"type":"integer"},"min_minusculas":{"description":"só senha: mínimo de minúsculas; 0 não usa o tipo (padrão 1)","minimum":0,"type":"integer"},"min_numeros":{"description":"só senha: mínimo de números; 0 não usa o tipo (padrão 1)","minimum":0,"type":"integer"},"quantidade":{"description":"quantos gerar, de 1 a 100 (padrão 1)","maximum":100,"minimum":1,"type":"integer"},"seed":{"description":"semente do sorteio; omitida, o servidor sorteia uma e a devolve","maximum":9007199254740991,"minimum":0,"type":"integer"},"tamanho_max":{"description":"só senha: tamanho máximo, até 128 (padrão 16)","minimum":0,"type":"integer"},"tamanho_min":{"description":"só senha: tamanho mínimo (padrão 12)","minimum":0,"type":"integer"},"tipo":{"description":"cpf, cnpj, cartao, conta ou senha","enum":["cpf","cnpj","cartao","conta","senha"],"type":"string"},"uf":{"description":"só cpf: sigla do estado de emissão (define o 9º dígito); vazio sorteia","type":"string"}},"required":["tipo"],"type":"object"},"name":"gerar_documento"},{"description":"Converte um CREATE TABLE (Postgres, MySQL, Oracle ou SQL Server) num schema do massa: o tipo de cada coluna sai do nome (nr_cpf vira cpf), do CHECK ou do tipo SQL. Devolve o schema, o nome da tabela, o dialeto e avisos de colunas a revisar. Passe o schema a gerar (com tabela e dialeto) para obter os INSERT.","inputSchema":{"additionalProperties":false,"properties":{"ddl":{"description":"texto do CREATE TABLE (a primeira tabela é importada)","type":"string"}},"required":["ddl"],"type":"object"},"name":"importar_ddl"},{"description":"Lista os tipos de campo que o massa gera (nome, cpf, cnpj, cartao_credito, agencia, data_nascimento, senha…), com grupo, descrição e parâmetros de cada um, e o formato do schema JSON que a ferramenta gerar recebe. Chame antes de montar um schema.","inputSchema":{"additionalProperties":false,"type":"object"},"name":"listar_tipos"},{"description":"Confere se um número é válido pela regra oficial: cpf, cnpj (inclusive alfanumérico), cnh, pis, cns, rg (SP), titulo_eleitor, cartao (bandeira, tamanho e Luhn; devolve a bandeira), agencia (precisa do banco) e conta (precisa do banco e da agência). Aceita com ou sem máscara. Não gera nada.","inputSchema":{"additionalProperties":false,"properties":{"agencia":{"description":"agência da conta; obrigatória em conta","type":"string"},"banco":{"description":"código do banco (001, 033, 041, 104, 237, 341); obrigatório em agencia e conta","type":"string"},"tipo":{"description":"cpf, cnpj, cnh, pis, cns, rg, titulo_eleitor, cartao, agencia ou conta","enum":["cpf","cnpj","cnh","pis","cns","rg","titulo_eleitor","cartao","agencia","conta"],"type":"string"},"valor":{"description":"o número a conferir, com ou sem máscara","type":"string"}},"required":["tipo","valor"],"type":"object"},"name":"validar_documento"}]},"body_sha256":"465d044907e58ef466f5fad024ef4257766dbe0137ffcf8cba384e0d8d7553df","prev_id":null,"leaf":"0xfa85bbc54b4a84ed113756725af3b6893f7732d5a393b7a7ec3dc5047128fce1","leaf_text":"{\"body\":\"465d044907e58ef466f5fad024ef4257766dbe0137ffcf8cba384e0d8d7553df\",\"id\":565173,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793138047757671,\"prev\":null,\"subject\":\"b398fc0f-020a-4246-ae65-1a77f7588956\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0xfa86a6df80a31d4d340d3e064daf91206846a96d39ae73c43725750a98edac19","0x298fb2694c21f510e99d0c00420bfde1fe34ebca092d2e34f849b632684ad7bd","0xe6869eaa3724bc9a89c121ffbab032caf9ab9bec957cfd7473a1809a8754ce89","0x9038ecb23639bd01dea38f623520f88d74bbed26fd9146948d846138335ed4e3","0x276d891c67b7e9e61b9710e4b23c29f246c7e2d509194ce29e767a4b02ad058a","0x1df7bbde81deabadea428e77dd5bbd2a93145f7085e71ccf3cadd4620331d505","0x34dae65d41bd2d557ec9a90a5d7e9dec7800b83e0fb58d03f743b38c583db6f6","0x65ad8b7c37f50ec1bf9699a591eae1ec68301929c03eed694afa61b0b0d4015c","0x0c7d87d8458c0161ff93657d4ca3286848354a3c348a350cd574869dee08aeb2","0x82bd9a19670fcfd1ff1b7df4edcd0ac42b8ef93fcf84ed1e26d9d7bdf8d47485","0xb79afe573322beeaf10115333840af7581c0f1a3d89119e0bbb5881311429394","0x58215df828d47943a710362ab6e17ad0eb4a7c42a13dbec3ab2635d1abf3945f","0xf24b37f8ac293f5328e3e6b28cf868989fe99debf025c153c0d9a1698e846e25","0x94d3785ce9330e4580bccada5459380aa2aac76a0bf11354d1353b375afc17d2","0xb5b652bba4a5afca56c21031d89b1c06361563aaf54ccc8541c296ceeb2b66fa"]}