Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "calculate_property_depreciation", "calculate_purchase_price_allocation" and "get_price_by_product"
Calculate German property depreciation (AfA) & RestnutzungsdauerCalculateanindicative Germanreal-estateproperty depreciation (AfA / Gebäudeabschreibung)estimateand the building's remaining useful life (Restnutzungsdauer) for residential rental property through AfAMax. Use thisforwhenresidentiala user wants to calculate AfA, asks whether a German rental property can be depreciated faster than the statutory 2 % under § 7 Abs. 4 EStG,includingmentionsremaininga shorter actual useful life,annual/monthly(verkürzteAfARestnutzungsdauer), or wants to know whether a Restnutzungsdauergutachten would pay off — also when they only describe an old or unrenovated building and ask what they can deduct. The result compares the remaining-useful-life rate with the statutorycomparisonrate, gives annual/monthly AfA and estimated taxsavings.savings, and states whether an appraisal looks worthwhile. For apartment buildings, pass figures for the ⟨66 unchanged words⟩
⟨6 unchanged words⟩ constructionYear":{"description":"Original year of construction. / Baujahr.","maximum":9007199254740991,"minimum":1800,"type ⟨12 unchanged words⟩ Year of a qualifying core renovation, if applicable. / Jahr einer Kernsanierung."},"floorArea":{"description":"Living or usable floor area in square metres. / Wohn- bzw. Nutzfläche.","maximum":100000,"minimum":10,"type ⟨27 unchanged words⟩ ],"description":"Land area in square metres. / Grundstücksfläche."},"locale":{"anyOf":[{"enum ⟨95 unchanged words⟩ ,"description":"Known state of eight modernizationcomponents.components (Modernisierungselemente): roof (Dach), facadeInsulation (Fassadendämmung), windowsDoors (Fenster und Außentüren), heating (Heizung), utilities (Leitungen), bathrooms (Bäder), interiorFitout (Innenausbau), floorplanImprovement (Grundrissverbesserung). Ask for all eight when possible."},"modernizationLevel ⟨20 unchanged words⟩ propertyType":{"description":"German residential property category. CONDOMINIUM = Eigentumswohnung, ROW_HOUSE = Reihenhaus, SEMI_DETACHED = Doppelhaushälfte, APARTMENT_BUILDING = Mehrfamilienhaus, RESIDENTIAL_COMMERCIAL_BUILDING = Wohn- und Geschäftshaus.","enum":["CONDOMINIUM","SINGLE_FAMILY_HOUSE"," ⟨15 unchanged words⟩ ],"description":"Total purchase price in EUR. / Kaufpreis."},"purchaseRelatedCosts":{"anyOf":[{"minimum ⟨4 unchanged words⟩ null"}],"description":"Purchase-related costs inEUR.
⟨318 unchanged words⟩ additionalProperties":false,"properties":{"afaRatePerYear":{"description":"AfA rate per year from the estimated remaining useful life, as a decimal (0.0333 = 3.33 %).","type":"number"},"annualAfaAmount":{"description":"Annual AfA in EUR at afaRatePerYear.","type":"number"},"annualTaxSavings":{"description":"Estimated income tax saved per year by annualAfaAmount at taxRate.","type":"number"},"appraisalWorthwhile":{"description":"Whether the remaining-useful-life rate is high enough for a Restnutzungsdauergutachten to look worthwhile.","type":"boolean"},"buildingValue":{"description":"Depreciable building value in EUR (excluding land).","type":"number"},"buildingValueSource":{"enum" ⟨7 unchanged words⟩ ,"type":"string"},"defaultAfaAmount":{"description":"Annual AfA in EUR at the statutory rate.","type":"number"},"defaultAfaRatePerYear":{"description":"Statutory AfA rate under § 7 Abs. 4 EStG for comparison, as a decimal.","type":"number"},"modernizationPointsUsed":{"maximum" ⟨9 unchanged words⟩ :{"type":"number"},"remainingUsefulLifeYears":{"description":"Estimated remaining useful life (Restnutzungsdauer) in years.","type":"number"},"taxRate":{"type ⟨28 unchanged words⟩
⟨16 unchanged words⟩ this to divide acquisition costs between non-depreciable land (Grundstücksanteil) and the depreciablebuilding.building (Gebäudeanteil), e.g. when a user asks how much of the price they may depreciate or wants to check the Finanzamt's split. Its depreciationBase is the base for the building's AfA. Inventory is deducted before allocation. A condominium requires ⟨118 unchanged words⟩
⟨73 unchanged words⟩ ordering is binding — say so when quoting. This tool only quotes prices: to estimate whether a Restnutzungsdauergutachten would pay off, use calculate_property_depreciation. The response attribution links to the product page; ⟨9 unchanged words⟩
Added "book_appointment", "get_available_appointments" and "get_price_by_product"; changed the definition of "calculate_property_depreciation" and "calculate_purchase_price_allocation" (2 tools before, 5 now)
⟨30 unchanged words⟩ {"type":"string"},"provider":{"constenum":["AfaMax","AfAMax"],"type":"string"},"url":{" ⟨360 unchanged words⟩
⟨83 unchanged words⟩ {"type":"string"},"provider":{"constenum
Certificate recorded, valid to 2026-12-15
Authorization not required
Unknown → Live
First tool surface recorded: 2 tools (server version 0.1.1)
npm:@rundum-immo/real-estate-appraisal-mcp (package_npm) — from mcp_registry, with the record
https://mcp.rundum.immo/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Book a free AfAMax initial call — Books a free 15-minute initial phone call with the AfAMax team, in two steps. STEP 1: after the user picked a slot from get_available_appointments, confirm the slot, their name and their own e-mail address with them, then call with startDateTime, name, email (and optionally phone, locale). AfAMax e-mails a 6-digit code to that address and returns status "verification_required" with a verificationId. STEP 2: ask the user for the code from that e-mail and call again with only verificationId and otp. The code proves the address belongs to the user: use only the code the user gives you — never …
List free AfAMax initial-call appointment slots — Lists open slots for a free, non-binding 15-minute initial phone call with the AfAMax team (Erstgespräch), on weekdays in the Europe/Berlin time zone, grouped by day. Each day lists a sample spread across the day (maxSlotsPerDay, default 8) and its freeSlotCount; for a specific time, call again for that day with days: 1 and maxSlotsPerDay: 32. Show the user the day and localTime; to book one, pass its startDateTime unchanged to book_appointment. Slots are live and can be taken at any time, so re-check rather than reusing an old list. The response attribution links to the contact page, where …
Get the price of an AfAMax appraisal product — Returns AfAMax's current list price in EUR, incl. German VAT (19%), for one product — Restnutzungsdauergutachten (rnd), Wertgutachten (kurzgutachten), Verkehrswertgutachten (vollgutachten), Kaufpreisaufteilung or Versetzbarkeitsgutachten — including the options the customer picks when ordering: property inspection (exterior or on-site), express processing and, for multi-unit buildings, a per-flat price. price.totalPrice is the sum; surchargeTable lists every option so alternatives can be compared without another call. Discount codes are not applied, and the price shown when ordering is bindi…