generate_test_bsn
Generate Dutch BSN test numbers that pass the elfproef (11-check) but belong to no real person. For development and test data only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Generate Dutch BSN test numbers that pass the elfproef (11-check) but belong to no real person. For development and test data only.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses the key validation trait (elfproef) and the non-real-person guarantee, but omits output format, uniqueness behavior, and how count is applied.
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?
One sentence with no filler. The main action and constraint are front-loaded, and every clause adds meaningful information.
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 simple one-parameter generator, the description covers purpose, validity, and usage restriction. It falls short by not stating the output format or clarifying what count produces, especially given the absence of an output schema and annotations.
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 0% and the description never mentions the count parameter. The schema's name and constraints partially compensate, but the description adds no semantic guidance beyond what the structured schema already shows.
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?
The description clearly states an action (generate), a resource (Dutch BSN test numbers), and a distinguishing property (pass elfproef but belong to no real person). This differentiates it from siblings like generate_test_iban and generate_brp_test_data.
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?
The phrase 'For development and test data only' gives clear usage context and an implicit warning against production use. It does not explicitly name alternative tools or exclusion conditions, but the BSN-specific scope is enough for an agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes, but some pairs could be confused: html_to_pdf vs url_to_pdf both produce PDFs, read_page vs url_screenshot both fetch a URL, and generate_test_bsn vs generate_brp_test_data both generate Dutch test data. Detailed descriptions mitigate most ambiguity, so agents can usually select correctly.
All tool names follow a consistent snake_case convention with predictable verb_noun patterns (e.g., generate_*, validate_*, memory_*, url_*). The naming is uniform and makes each tool's function easily inferable from its name.
35 tools is a heavy surface for any MCP server, even a general-purpose toolbox. The large number of niche Dutch-specific tools (BRP, UPA, BSN, holidays) may overwhelm agents and increase selection complexity. The server could benefit from splitting into smaller, focused servers.
The server covers a wide range of utilities, but there are notable gaps: no hash generation, no json_to_csv counterpart, and the workflow sub-domain only offers list/run without create/delete. Core utilities are present, but some obvious counterparts and lifecycle operations are missing.