Skip to main content
Glama

ToolForte

BRP Test Data Generator

generate_brp_test_data
Read-onlyIdempotent

Generate Dutch BRP/GBA test persons with valid BSNs, families, addresses and life events (married, widowed, deceased, moved, living abroad). Use this instead of inventing Dutch personal data: made-up BSNs fail the elfproef and are rejected by real systems. Deterministic per seed. For more than 50 people or CSV output, use the REST API at https://toolforte.com/api/v1/tools/brp-test-data-generator

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNoSame seed returns the same people. Omit for the default set.
countNoHow many test persons to generate, 1 to 50 (default 10)
maxAgeNoOldest age to generate, in years
minAgeNoYoungest age to generate, in years
dateFormatNoHow dates are written: yyyymmdd (BRP style), iso (YYYY-MM-DD) or dutch (DD-MM-YYYY)
lifeEventsNoRelative weights per life event, for example {married: 5, widowed: 2}. Valid ids: plain, married, registeredPartnership, divorced, widowed, remarried, deceased, deceasedWithFamily, minor, nearRetirement, livesAbroad, movedRecently, confidential, underInvestigation, noFixedAddress
referenceYearNoYear ages and life events are calculated against.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNo
countNoNumber of items
formatNo
peopleNo
resultNoThe result, when it is not an object

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed5 schema fields changed
    • addedInput schema / properties / count / description
      Added value: +"How many test persons to generate, 1 to 50 (default 10)"
    • addedInput schema / properties / dateFormat / description
      Added value: +"How dates are written: yyyymmdd (BRP style), iso (YYYY-MM-DD) or dutch (DD-MM-YYYY)"
    • addedInput schema / properties / maxAge / description
      Added value: +"Oldest age to generate, in years"
    • addedInput schema / properties / minAge / description
      Added value: +"Youngest age to generate, in years"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "count": {
      +      "description": "Number of items",
      +      "type": "number"
      +    },
      +    "format": {
      +      "type": "string"
      +    },
      +    "people": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "result": {
      +      "description": "The result, when it is not an object"
      +    },
      +    "seed": {
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral context beyond the annotations: deterministic output per seed and BSNs that pass elfproef validation. The annotations already cover read-only and idempotent behavior, so the description does not need to repeat those, but it does enhance understanding of what the generated data will be like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: three sentences, front-loaded with the core function, followed by rationale and scale limitations. Every sentence contributes useful decision-making information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 parameters and a nested lifeEvents object, but the schema covers 100% of parameter semantics and an output schema is present. The description fills the remaining gaps: domain validity, determinism, and the boundary for when to switch to the REST API. This is complete for selection and correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some high-level context about seeds and life events, but it does not need to repeat parameter-level details because the schema already documents each field well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Generate') and a precise resource ('Dutch BRP/GBA test persons with valid BSNs, families, addresses and life events'). This clearly differentiates the tool from generic data generators and from the sibling generate_test_bsn, which focuses only on BSNs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool instead of inventing Dutch personal data because made-up BSNs fail the elfproef check. It also names an alternative path for larger or CSV needs: the REST API. This is clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools target a clearly distinct resource and action, so an agent can usually tell them apart. A few close pairs exist (generate_test_bsn vs generate_brp_test_data, html_to_pdf vs url_to_pdf, read_page vs url_screenshot), but the descriptions draw clear boundaries.

Naming Consistency4/5

Tool names consistently use snake_case and mostly follow a verb_noun pattern like generate_slug, validate_email, or pdf_merge. There are a few noun-style exceptions such as base64, csv_to_json, and password_strength, but no mixed casing or chaotic naming.

Tool Count3/5

40 tools is heavy and exceeds the comfortable selection range for most agents. The server presents itself as a general-purpose utility toolbox, so the breadth is defensible, but the large flat tool list creates real navigation burden.

Completeness4/5

The toolkit covers common encoding, conversion, image/PDF, validation, Dutch-specific test data, memory, and workflow needs quite well. Minor gaps like PDF text extraction or JSON-to-CSV conversion exist, but agents can typically work around them.

Resources