massa
Server Details
Massa de teste brasileira válida: CPF, CNPJ, cartão, conta e mais, em CSV, JSON, SQL ou Excel.
- Status
- Healthy
- Uptime
- 99.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Os cinco tools têm propósitos majoritariamente distintos: geração de massa, geração de documentos, importação de DDL, listagem de tipos e validação. Há alguma sobreposição entre 'gerar' e 'gerar_documento' por ambos gerarem dados, mas as descrições deixam claro que um trabalha a partir de schema e o outro gera documentos válidos isolados.
Quase todos seguem o padrão verbo_substantivo em português: gerar_documento, importar_ddl, listar_tipos, validar_documento. A exceção é 'gerar', que é apenas um verbo solto, mas ainda é compreensível no contexto.
Cinco tools é um número bem escopado para um servidor de geração de massa de teste e validação de documentos. Cada tool cobre uma etapa clara do fluxo e não há ferramentas redundantes.
O conjunto cobre descoberta de tipos, importação de schema DDL, geração de massa, geração de documentos e validação. Há pequenas lacunas, como validação em lote ou geração direta a partir de DDL sem passo intermediário, mas são contornáveis e não comprometem o fluxo principal.
Available Tools
5 toolsgerarGerar massa de testeARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| schema | Yes | o schema JSON do massa, como objeto | |
| tabela | No | nome da tabela dos INSERT, só com formato sql (aceita esquema.tabela; padrão massa) | |
| dialeto | No | banco do script, só com formato sql: mysql, oracle ou sqlserver. Vazio é SQL padrão (Postgres) | |
| formato | No | csv (padrão), json, sql ou xlsx (Excel: volta um link para baixar o arquivo, que não entra no contexto) |
Output Schema
| Name | Required | Description |
|---|---|---|
| curl | No | comando que gera o volume todo pela API, só acima do teto |
| link | No | só xlsx: endereço que baixa o arquivo Excel; mostre-o ao usuário sem alterar nada |
| seed | Yes | seed usada; repita-a para obter o mesmo resultado |
| teto | No | |
| aviso | No | |
| linhas | Yes | linhas pedidas no schema |
| schema | No | o schema com a seed fixada, só acima do teto |
| formato | Yes | |
| conteudo | No | o arquivo gerado, como texto |
| acima_do_teto | No | true quando as linhas passam do teto por chamada e nada foi gerado |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint/openWorldHint; the description adds the real behavioral payload: the 100-row hard stop and what the response contains when it trips, the xlsx download-link special case with a handling instruction, seed determinism guarantees, and the field-by-field error shape for invalid schemas. This is information no annotation or schema conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and every sentence carries a distinct rule (row cap, fallback, xlsx link, seed, errors) with no filler. The single dense paragraph is somewhat heavy, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with nested schema and an output schema present, the description covers everything an agent needs to call it correctly: size limits, format-specific return behavior, seed semantics, and error handling. Return-value detail is legitimately delegated to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains why seed matters (identical output with the same seed and schema; a random one is drawn and returned when absent) and ties the row ceiling to the rows parameter. It adds real semantic value without documenting every field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ('Gera massa de teste a partir de um schema JSON do massa') and immediately states the output forms (csv, json, sql, xlsx link). An agent can distinguish this from importar_ddl or validar_documento without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating conditions: up to 100 rows per call, nothing is generated above that and the response falls back to the /api/generate curl path, and xlsx bypasses the row ceiling. It does not name sibling tools (listar_tipos only appears inside the schema), so it stops just short of explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gerar_documentoGerar documento avulsoARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uf | No | só cpf: sigla do estado de emissão (define o 9º dígito); vazio sorteia | |
| seed | No | semente do sorteio; omitida, o servidor sorteia uma e a devolve | |
| tipo | Yes | cpf, cnpj, cartao, conta ou senha | |
| banco | No | só conta: código do banco (001, 033, 041, 104, 237, 341); vazio sorteia | |
| mascara | No | com pontuação: cpf, cnpj, cartao (espaços) e conta (hífen no DV). Não vale para senha | |
| bandeira | No | só cartao: visa, mastercard, elo, amex, hipercard ou diners; vazio sorteia | |
| especiais | No | só senha: caracteres especiais aceitos (padrão !@#$%&*-_+=?) | |
| quantidade | No | quantos gerar, de 1 a 100 (padrão 1) | |
| min_numeros | No | só senha: mínimo de números; 0 não usa o tipo (padrão 1) | |
| tamanho_max | No | só senha: tamanho máximo, até 128 (padrão 16) | |
| tamanho_min | No | só senha: tamanho mínimo (padrão 12) | |
| alfanumerico | No | só cnpj: formato alfanumérico novo (IN RFB 2.229/2024) | |
| min_especiais | No | só senha: mínimo de especiais; 0 não usa o tipo (padrão 1) | |
| min_maiusculas | No | só senha: mínimo de maiúsculas; 0 não usa o tipo (padrão 1) | |
| min_minusculas | No | só senha: mínimo de minúsculas; 0 não usa o tipo (padrão 1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | Yes | seed usada; repita-a para obter os mesmos documentos |
| tipo | Yes | |
| itens | Yes | |
| quantidade | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=false and idempotentHint=false; the description goes beyond them by explaining the randomness/seed contract ('omitida, o servidor sorteia uma e a devolve') and the error semantics for type-inapplicable options. That is real behavioral context, though it does not discuss volume/rate considerations or what a partial failure across 'quantidade' documents looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and count range, then the type list, then the constraint/error rule and the seed return. Every sentence carries new information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be enumerated, and the description still adds the non-obvious seed-return fact. For a 15-parameter tool with full schema coverage and clear annotations, the type/option interaction and error behavior are the only real gaps an agent would face, and both are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3. The description adds value by summarizing the cross-parameter constraint matrix (uf only for cpf, alfanumerico only for cnpj, bandeira only for cartao, banco only for conta, size/character rules only for senha) and by declaring that a mismatched option is an error rather than being ignored.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource+scope: generates 1 to 100 valid documents of one of five enumerated types (cpf, cnpj, cartao, conta, senha), and adds a differentiating guarantee that check digits are computed rather than fabricated. It never names a sibling, so an agent gets no help distinguishing it from the 'gerar' or 'validar_documento' tools from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is implied through the per-type option matrix ('cada tipo aceita só as suas opções') and the explicit error rule for mismatched options, which tells an agent how to combine parameters. However, there is no statement of when to choose this tool over the sibling 'gerar' or 'validar_documento', and no prerequisites are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
importar_ddlImportar CREATE TABLEARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ddl | Yes | texto do CREATE TABLE (a primeira tabela é importada) |
Output Schema
| Name | Required | Description |
|---|---|---|
| avisos | Yes | colunas a revisar; bloqueia indica coluna que o banco recusaria |
| schema | Yes | o schema do massa, com 100 linhas; ajuste rows e passe a gerar |
| tabela | Yes | |
| dialeto | No | mysql, oracle ou sqlserver, conforme o DDL; vazio é SQL padrão. Passe-o a gerar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and idempotentHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: type inference is heuristic (from the column name, CHECK constraint, or SQL type) and it emits warnings for columns needing review, which tells the agent results may be imperfect and need validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that lead with the conversion and end with the next-step instruction; every sentence carries information. It is slightly packed with inference detail mid-sentence, but nothing is wasted or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the description still gives the useful shape (schema, table name, dialect, warnings). Together with the annotations and full parameter coverage, an agent has enough to invoke it correctly, with only minor gaps around limits (e.g. only-first-table handling is in the schema, not the description).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents it, including 'a primeira tabela é importada'. The description's only added value is implying the dialect is auto-detected rather than supplied as a parameter, which is marginal over the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource (imports/converts a CREATE TABLE into a 'massa' schema) and enumerates the supported dialects (Postgres, MySQL, Oracle, SQL Server). It also explains how column types are derived, which separates it from the sibling generation tools that consume the resulting schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear workflow condition: pass the resulting schema to 'gerar' (with table and dialect) to obtain INSERTs, implying this tool is the first step and 'gerar' the second. It lacks an explicit when-not or a statement about what to do with an already-validated schema, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_tiposListar tipos de campoARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tipos | Yes | |
| exemplo | Yes | um schema de exemplo, pronto para a ferramenta gerar |
| formato | Yes | como montar o schema que a ferramenta gerar recebe |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the description needn't restate safety; it instead adds the payload shape (grupo, descrição, parâmetros de cada um) and the prerequisite ordering constraint. It does not mention whether results are static/cacheable, which is a minor omission given idempotentHint=false is counterintuitive for a pure listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the purpose first, then the return shape, then the call-order instruction. The parenthetical type list is long but earns its place by giving the agent concrete vocabulary; the text is dense but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description does not need to fully specify return values, yet it still sketches what each entry contains plus the JSON schema format note. Combined with annotations, an agent has everything needed to call it correctly; only cross-tool sequencing detail is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters with 100% schema coverage, so there is nothing for the description to disambiguate and it correctly avoids inventing argument discussion. Baseline for a no-param tool is met without wasted text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Lista os tipos de campo que o massa gera') and immediately disambiguates by enumerating concrete examples (nome, cpf, cnpj, cartao_credito, agencia, data_nascimento, senha). An agent can tell this apart from the sibling 'gerar' tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Chame antes de montar um schema' gives an explicit ordering condition for invocation, which is the main decision an agent faces here. It stops short of naming the sibling it feeds into ('gerar') or stating when it should be skipped, so it is clear context but not full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validar_documentoValidar documentoARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | cpf, cnpj, cnh, pis, cns, rg, titulo_eleitor, cartao, agencia ou conta | |
| banco | No | código do banco (001, 033, 041, 104, 237, 341); obrigatório em agencia e conta | |
| valor | Yes | o número a conferir, com ou sem máscara | |
| agencia | No | agência da conta; obrigatória em conta |
Output Schema
| Name | Required | Description |
|---|---|---|
| tipo | Yes | |
| valido | Yes | |
| bandeira | No | só cartao válido: código da bandeira |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and idempotentHint=false. Beyond those, the description adds that input may carry or omit masks and that nothing is generated, which is genuinely useful side-effect context for a validator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by two short supporting sentences; the long type enumeration is dense but necessary to convey coverage. No filler sentences, though the enumeration makes the single sentence heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. The description supplies the type list, conditional parameter dependencies and mask tolerance, leaving only minor gaps such as format expectations for banco codes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (tipo, valor, banco, agencia) are already documented in the schema, including the conditional requirements. The description only restates the banco/agência dependencies and adds the cartao return detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Confere se um número é válido') and resource, enumerates every supported document type, and clarifies scope with 'pela regra oficial'. The closing 'Não gera nada' cleanly separates it from the sibling gerar_documento.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives per-type conditions for use ('agencia precisa do banco', 'conta precisa do banco e da agência') and implicitly rules out generation via 'Não gera nada'. It never names an alternative tool explicitly nor states when validation is inappropriate, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
listar_tipos1 field changed- added
Output schema / properties / tipos / items / properties / params / items / properties / tiposAdded value: +{ + "items": { + "type": "string" + }, + "type": [ + "null", + "array" + ] +}
1 tool update
- Changed
listar_tipos2 fields changed- added
Output schema / properties / tipos / items / properties / params / items / properties / obrigatorioAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / tipos / items / properties / params / items / properties / sem_fromAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
gerar3 fields changed- changed
Input schema / properties / formato / descriptionPrevious value: -"csv (padrão), json ou sql"New value: +"csv (padrão), json, sql ou xlsx (Excel: volta um link para baixar o arquivo, que não entra no contexto)" - changed
Input schema / properties / formato / enumPrevious value: -[ - "csv", - "json", - "sql" -]New value: +[ + "csv", + "json", + "sql", + "xlsx" +] - added
Output schema / properties / linkAdded value: +{ + "description": "só xlsx: endereço que baixa o arquivo Excel; mostre-o ao usuário sem alterar nada", + "type": "string" +}
2 tool updates
- Changed
gerar_documento1 field changed- changed
Input schema / properties / banco / descriptionPrevious value: -"só conta: código do banco (001, 033, 104, 237, 341…); vazio sorteia"New value: +"só conta: código do banco (001, 033, 041, 104, 237, 341); vazio sorteia"
- Changed
validar_documento1 field changed- changed
Input schema / properties / banco / descriptionPrevious value: -"código do banco (001, 033, 104, 237, 341…); obrigatório em agencia e conta"New value: +"código do banco (001, 033, 041, 104, 237, 341); obrigatório em agencia e conta"
5 tool updates
- First observed
gerar - First observed
gerar_documento - First observed
importar_ddl - First observed
listar_tipos - First observed
validar_documento
Related MCP Connectors
Generate realistic relational test data — 156 field types, 22 locales, JSON/CSV/SQL, free previews.
Enriquecimento de CPF e CNPJ no Brasil: telefone e e-mail dos sócios, ficha cadastral e reversos.
Format-true synthetic test data for 90 countries — IBANs, SWIFT/BIC, IDs, cards, all certified.
WhatsApp Business + CNPJ enrichment (71M RFB) for Brazilian AI workflows.
Related MCP Servers
- AlicenseAqualityBmaintenanceDados brasileiros reais (CNPJ, CEP, taxas, CPF) via MCP, pagos em USDC por chamada (x402).585 npm1MIT

apipj MCP serverofficial
AlicenseNot gradedqualityCmaintenanceEnables lookup and validation of Brazilian companies by CNPJ, returning registration status, address, CNAE activities, Simples Nacional/MEI status, and partners from monthly Receita Federal open data, plus validation of numeric or alphanumeric CNPJ check digits and search of active companies by activity and municipality.MIT- AlicenseAqualityBmaintenanceExposes Brazilian public data — postal codes (CEP), company registrations (CNPJ), CPF/CNPJ validation, banks, national holidays, municipalities, and DDD area codes — as MCP tools and resources, backed by BrasilAPI, ViaCEP, and IBGE with caching, fallback, and rate limiting. Any MCP client such as Claude Desktop or Claude Code can query and validate this reference and registration data through natural language or programmatic calls.1MIT
- AlicenseAqualityAmaintenanceValidates Latin American tax, ID and bank numbers (CUIT, CUIL, CPF, CNPJ, RFC, CURP, RUT, NIT, RUC, CLABE, CBU) with exact check-digit rules.4126 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.