Skip to main content
Glama

DBA check: does a freelance assignment look like employment?

dba_false_self_employment_check
Read-onlyIdempotent

Indicates whether a Dutch freelance (ZZP) assignment risks being treated as disguised employment (schijnzelfstandigheid) under the DBA rules the Belastingdienst enforces again since 2025: authority, integration in the organisation, personal work and pay, and acting as an entrepreneur. Answer each question yes, partly or no; at least 4. An indication only; the official check is the Belastingdienst Webmodule Beoordeling Arbeidsrelatie.

Input Schema

NameRequiredDescriptionDefault
coreWorkNoIs the work part of the client's normal, ongoing business?
setsHoursNoDoes the client set the hours or days worked?
paidForTimeNoIs the pay per hour or per month, whatever the result?
setsOwnRateNoDoes the freelancer set and negotiate their own rate?
howWhenWhereNoDoes the client decide how, when and where the work is done?
longAssignmentNoHas the assignment lasted more than a year, or does it have no clear end?
looksLikeStaffNoDoes the freelancer work like staff, with the client's email address, badge or a place in a team?
severalClientsNoDoes the freelancer work for several clients, with no single client giving most of the income?
investsOwnMeansNoDoes the freelancer pay for their own tools, training, insurance and marketing?
mustDoPersonallyNoMust the freelancer do the work personally, without being able to send a replacement?
sameInstructionsNoDoes the freelancer get the same instructions as employees doing the same work?
clientCarriesRiskNoIf something goes wrong, does the client carry the cost instead of the freelancer?

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already establish that this is a safe read-only, idempotent check. The description adds materially useful behavioral context: it is an indicative risk check, not an official determination, and the official Webmodule is named as the authoritative alternative. It still does not describe the actual return format or how the answers are scored.

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

Conciseness4/5

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

The description is front-loaded with the core purpose and legal context, followed by the answering rule and the official-check caveat. It is dense but appropriately sized for a 12-parameter legal assessment tool. There is little wasted wording, though the first sentence is long.

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

Completeness3/5

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

It covers the domain, the answer scale, the minimum-answer requirement, and the important caveat that this is only an indication. Because there is no output schema, the description should do more to explain what the tool returns, such as whether it produces a risk level, Boolean, or factor-based explanation. That missing output context limits completeness for a complex 12-parameter tool.

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

Parameters4/5

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

Schema coverage is 100%, and every one of the 12 enum parameters is individually described. The description adds an important constraint not obvious from the schema alone: answer each question yes, partly, or no, and answer at least 4. It does not explain how individual answers influence the risk outcome.

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

Purpose4/5

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

The description states a specific assessment verb and resource: whether a Dutch ZZP assignment risks disguised employment under DBA rules. It is clearly scoped to schijnzelfstandigheid and names the relevant regulatory context. It does not explicitly distinguish itself from nearby siblings such as employee_vs_zzp_vs_bv or freelancer_tax_netherlands.

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

Usage Guidelines3/5

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

It gives useful usage mechanics: answer each question yes/partly/no and answer at least 4. It also frames the tool as an indication only and points to the official Belastingdienst Webmodule. However, it does not say when to choose this tool over related sibling tools or when not to use it.

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.

Resources