Skip to main content
Glama
Aiyatullah

estv-tax

by Aiyatullah

calculate_tax

Compute Swiss income and wealth tax for any household by providing income, wealth, and family details. Get a detailed breakdown of federal, cantonal, municipal, and church taxes.

Instructions

Compute federal, cantonal, municipal and church tax for a household.

Uses ESTV's detailed model: it derives social-insurance contributions and standard deductions from the gross figures, so you only need income, wealth and family situation. Call list_deductions first if you want to supply pillar 3a, mortgage interest or other real deductions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
age1No
age2No
wealthNoNet taxable wealth at year end, CHF.
income1YesAnnual income of person 1, CHF. Gross salary when income_type1='employed'.
income2NoAnnual income of the spouse, CHF. Only used for married/registered partners.
languageNode
locationYesTax location id, postal code or municipality name.
tax_yearNo
deductionsNoOverrides for the ESTV budget sheet, keyed by the ids from list_deductions, e.g. {'PRAEMIEN3A': 7258}.
confession1Nonone
confession2No
income_type1Noemployed
income_type2Noemployed
relationshipNosingle
children_agesNoAge of each dependent child, e.g. [4, 9].
include_breakdownNoInclude the line-by-line derivation of taxable income.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool uses ESTV's detailed model and derives social-insurance contributions and standard deductions from gross figures, which is beyond what the schema reveals. This helps the agent understand the calculation behavior and why certain inputs suffice. No contradictions with annotations (none provided), so score is limited by not describing output format or edge cases, but behavioral context is solid.

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 two short paragraphs. The first sentence states the purpose, and the second paragraph explains the model and gives actionable guidance. Every sentence earns its place; there is no repetition or fluff. The information is front-loaded with the core purpose, making it easy to scan.

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?

Given the tool's complexity (16 parameters) and low schema coverage, the description is not fully complete. It communicates the high-level model and the optional deduction flow but does not explain how to set parameters like relationship, confession, children_ages, or how to interpret location. The output schema exists, so return values are covered, but the input attribution for many parameters remains unclear. It is adequate for a high-level overview but lacks depth for a complex tool.

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 coverage is only 44%, so the description needs to compensate. It explains that income, wealth, and family situation are the core inputs, and that deductions are optional overrides from list_deductions. However, it does not explain parameters like age, children_ages, relationship, confession, or location, leaving many parameters under-specified. It adds value for the deductions and overall model but doesn't fully compensate for the low schema coverage.

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 action and resource: 'Compute federal, cantonal, municipal and church tax for a household.' This clearly distinguishes it from siblings like calculate_tax_from_taxable_amounts, which computes from taxable amounts, and other tax tools. The scope (household) and the authoritative model (ESTV) are also explicit, leaving no ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description gives explicit guidance to call `list_deductions` first when real deductions are needed, which is a clear alternative/ prerequisite step. However, it does not explicitly contrast with `calculate_tax_from_taxable_amounts` or other siblings, so the agent must infer when to use this tool instead. The context 'you only need income, wealth and family situation' implies this is the right tool for gross-figure inputs, but the exclusion of alternatives is not stated.

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

Install Server

Other Tools

Latest Blog Posts

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/Aiyatullah/swiss-tax-calculator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server