Dutch Tax Income Calculator MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dutch Tax Income Calculator MCPCalculate my net salary for 70,000 euros gross per year in 2025"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dutch-tax-income-calculator-mcp
A remote MCP server, deployed on Cloudflare Workers, that exposes the
dutch-tax-income-calculator npm package as MCP
tools and a resource. This server never reimplements Dutch tax logic or copies tax tables — every calculation is
delegated directly to the package.
Indicative only — not tax advice. Every tool result includes this disclaimer. Confirm with a qualified Dutch tax advisor or the Belastingdienst before acting on any number this server returns.
What it exposes
Tools
calculate_net_salary— gross → net, wraps the package'sSalaryPaycheckclass.calculate_gross_from_net— net → gross, wraps the package'snetToGrosssolver. Because every internal amount is rounded to 2 decimals, more than one gross can round to the same net; when that happens the tool returns the package's own plateau bounds (grossLow/grossHigh) verbatim instead of guessing. If no gross produces the target net, the package's "no solution" error message is returned verbatim, unmodified.compare_scenarios— runs 2 to 5calculate_net_salary-shaped scenarios side by side and returns a markdown comparison table alongside the per-scenario results.
Every tool result returns: normalizedInput, result, breakdown[] (payroll tax, social security, general
credit, labour credit), assumptions[], and a permalink to the equivalent scenario on
thetax.nl.
Resource
tax://brackets/{year}— readsdata.jsonfrom the package directly: payroll tax, social security, general credit and labour credit brackets, plus 30% ruling thresholds, for the requested year.
year is validated against the years actually present in the package's data.json on every tool call and
resource read. An unsupported year always returns a clear, explicit error — never a silent fallback to the
nearest year.
Related MCP server: irs-taxpayer-mcp
Stack
MCP TypeScript SDK v2 (
@modelcontextprotocol/server)createMcpHandlerfromagents/mcp/server(Cloudflare Agents SDK) as the entire Workerfetchhandler — stateless, no Durable Objects, noMcpAgent.createMcpHandleris given a factory function (createServer) that builds a freshMcpServerper request; no server or transport instance is ever held in module scope.Zod v4 for input validation
No Hono, no Express — src/index.ts is the whole HTTP layer.
Rate limiting & privacy
60 requests/minute per client IP, enforced via a Cloudflare Rate Limiting binding (
wrangler.jsonc), on every request. Exceeding it returns429with aRetry-Afterheader.Zero logging of input values. The handler never logs request bodies, tool arguments, or calculated amounts. The client IP is used only as an ephemeral rate-limit counter key, never stored or logged.
Development
npm install
npm run dev # wrangler dev, http://localhost:8787/mcp
npm test # vitest (unit tests + Worker-level MCP/HTTP integration tests)
npm run typecheck
npm run deploy # wrangler deployConnecting a client
The server speaks the MCP Streamable HTTP transport at /mcp.
Claude Desktop
Claude Desktop connects to remote MCP servers through the mcp-remote
bridge. Add this to claude_desktop_config.json:
{
"mcpServers": {
"dutch-tax-income-calculator": {
"command": "npx",
"args": [
"mcp-remote",
"https://<your-worker-subdomain>.workers.dev/mcp",
"--transport",
"http-only"
]
}
}
}mcp.json (VS Code, Cursor, and other clients supporting the standard config format)
{
"servers": {
"dutch-tax-income-calculator": {
"type": "http",
"url": "https://<your-worker-subdomain>.workers.dev/mcp"
}
}
}Replace <your-worker-subdomain> with the subdomain assigned after npm run deploy (or your custom domain).
Project layout
src/
index.ts Worker fetch handler: per-IP rate limit + createMcpHandler(createServer)
server.ts createServer() factory — registers the 3 tools and the tax://brackets/{year} resource
env.ts Env (RATE_LIMITER binding) type
tax/
schemas.ts Zod v4 input schemas
years.ts Year validation against the package's constants.years
paycheck.ts Thin wrappers around SalaryPaycheck / netToGross — no tax logic here
breakdown.ts breakdown[] / assumptions[] builders
permalink.ts thetax.nl permalink builder
compare.ts Comparison table builder for compare_scenarios
test/ Vitest unit tests + Worker-level MCP/HTTP integration testsThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to calculate French individual income tax and retrieve current tax brackets using official government data. Supports household composition calculations and provides up-to-date tax information for French residents.1114
- AlicenseBqualityCmaintenance39 tax tools for US individual taxpayers — federal/state tax calculations, credits, deductions, retirement strategies, audit risk, and tax planning. All calculations run locally, no data leaves the machine. Supports TY2024 and TY2025 (One Big Beautiful Bill Act).443428MIT
- Alicense-qualityAmaintenanceCalculate income tax (UK/US brackets), EU VAT, UK corporation tax, and capital gains tax. Provides estimates only - not professional tax advice.6MIT
- Alicense-qualityCmaintenanceProvides Japanese tax and invoice utilities such as consumption tax calculation, withholding tax, invoice number validation, and tax rate summarization, enabling AI assistants to perform these operations locally without external APIs.MIT
Related MCP Connectors
Cost-of-living & quality-of-life comparison: take-home pay, equivalent salary, safety-net deltas.
Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).
Free public tax MCP: GST/VAT, income, company & capital-gains tax for 50+ countries, source-cited.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/stevermeister/dutch-tax-income-calculator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server