Rundum Immo Real Estate Appraisal
Server Details
Indicative German property depreciation, useful life, and purchase-price allocation via AfaMax.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Rundum-Immo/real-estate-appraisal-mcp
- GitHub Stars
- 0
- Server Listing
- immo.rundum/real-estate-appraisal
TDQS
Scored across 2 tools
The two tools address distinct calculations: one for property depreciation (AfA) and one for purchase price allocation. There is no functional overlap, and each description clarifies its specific input requirements and use case.
Both tool names follow the same 'calculate_' + specific noun phrase pattern, making their purpose predictable. The naming is consistent and clearly indicates action and subject.
With only two tools, the set is minimal, but the server's scope is narrowly focused on two specific German real estate tax calculations. Each tool earns its place, though a slightly broader set would feel more substantial.
For a server advertised as 'Real Estate Appraisal', the tool surface is limited to tax-related calculations. It covers depreciation and purchase price allocation but lacks other common appraisal functions like market value estimation or rent calculation, leaving notable gaps.
Available Tools
2 toolscalculate_property_depreciationCalculate German property depreciationARead-onlyIdempotentInspect
Calculate an indicative German real-estate depreciation (AfA) estimate through AfaMax.
Use this for residential German property, including remaining useful life, annual/monthly AfA, statutory comparison, and estimated tax savings. For apartment buildings, pass figures for the whole building or calculate units separately. Ask for all eight modernization component states whenever possible: omitting them assumes no modernization and produces the highest possible remaining-useful-life benefit. The result is non-binding and does not replace tax or legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language for upstream explanations; defaults to German. | |
| taxRate | No | Personal marginal tax rate as a decimal, e.g. 0.42. | |
| landArea | No | Land area in square metres. | |
| floorArea | Yes | Living or usable floor area in square metres. | |
| propertyType | Yes | German residential property category. | |
| modernization | No | Known state of eight modernization components. Ask for all eight when possible. | |
| purchasePrice | No | Total purchase price in EUR. | |
| constructionYear | Yes | Original year of construction. | |
| includedInventory | No | Movable inventory included in the purchase price, in EUR. | |
| standardLandValue | No | Standard land value in EUR per square metre. | |
| coreRenovationYear | No | Year of a qualifying core renovation, if applicable. | |
| modernizationLevel | No | Coarse modernization level used when detailed component data is unavailable. | |
| purchaseRelatedCosts | No | Purchase-related costs in EUR. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| input | Yes | |
| results | Yes | |
| disclaimer | Yes | |
| assumptions | Yes | |
| attribution | Yes | |
| calculationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds useful behavioral context beyond that by stating the estimate is 'indicative' and 'non-binding,' and by disclosing that omitting modernization components 'assumes no modernization and produces the highest possible remaining-useful-life benefit.' This gives the agent meaningful expectation-setting without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary action and resource, and every sentence earns its place: purpose, usage scope, modernization guidance, and legal disclaimer. It is compact enough for a complex 13-parameter financial calculation tool while avoiding redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, when to use it, apartment-building handling, an important assumption about missing modernization data, and the non-binding nature of the result. With annotations covering safety and an output schema present, the description is reasonably complete, though it could be stronger by explicitly naming the sibling tool and the situations that would route to it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining the consequence of omitting the modernization object—it assumes no modernization and affects the remaining-useful-life result. It also gives guidance on how to pass floor-area figures for apartment buildings, which helps the agent reason about propertyType and floorArea semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calculate an indicative German real-estate depreciation (AfA) estimate through AfaMax.' This clearly identifies the tool's function and distinguishes it from the sibling calculate_purchase_price_allocation, which targets a different calculation even though the sibling is not named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear use context: 'Use this for residential German property' and provides special guidance for apartment buildings. It also instructs the agent to 'Ask for all eight modernization component states whenever possible,' but it does not explicitly state when not to use this tool or mention the alternative sibling, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_purchase_price_allocationCalculate German purchase price allocationARead-onlyIdempotentInspect
Calculate a free, non-binding German property purchase-price allocation (Kaufpreisaufteilung) through AfaMax using the BMF Arbeitshilfe.
Use this to divide acquisition costs between non-depreciable land and the depreciable building. Inventory is deducted before allocation. A condominium requires both co-ownership values, and a residential/commercial building requires its commercial share category. Provide monthlyNetColdRent when known so the income method can be calculated; otherwise only the asset method is available. Comparative valuation is unavailable because this public contract excludes surveyor-only factors. The result does not replace tax or legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language for the disclaimer and AfaMax attribution link. Defaults to German. | de |
| garages | No | Number of enclosed garage spaces. Defaults to 0. | |
| landArea | Yes | Plot area in square metres. | |
| floorArea | Yes | Living or usable floor area in square metres. | |
| propertyType | Yes | German residential property category. | |
| purchaseDate | Yes | Date of the notarized purchase contract in YYYY-MM-DD format; must be from 1990-01-01 through today. | |
| commercialShare | No | Required for RESIDENTIAL_COMMERCIAL_BUILDING: whether the commercial share is under or over 50%. | |
| constructionYear | Yes | Original construction year; it cannot be later than the purchase year. | |
| includedInventory | No | Movable inventory included in the purchase price, in EUR. It is deducted before allocation. | |
| standardLandValue | Yes | Standard land value (Bodenrichtwert) in EUR per square metre. | |
| monthlyNetColdRent | No | Total monthly net cold rent in EUR. A positive value enables the income method; omitting or passing 0 leaves it unavailable. | |
| totalPurchasePrice | Yes | Total notarized purchase price in EUR. | |
| coOwnershipNumerator | No | Co-ownership numerator (Miteigentumsanteil); required with the denominator for a condominium. | |
| purchaseRelatedCosts | No | Land transfer tax, notary, land-register, and broker costs in EUR. Defaults to 0. | |
| coOwnershipDenominator | No | Co-ownership denominator; required with the numerator for a condominium. | |
| undergroundParkingSpaces | No | Number of underground parking spaces. Defaults to 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| input | Yes | |
| applied | Yes | |
| methods | Yes | |
| skipped | Yes | |
| degenerate | Yes | |
| disclaimer | Yes | |
| attribution | Yes | |
| calculationId | Yes | |
| assetMethodDefaults | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent, but the description adds substantial behavioral context beyond them: free and non-binding, inventory is deducted before allocation, income method availability depends on monthlyNetColdRent, comparative valuation is excluded, and the result is not tax/legal advice. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary purpose, then supplies only decision-relevant conditions. Each sentence adds value, and the legal disclaimer is placed last without weighing the text down.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter tool with an output schema, the description covers the key context an agent needs: what the calculation does, prerequisites for special property types, method availability, and limitations. Return details are covered by the output schema, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description meaningfully supplements the schema. It explains that includedInventory is deducted before allocation, that coOwnership numerator/denominator are both required for condominiums, that commercialShare applies only to RESIDENTIAL_COMMERCIAL_BUILDING, and that monthlyNetColdRent enables the income method versus the asset-only fallback.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calculate a free, non-binding German property purchase-price allocation (Kaufpreisaufteilung)' and immediately clarifies the mechanism (AfaMax, BMF Arbeitshilfe). It states the core function—dividing acquisition costs between land and building—which differentiates it from the sibling calculate_property_depreciation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use this to divide acquisition costs...' and details conditional requirements (condominium co-ownership values, commercial share category, monthlyNetColdRent enabling the income method). It does not explicitly name an alternative tool, but the contrast with depreciation is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
calculate_property_depreciation - First observed
calculate_purchase_price_allocation
Related MCP Connectors
Cost segregation study pricing and Year-1 depreciation/tax-savings estimates for US properties.
German land values (Bodenrichtwerte) by address + land-use type. Coverage varies; not in SH/SN/BY.
Fixed assets and depreciation from bundled Polish KST, HMRC and IRS MACRS tables.
German moving cost estimates with sources: volume catalog, 6400 routes, versioned methodology
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables transparent, indicative mortgage calculations for annuities and linear mortgages, including comparisons, product listings, and interest rate information.5MIT
- AlicenseNot gradedqualityFmaintenanceEnables querying over 6,800 German federal statutes, case law, and legislative preparatory works with verbatim source text. Integrates EU law cross-references and provides citation validation and legal stance building.86 npm22Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables users to calculate Portuguese property purchase costs (IMT, stamp duty, deed/registration) and query annual IMI rates and costs for all 308 municipalities, with sourced figures.MIT
- AlicenseBqualityAmaintenanceAccounting MCP server for the French LMNP tax status (furnished rentals, e.g. Airbnb hosts). 44 tools to manage properties, income and expenses, compute component-based depreciation and fiscal results, and generate the official French tax return (2031/2033) and FEC accounting export.454AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.