{"name":"immo.rundum/real-estate-appraisal","slug":"rundum-real-estate-appraisal","title":"Rundum Immo Real Estate Appraisal","description":"Indicative German property depreciation, useful life, and purchase-price allocation via AfAMax.","url":"https://mcp.market/server/rundum-real-estate-appraisal","rating":null,"grade":"B","score":79,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":34,"stars":0,"forks":0,"downloads_week":158,"last_push_at":"2026-09-17T17:04:46.000Z","license":"MIT"},"uptime":{"percent":100,"checks":2,"ok":2,"last_checked_at":"2026-09-19T22:21:05.894Z","last_ok_at":"2026-09-19T22:21:05.894Z","latency_ms":190},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Rundum-Immo/real-estate-appraisal-mcp","website":"https://afamax.de","version":"0.1.1","remotes":[{"type":"streamable-http","url":"https://mcp.rundum.immo/mcp"}],"packages":[{"registryType":"npm","identifier":"@rundum-immo/real-estate-appraisal-mcp","version":"0.1.1","transport":{"type":"stdio"}}],"tools":[{"name":"calculate_property_depreciation","description":"Calculate an indicative German real-estate depreciation (AfA) estimate through AfAMax.\n\nUse 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 response attribution link opens the same calculation in the AfAMax calculator with these inputs already filled in; cite it as the source when reporting the result. The result is non-binding and does not replace tax or legal advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyType":{"type":"string","enum":["CONDOMINIUM","SINGLE_FAMILY_HOUSE","TWO_FAMILY_HOUSE","ROW_HOUSE","SEMI_DETACHED","APARTMENT_BUILDING","RESIDENTIAL_COMMERCIAL_BUILDING"],"description":"German residential property category."},"constructionYear":{"type":"integer","minimum":1800,"maximum":9007199254740991,"description":"Original year of construction."},"floorArea":{"type":"number","minimum":10,"maximum":100000,"description":"Living or usable floor area in square metres."},"purchasePrice":{"description":"Total purchase price in EUR.","anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"landArea":{"description":"Land area in square metres.","anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"standardLandValue":{"description":"Standard land value in EUR per square metre.","anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"includedInventory":{"description":"Movable inventory included in the purchase price, in EUR.","anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"purchaseRelatedCosts":{"description":"Purchase-related costs in EUR.","anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"coreRenovationYear":{"description":"Year of a qualifying core renovation, if applicable.","anyOf":[{"type":"integer","minimum":1801,"maximum":9007199254740991},{"type":"null"}]},"taxRate":{"description":"Personal marginal tax rate as a decimal, e.g. 0.42.","anyOf":[{"type":"number","exclusiveMinimum":0,"maximum":0.6},{"type":"null"}]},"locale":{"description":"Language for upstream explanations; defaults to German.","anyOf":[{"type":"string","enum":["de","en"]},{"type":"null"}]},"modernizationLevel":{"description":"Coarse modernization level used when detailed component data is unavailable.","anyOf":[{"type":"string","enum":["none","partial","extensive"]},{"type":"null"}]},"modernization":{"description":"Known state of eight modernization components. Ask for all eight when possible.","anyOf":[{"type":"object","properties":{"roof":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"facadeInsulation":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"windowsDoors":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"heating":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"utilities":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"bathrooms":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"interiorFitout":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]},"floorplanImprovement":{"type":"string","enum":["NOT_MODERNIZED","SLIGHTLY_MODERNIZED","PARTIALLY_MODERNIZED","MOSTLY_MODERNIZED","FULLY_MODERNIZED"]}},"additionalProperties":false},{"type":"null"}]}},"required":["propertyType","constructionYear","floorArea"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"calculate_purchase_price_allocation","description":"Calculate a free, non-binding German property purchase-price allocation (Kaufpreisaufteilung) through AfAMax using the BMF Arbeitshilfe.\n\nUse 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. Comparative valuation is unavailable because this public contract excludes surveyor-only factors. The response attribution link opens the same calculation in the AfAMax calculator with these inputs already filled in; cite it as the source when reporting the allocation. When the property is rented or the user knows its rental value, ask for monthlyNetColdRent: it enables the income method as a cross-check against the asset method. Ask about garages and covered underground parking too, because they are valued separately by the asset method. Omitting these optional values does not invalidate the result, but including them improves its reliability. The result does not replace tax or legal advice.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyType":{"type":"string","enum":["CONDOMINIUM","SINGLE_FAMILY_HOUSE","TWO_FAMILY_HOUSE","ROW_HOUSE","SEMI_DETACHED","APARTMENT_BUILDING","RESIDENTIAL_COMMERCIAL_BUILDING"],"description":"German residential property category."},"totalPurchasePrice":{"type":"number","exclusiveMinimum":0,"description":"Total notarized purchase price in EUR."},"purchaseRelatedCosts":{"description":"Land transfer tax, notary, land-register, and broker costs in EUR. Defaults to 0.","type":"number","minimum":0},"includedInventory":{"description":"Movable inventory included in the purchase price, in EUR. It is deducted before allocation.","type":"number","minimum":0},"purchaseDate":{"type":"string","description":"Date of the notarized purchase contract in YYYY-MM-DD format; must be from 1990-01-01 through today."},"constructionYear":{"type":"integer","minimum":1800,"maximum":9007199254740991,"description":"Original construction year; it cannot be later than the purchase year."},"floorArea":{"type":"number","exclusiveMinimum":0,"description":"Living or usable floor area in square metres."},"landArea":{"type":"number","exclusiveMinimum":0,"description":"Plot area in square metres."},"standardLandValue":{"type":"number","exclusiveMinimum":0,"description":"Standard land value (Bodenrichtwert) in EUR per square metre."},"commercialShare":{"description":"Required for RESIDENTIAL_COMMERCIAL_BUILDING: whether the commercial share is under or over 50%.","type":"string","enum":["under_50","over_50"]},"coOwnershipNumerator":{"description":"Co-ownership numerator (Miteigentumsanteil); required with the denominator for a condominium.","type":"number","exclusiveMinimum":0},"coOwnershipDenominator":{"description":"Co-ownership denominator; required with the numerator for a condominium.","type":"number","exclusiveMinimum":0},"garages":{"description":"Number of above-ground garages. Improves the asset-method allocation by valuing parking separately. Ask the user if the property includes garages.","type":"integer","minimum":0,"maximum":9007199254740991},"undergroundParkingSpaces":{"description":"Number of covered underground parking spaces. Improves the asset-method allocation by valuing parking separately. Ask the user if the property includes underground parking.","type":"integer","minimum":0,"maximum":9007199254740991},"monthlyNetColdRent":{"description":"Monthly net cold rent (base rent excluding utilities, in EUR). Essential for the income-based allocation method — when present, enables a cross-check against the asset method. Ask the user if the property is rented or if they know the rental value.","type":"number","minimum":0},"locale":{"description":"Language for the disclaimer and AfAMax attribution link. Defaults to German.","default":"de","type":"string","enum":["de","en"]}},"required":["propertyType","totalPurchasePrice","purchaseDate","constructionYear","floorArea","landArea","standardLandValue"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}}],"scan":{"score":79,"grade":"B","scanned_at":"2026-09-19T19:24:37.201Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:24:37.122Z","components":{"code":{"score":25,"max":25,"notes":["33 source files scanned"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2618ms"]},"poisoning":{"score":15,"max":15,"notes":["2 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":4,"max":10,"notes":["namespace and repository owner differ"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.rundum.immo/mcp","reachable":true,"authRequired":false,"latencyMs":2618,"serverInfo":{"name":"immo.rundum/real-estate-appraisal","version":"0.1.1"}}],"packages":[{"registryType":"npm","identifier":"@rundum-immo/real-estate-appraisal-mcp","version":"0.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-17T17:02:15.894Z","repositoryUrl":"git+https://github.com/Rundum-Immo/real-estate-appraisal-mcp.git","weeklyDownloads":158}],"repo":{"found":true,"owner":"Rundum-Immo","repo":"real-estate-appraisal-mcp","archived":false,"pushedAt":"2026-09-17T17:04:46Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/328984939?v=4","ownerCreatedAt":"2026-09-14T06:59:53Z","license":"MIT"},"icon":{"url":"https://afamax.de/favicon.ico","source":"registry","width":48,"height":48},"presence":{"stars":0,"forks":0,"downloadsWeek":158,"license":"MIT","lastPushAt":"2026-09-17T17:04:46.000Z","score":34}}}},"grade_history":[],"reviews":[]}