{"serverId":"mcp-registry/ch.immoswipe/immoswipe-ai","tools":[{"name":"check_rental_chances","fixed":{"name":"check_rental_chances","description":"Wohnungs-Chancen-Check for Swiss tenants: rates chances on the rental market (tenant score 0–100) from a search profile using real BFS vacancy, rent and ZKB market data, and suggests better alternative regions. Use for \"how are my chances of finding a 3.5-room flat in Zürich for 2200\". Afterwards the tenant can register in the pool via join_tenant_pool.","inputSchema":{"type":"object","required":["location","rooms","budget","household","timeframe"],"properties":{"rooms":{"enum":["rooms_1_5","rooms_2_5","rooms_3_5","rooms_4_5","rooms_5_5_plus"],"type":"string","description":"rooms_1_5=1.5 … rooms_5_5_plus=5.5+"},"budget":{"enum":["budget_under_1000","budget_1000_1500","budget_1500_2000","budget_2000_2500","budget_2500_3000","budget_3000_3500","budget_3500_4000","budget_over_4000","budget_over_5000"],"type":"string","description":"Monthly budget in CHF (budget_over_4000 = 4000–5000, budget_over_5000 = >5000)"},"income":{"enum":["income_under_60k","income_60k_80k","income_80k_100k","income_100k_130k","income_130k_180k","income_over_180k"],"type":"string","description":"Optional gross annual income (improves tax estimate)"},"locale":{"enum":["en","de"],"type":"string"},"location":{"type":"string","description":"Desired place/region, e.g. \"Zürich\". Free text, geocoded server-side."},"household":{"enum":["single","shared_flat","couple_no_kids","couple_with_kids","family_with_kids"],"type":"string","description":"Household type"},"timeframe":{"enum":["asap","within_3_months","within_6_months","within_12_months","browsing"],"type":"string","description":"When they are searching"},"location_type":{"enum":["city","district","canton"],"type":"string","description":"Optional kind of place"},"search_radius_km":{"type":"number","description":"Optional search radius around the location in km, e.g. 15"},"workplace_address":{"type":"string","description":"Optional workplace address for a commute estimate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":549,"tokensAfter":549},{"name":"get_faqs","fixed":{"name":"get_faqs","description":"Get Immoswipe FAQs about using the platform, renting, listing a property, photography/tour services and pricing.","inputSchema":{"type":"object","required":[],"properties":{"role":{"type":"string","description":"Optional audience: \"provider\" (landlords) or \"tenant\""},"locale":{"enum":["en","de"],"type":"string"},"search_by":{"type":"string","description":"Optional keyword to filter FAQs"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"get_guide","fixed":{"name":"get_guide","description":"Read the full Markdown text of a specific Immoswipe guide/blog article by slug (get the slug from search_guides).","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","description":"Article slug, e.g. \"expat-guide-switzerland\". Numeric ID also works."},"locale":{"enum":["en","de"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"get_listing_detail","fixed":{"name":"get_listing_detail","description":"Get full details for a specific property by ID. Returns amenities, pricing breakdown, contact info, images.","inputSchema":{"type":"object","required":["listing_id"],"properties":{"locale":{"enum":["en","de"],"type":"string"},"listing_id":{"type":"number","description":"Property ID from search results"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"get_pool_stats","fixed":{"name":"get_pool_stats","description":"Public counters for the Immoswipe Mieter-Pool: how many tenants are registered and how many Chancen-Checks have been run. Aggregate numbers only, no personal data. Use to show a tenant the pool size before offering the sign-up via join_tenant_pool.","inputSchema":{"type":"object","required":[],"properties":{"locale":{"enum":["en","de"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"get_popular_listings","fixed":{"name":"get_popular_listings","description":"Fetch the most popular/trending Swiss property listings.","inputSchema":{"type":"object","required":[],"properties":{"locale":{"enum":["en","de"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"get_reserved_ranges","fixed":{"name":"get_reserved_ranges","description":"Check availability/booking dates for a specific property. Returns blocked date ranges.","inputSchema":{"type":"object","required":["listing_id","from_date","to_date"],"properties":{"locale":{"enum":["en","de"],"type":"string"},"to_date":{"type":"string","description":"End date YYYY-MM-DD"},"from_date":{"type":"string","description":"Start date YYYY-MM-DD"},"listing_id":{"type":"number","description":"Property ID"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"get_similar_listings","fixed":{"name":"get_similar_listings","description":"Return listings similar to a given property (same area/category).","inputSchema":{"type":"object","required":["listing_id"],"properties":{"locale":{"enum":["en","de"],"type":"string"},"listing_id":{"type":"number","description":"Property ID"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"search_guides","fixed":{"name":"search_guides","description":"Search Immoswipe blog/guide articles about Swiss housing: renting tips, expat relocation guides, buying advice, deposits, tenancy law. Use for \"how to\" / advice questions. Returns titles, slugs and links; use get_guide to read the full article.","inputSchema":{"type":"object","required":[],"properties":{"query":{"type":"string","description":"Optional keyword to filter articles by title/preview"},"locale":{"enum":["en","de"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":136,"tokensAfter":136},{"name":"search_listings","fixed":{"name":"search_listings","description":"Search Swiss apartments and houses for rent or sale. Supports city filtering (Zürich, Bern, Basel, Geneva), price (CHF), rooms, and square meters. EXAMPLES: \"apartments in Zurich under 2000\", \"3-room flat in Bern\", \"house to buy in Basel\".","inputSchema":{"type":"object","required":[],"properties":{"page":{"type":"number","description":"Page number for pagination"},"bounds":{"type":"object","properties":{"east":{"type":"number"},"west":{"type":"number"},"north":{"type":"number"},"south":{"type":"number"}},"description":"Geographic bounding box: {north, south, east, west}"},"locale":{"enum":["en","de"],"type":"string","description":"Language: en=English, de=German"},"per_page":{"type":"number","description":"Results per page (1-50, default 10)"},"amenities":{"type":"array","items":{"type":"string"},"description":"Desired amenities, e.g. \"parking\", \"balcony\", \"elevator\", \"dishwasher\""},"price_type":{"enum":["rent","sell","serviced"],"type":"string","description":"Transaction type: rent=rentals, sell=purchase, serviced=short-term"},"address_city":{"type":"string","description":"Swiss city name. Examples: \"Zürich\", \"Bern\", \"Basel\", \"Geneva\", \"Lausanne\". Supports partial matching."},"property_type":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Property type or array of types: \"apartment\", \"house\", \"studio\", \"commercial\". Empty for all."},"max_sales_price":{"type":"number","description":"Maximum purchase price in CHF"},"min_sales_price":{"type":"number","description":"Minimum purchase price in CHF"},"availability_type":{"type":"string","description":"\"long_term\" for permanent rentals, \"short_term\" for vacation rentals. Empty for all."},"max_monthly_price":{"type":"number","description":"Maximum monthly rent in CHF"},"max_square_meters":{"type":"number","description":"Maximum living area in m²"},"min_monthly_price":{"type":"number","description":"Minimum monthly rent in CHF"},"min_square_meters":{"type":"number","description":"Minimum living area in m²"},"property_category":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":["string","number"]}}],"description":"Category slug or array of slugs: \"apartment\", \"house\", \"adjoining-rooms\", \"parking-lot\", \"trade-industry\". Defaults to residential categories."},"min_number_of_rooms":{"type":"number","description":"Minimum number of rooms"},"max_rent_monthly_price":{"type":"number","description":"Maximum monthly rent for rental properties in CHF"},"min_rent_monthly_price":{"type":"number","description":"Minimum monthly rent for rental properties in CHF"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":748,"tokensAfter":748}],"toolsChanged":10,"tokensSaved":0,"todo":[{"tool":"check_rental_chances","params":["locale"]},{"tool":"get_faqs","params":["locale"]},{"tool":"get_guide","params":["locale"]},{"tool":"get_listing_detail","params":["locale"]},{"tool":"get_pool_stats","params":["locale"]},{"tool":"get_popular_listings","params":["locale"]},{"tool":"get_reserved_ranges","params":["locale"]},{"tool":"get_similar_listings","params":["locale"]},{"tool":"join_tenant_pool","params":["rooms","budget","income","household","timeframe","location_type","workplace_address"]},{"tool":"search_guides","params":["locale"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}