Austria Property

io.github.mastalier1997Published by GitHub account mastalier1997v0.6.0Updated Nov 1, 2026

Austrian property costs, buy-to-let underwriting, income tax and rent caps, cited to the statute

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Calculates Austrian residential property purchase costs and buy-to-let returns, with every statutory figure cited to its legal source.

What you can do
  • Estimate one-off acquisition costs on top of the price: transfer tax, land-register fees, broker commission checked against the legal maximum, contract costs
  • Underwrite a rental property: loan payment, cash flow before and after income tax, gross and net yield, cash-on-cash, DSCR, break-even rent, MRG rent-cap check, depreciation and a 25-year Liebhaberei check
  • List the statutory values and default assumptions behind the numbers, with legal basis, source and verification date
  • Return a short summary plus JSON, compact by default or with full calculation detail on request
When to use it
Useful when evaluating an Austrian residential purchase or buy-to-let deal and you want consistent, statute-referenced cost and yield figures rather than ad-hoc estimates. Also handy for checking which tax, fee and rent-cap rules apply on a given valuation date.
Requirements
Either the hosted streamable HTTP endpoint (no install) or a local process via npx, which needs Node.js 20 or later. No accounts, API keys or environment variables are declared.
Before you install
Output is calculation only, not investment, tax or legal advice. Income tax uses a flat marginal rate unless other taxable income is supplied and ignores tax credits; rent, costs and interest are held constant. The rent-regulation result is estimated from building data and the Richtwert cap excludes surcharges and deductions, so figures should be verified before acting.

Installation

In SourceWeft

  1. Open Austria Property in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.mastalier1997%2Faustria-property/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "austria-property": {
      "type": "http",
      "url": "https://austria-property-mcp.jan-mastalier.workers.dev/mcp"
    }
  }
}

README

austria-property-mcp

An MCP server for Austrian residential property. It gives AI agents deterministic calculations in which every statutory number cites its legal source (RIS):

ToolWhat it does
estimate_acquisition_costsCosts on top of the purchase price: Grunderwerbsteuer, land-register court fees, broker commission with a check against the legal maximum, contract costs
underwrite_propertyBuy-to-let analysis: acquisition costs, loan payment, monthly cash flow before and after income tax, yields, DSCR, break-even rent, whether MRG rent caps apply and the Richtwert cap, depreciation (AfA) with the legal land share, a 25-year Liebhaberei check, risk flags
get_rulesThe statutory values and default assumptions behind the numbers, with legal basis, source links and verification dates

Rules are versioned by date (for example the court-fee changes of 1 August 2026), covering valuation dates from 2025-04-01 to 2027-12-31.

Use it

Claude Code:

bash
claude mcp add austria-property -- npx -y austria-property-mcp

On native Windows, wrap npx: claude mcp add austria-property -- cmd /c npx -y austria-property-mcp.

Claude Desktop and other MCP clients (claude_desktop_config.json or equivalent):

json
{  "mcpServers": {    "austria-property": {      "command": "npx",      "args": ["-y", "austria-property-mcp"]    }  }}

Requires Node.js 20 or later.

Hosted endpoint (no install; stateless streamable HTTP):

bash
claude mcp add --transport http austria-property-hosted https://austria-property-mcp.jan-mastalier.workers.dev/mcp

Example question

Underwrite this listing: €269,000, 54 m² Eigentumswohnung built 1978, rent €795 plus €132 Betriebskosten, 65% loan at 3.9% over 25 years.

The agent gets a short summary followed by the result as JSON. Excerpt of the summary (rules as of 2026-10-26; no reserve fund given, so the statutory minimum is used):

text
Purchase: €269,000.00 + acquisition costs €29,659.00 (11.03%) = €298,659.00; equity €123,809.00.Loan: €174,850.00 at 3.9% over 25 years = €913.30 a month (LTV 65%).Monthly: net cold rent €795.00 − vacancy and rent loss €37.08 − repair reserve contribution (statutory minimum) €60.48 − owner's maintenance €49.78 = NOI €647.66; cash flow before tax -€265.64.Returns: gross yield 3.55%, net yield 2.6%, cash-on-cash -2.57%, DSCR 0.71.Break-even rent: €1,071.71 (€19.85 per m²).Rent regulation (MRG): partial. Only parts of the MRG apply, so there is no statutory rent cap (estimated from the build year; confirm the Baubewilligung date). Tenancy protection and minimum fixed terms still apply.
Income tax: flat 40% marginal rate. AfA on €177,558.60 building value (land share 40%), 4.5% in year 1, 3% in year 2, then 1.5%....Liebhaberei (25 years): total surplus from year 21, cumulative €17,857.41.

The summary goes on with after-tax cash flow for years 1–5 and flags for every assumption used. The JSON is compact by default (key figures, flags, deduplicated citations); pass "detail": "full" for every line with its calculation and legal basis.

Limits

  • Calculations only, not investment, tax or legal advice.
  • Income tax uses a flat marginal rate, or the exact § 33 tariff when the other taxable income is given; tax credits are ignored. Rent, costs and interest are held constant.
  • The rent-regulation check uses building size, permit dates and public funding. The Richtwert cap is the base amount; surcharges and deductions (Zuschläge/Abschläge) and the angemessener Mietzins are not computed.

Rule catalogue and sources: docs/rules.md.

License

AGPL-3.0-only. Source: github.com/mastalier1997/austria-property-mcp.

Source: packages/mcp-server/README.md at commit d45f33d

Tools

3

estimate_acquisition_costs

Austrian property purchase costs

Calculate the one-off costs of buying residential property in Austria on top of the price (Kaufnebenkosten): real estate transfer tax (Grunderwerbsteuer), land-register court fees, broker commission with a check against the legal maximum, and lawyer/notary contract costs, each with VAT where it applies. Use when someone asks what buying a specific flat or house in Austria costs in total. The JSON lists the cited legal bases and sources once; pass detail "full" for every line item with its calculation and its own citations. Amounts in EUR. Not covered: bank or valuation fees, purchases within the family, exemptions for a primary residence.

ParametersbrokerrequireddetailfinancingassumptionspurchasePricerequiredvaluationDate

underwrite_property

Underwrite an Austrian buy-to-let purchase

Analyse an Austrian residential property as a rental investment: acquisition costs, annuity loan payment, monthly cash flow before and after income tax, gross and net yield, cash-on-cash return, debt cover (DSCR), break-even rent, whether statutory rent caps (MRG) apply and the Richtwert cap, depreciation (AfA) with the legal land share, a 25-year Liebhaberei check, and risk flags. Use when evaluating whether a specific flat or house is a good buy-to-let deal. Inputs in EUR; rents and owner costs are monthly and net of VAT. Pass what you know: missing facts fall back to documented assumptions and are flagged. The JSON is compact by default (key figures, flags, citations); pass detail "full" for every line, the tax years and the rules used. Not covered: rent increases or interest-rate changes over time, tax credits, Richtwert surcharges and deductions (Zuschläge/Abschläge).

ParameterstaxrentrequiredbrokerrequireddetailpropertyfinancingownerCostsassumptionspurchasePricerequiredvaluationDate

get_rules

Statutory rules and assumptions

List the statutory values the engine uses on a date (tax and fee rates, broker caps, minimum repair reserve, MRG cut-off dates, Richtwerte per state, AfA rates, land shares, income tax brackets), each with legal basis, source URL and the date it was last verified, plus the default assumptions and risk thresholds. Use to cite sources or to explain how a number was calculated.

Parametersdate

Version history

2
  1. v0.6.0LatestOct 18, 2026
  2. v0.3.0Oct 18, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts