{"serverId":"mcp-registry/io.github.chris-paton/trustedvillas-mcp","tools":[{"name":"check_availability","fixed":{"name":"check_availability","description":"Check real-time availability and nightly pricing for a specific villa over a date range. Returns whether the property is available and the average nightly rate. For a binding total price including all fees and taxes, use get_quote.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["code","checkIn","checkOut"],"properties":{"code":{"type":"string","pattern":"^IH-\\d+$","description":"Interhome accommodation code."},"checkIn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Check-in date (YYYY-MM-DD)."},"checkOut":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Check-out date (YYYY-MM-DD). Must be after checkIn."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":217,"tokensAfter":217},{"name":"get_quote","fixed":{"name":"get_quote","description":"Get a binding price quote for a villa stay including full breakdown of accommodation cost, cleaning fee, tourist tax, and security deposit. Always use this for final price — never estimate or calculate prices manually. Provides a direct booking link with dates pre-filled.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["code","checkIn","checkOut","guests"],"properties":{"code":{"type":"string","pattern":"^IH-\\d+$","description":"Interhome accommodation code."},"guests":{"type":"integer","maximum":30,"minimum":1,"description":"Total number of guests."},"checkIn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Check-in date (YYYY-MM-DD)."},"checkOut":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Check-out date (YYYY-MM-DD)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":247,"tokensAfter":247},{"name":"get_villa_details","fixed":{"name":"get_villa_details","description":"Get full details for a specific villa including description, all photos, amenities, house rules, and check-in/check-out times. Call this when the user wants more information about a property found via search_villas.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["code"],"properties":{"code":{"type":"string","pattern":"^IH-\\d+$","description":"Interhome accommodation code from a search result, e.g. \"IH-123456\"."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":151,"tokensAfter":151},{"name":"search_villas","fixed":{"name":"search_villas","description":"Search self-catering villa rentals with real-time availability. Filter by destination, check-in/check-out dates, guests, bedrooms, and amenities (pool, pet-friendly, sea view, wifi, parking, air conditioning). Returns matching villas with nightly price and a link to book. Always pass checkIn, checkOut, and guests when the user has specified dates and party size.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"area":{"type":"string","description":"Region or area, e.g. \"Costa del Sol\", \"Tuscany\", \"Algarve\"."},"pool":{"type":"boolean","description":"Private swimming pool required."},"sort":{"enum":["relevance","price_asc","price_desc","bedrooms_asc","bedrooms_desc"],"type":"string","default":"relevance","description":"Result ordering."},"wifi":{"type":"boolean","description":"WiFi required."},"airCon":{"type":"boolean","description":"Air conditioning required."},"cursor":{"type":"string","description":"Pagination cursor from a previous response."},"guests":{"type":"integer","maximum":30,"minimum":1,"description":"Total number of guests including children."},"checkIn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Check-in date (YYYY-MM-DD). Required for availability filtering."},"country":{"type":"string","description":"Country name in English, e.g. \"Spain\", \"France\", \"Italy\"."},"parking":{"type":"boolean","description":"On-site parking required."},"seaView":{"type":"boolean","description":"Sea or ocean view required."},"bedrooms":{"type":"integer","minimum":1,"description":"Minimum number of bedrooms required."},"checkOut":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Check-out date (YYYY-MM-DD). Required with checkIn."},"location":{"type":"string","description":"Town or resort name, e.g. \"Marbella\", \"Positano\", \"Lagos\"."},"maxPrice":{"type":"integer","minimum":0,"description":"Maximum nightly price in GBP."},"minPrice":{"type":"integer","minimum":0,"description":"Minimum nightly price in GBP."},"pageSize":{"type":"integer","default":20,"maximum":50,"minimum":1},"petFriendly":{"type":"boolean","description":"Pets accepted."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":622,"tokensAfter":622}],"toolsChanged":4,"tokensSaved":0,"todo":[{"tool":"search_villas","params":["pageSize"]}],"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."}