Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ESTV_MCP_NO_CACHENoDisable caching when set to 1
ESTV_MCP_CACHE_DIRNoOverride the cache directory (default ~/.cache/estv-mcp)
ESTV_MCP_CACHE_TTLNoOverride cache TTL in seconds (default 604800 for one week)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_locationA

Resolve a place name or postal code to an ESTV tax location id.

Municipal tax multipliers differ inside a canton and sometimes inside a postal code, so every calculation is anchored on a tax_location_id.

list_deductionsA

Show the deduction/budget sheet ESTV derives for a household.

Returns every line item with the value ESTV assumes by default. Lines marked editable can be overridden through the deductions argument of calculate_tax (keyed by id), e.g. PRAEMIEN3A for pillar 3a contributions or SCHULDZINSEN for mortgage interest. Non-editable lines (gross salary, AHV/ALV/BVG contributions) are computed by the model.

calculate_taxA

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.

calculate_tax_from_taxable_amountsA

Apply the tax scales to amounts already known to be taxable.

Use this when the user reads figures off a tax assessment or return (steuerbares Einkommen / revenu imposable) instead of a gross salary. Note that cantonal and federal taxable income usually differ.

compare_locationsA

Rank municipalities by total tax burden for one and the same household.

Answers "where would I pay the least?". Scanning all of Switzerland covers ~2100 municipalities, so only the extremes plus summary statistics are returned; narrow with scope or only_cantons to see a specific region.

calculate_capital_payment_taxB

Tax on a lump-sum payout from pillar 2 or pillar 3a.

Capital withdrawals are taxed separately from ordinary income at a reduced rate, and the rate varies a lot between cantons. Pass a canton code, 'capitals' or 'switzerland' as location to rank places instead of computing a single figure.

get_tax_yearsA

Report which tax years each ESTV calculator currently covers.

find_cheapest_nearbyB

Rank municipalities within a radius of a point by tax burden.

The relocation question people actually ask: given that I have to stay within commuting distance of somewhere, where is the cheapest place to live? Pass the coordinates of the office or station and a radius.

plan_capital_withdrawalsA

Find the cheapest way to split a lump-sum withdrawal across tax years.

Capital payouts are taxed on a steeply progressive separate scale, so spreading a pension pot over several calendar years can save a large amount. Splitting within one year saves nothing: all payouts received in the same calendar year are added together before the rate is applied, and this tool models that. Read the caveats in the result before acting.

deduction_valueA

Measure what a deduction is actually worth to this household.

Sweeps a budget line (pillar 3a by default) and reports the tax saved at each level, plus the saving on each additional franc. Because rates are progressive the last franc of a deduction is worth more than the first, and the return flattens once a bracket boundary is crossed.

calculate_inheritance_taxA

Inheritance and gift tax, which is cantonal and varies enormously.

Spouses and direct descendants are exempt in most cantons while unrelated beneficiaries and unmarried partners can pay a quarter of the estate, so the beneficiary relationship matters more than the amount. Omit beneficiary to see every relationship for one place, or pass a canton code, 'capitals' or 'switzerland' to rank places for one relationship.

calculate_company_taxA

Profit and capital tax for a company (GmbH, AG or similar).

Pass a canton code, 'capitals' or 'switzerland' as location to rank places, which is the usual reason to ask: cantonal profit tax rates for legal entities differ by a factor of roughly two across Switzerland.

explain_tax_bracketsA

Show the statutory rate ladder and where an income sits in it.

Explains the number rather than just producing it: which bracket the household is in, the marginal rate there, and how far the next threshold is. The cantonal figure is the simple tax (einfache Staatssteuer), which the canton and municipality then multiply by their own rates.

The tax amount always comes from ESTV itself. The ladder is rebuilt from the published scale, which a few cantons express as a formula rather than a table; there the amount is still exact and ladder is simply absent.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/noaahh/estv-mcp'

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