{"ok":true,"site":{"host":"panoramamarbella.com","url":"https://www.panoramamarbella.com/","type":"live","desc":"Panorama, your luxury real estate agency in Marbella. Exclusive properties and houses for sale from Marbella’s longest established real estate agency.","tools":[{"name":"wp_list_post_types","kind":"answer","impl":"imperative","description":"Lists every kind of content this site can store — standard WordPress ones such as posts and pages, plus any custom ones this site defines. Returns each one's slug, which other tools need.","title":"Wp List Post Types","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_search_posts","kind":"answer","impl":"imperative","description":"Returns a page of published content entries of one kind, newest first. Only public entries: drafts and other unpublished states are invisible.","title":"Wp Search Posts","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"post_type":{"type":"string","enum":["post","page","agents","areas","press"],"description":"Which kind of content to list. Use one of the values in this enum; only these content types are readable via MCP on this site."},"page":{"type":"integer","minimum":1,"description":"Page number, starting at 1. Defaults to 1."},"per_page":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"Results per page, 1–100. Defaults to 20."},"with_translations":{"type":"boolean","default":false,"description":"When true, each result also says which languages it has been translated into. Slower, so leave it off unless you need it. Defaults to false."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"required":["post_type"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_get_post","kind":"answer","impl":"imperative","description":"Returns one published content entry. Identify it by id, or by slug together with post_type, or by url. If you pass more than one, id wins, then slug + post_type, then url. Only published entries: drafts and other unpublished states are invisible.","title":"Wp Get Post","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"The entry's numeric ID."},"slug":{"type":"string","description":"The entry's slug. Only works together with post_type."},"post_type":{"type":"string","enum":["post","page","agents","areas","press"],"description":"Required only when identifying by slug. Use one of the values in this enum; only these content types are readable via MCP on this site."},"url":{"type":"string","format":"uri","description":"The entry's full public URL."},"detail_level":{"type":"string","enum":["full","excerpt"],"default":"full","description":"full returns everything, including the body content. excerpt returns a lightweight version: summary text, assigned terms, word count and SEO metadata, without the body. Defaults to full."},"include_acf_fields":{"type":"boolean","default":false,"description":"Adds the entry's custom field values. Only works with detail_level: full. To know which field names to expect, check wp_get_acf_schema first. Defaults to false."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_list_taxonomies","kind":"answer","impl":"imperative","description":"Lists every way this site can classify content — standard WordPress ones such as categories and tags, plus any custom ones this site defines. Returns each one's slug, which other tools need.","title":"Wp List Taxonomies","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_search_terms","kind":"answer","impl":"imperative","description":"Finds terms inside one classification by name — for example, searching the site's categories.","title":"Wp Search Terms","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"taxonomy":{"type":"string","description":"Taxonomy slug, e.g. category, post_tag. Get valid values from wp_list_taxonomies."},"search":{"type":"string","description":"Text to match against term names. Omit to list all terms in the taxonomy."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"required":["taxonomy"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_get_term","kind":"answer","impl":"imperative","description":"Returns one term of one classification by its ID.","title":"Wp Get Term","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Term ID. Find it with wp_search_terms."},"taxonomy":{"type":"string","description":"Taxonomy slug, e.g. category, post_tag. Get valid values from wp_list_taxonomies."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"required":["id","taxonomy"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_get_post_terms","kind":"answer","impl":"imperative","description":"Returns the terms of one classification currently assigned to one content entry — for example, which categories a post is filed under.","title":"Wp Get Post Terms","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Post ID (any post type, native or custom)."},"taxonomy":{"type":"string","description":"Slug of the taxonomy: native WordPress (category, post_tag) or custom taxonomy."}},"required":["id","taxonomy"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"wp_get_acf_schema","kind":"answer","impl":"imperative","description":"Returns which custom fields exist for a kind of content: each field's name, type and allowed values. Use it to inspect the custom fields defined for a content type or entry, for example before interpreting include_acf_fields results from wp_get_post. Pass post_type to inspect a content type, or post_id to inspect the type of a specific entry; post_id takes precedence when both are given. With neither, it defaults to post.","title":"Wp Get Acf Schema","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"post_type":{"type":"string","default":"post","description":"Which kind of content to inspect. Defaults to post. Ignored when post_id resolves to an existing entry. Get valid values from wp_list_post_types."},"post_id":{"type":"integer","description":"A specific entry; its own kind of content is used. When both are given, post_id takes precedence."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_search_properties","kind":"answer","impl":"imperative","description":"Searches individual properties for sale or rent — a single apartment, villa, plot or commercial unit. Returns a short summary of each match: enough to compare and choose, without the full description or photos.","title":"Web Listings Search Properties","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"filter":{"type":"string","enum":["sale","rent","rent-short","rent-long"],"description":"What kind of listing to return. Omit to return all kinds."},"ids":{"type":"array","items":{"type":"integer"},"description":"Return only these specific property IDs."},"countries":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"provinces":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"areas":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"subareas":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"cities":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"categories":{"type":"array","items":{"type":"integer"},"description":"Property category IDs. Resolve names with web_listings_get_types."},"types":{"type":"array","items":{"type":"integer"},"description":"Property type IDs. Resolve names with web_listings_get_types."},"features":{"type":"array","items":{"type":"integer"},"description":"Feature IDs. Resolve names with web_listings_get_features."},"filters":{"type":"array","items":{"type":"string"},"description":"Theme filter names or URL slugs in any language, e.g. beach, gatedcommunity, comunidad-cerrada. Resolve names with web_listings_get_filters. Unknown values are ignored."},"bedrooms":{"type":"integer","minimum":0,"description":"Minimum number of bedrooms."},"bathrooms":{"type":"integer","minimum":0,"description":"Minimum number of bathrooms."},"pool":{"type":"string","enum":["yes","no","private","communal"],"description":"yes = has any pool, no = has none, private = has a private pool, communal = has a communal pool."},"garage":{"type":"string","enum":["yes","no","private","communal"],"description":"yes = has any garage, no = has none, private = has a private garage, communal = has a communal garage."},"garden":{"type":"string","enum":["yes","no","private","communal"],"description":"yes = has any garden, no = has none, private = has a private garden, communal = has a communal garden."},"price_from":{"type":"number","minimum":0,"description":"Minimum price."},"price_to":{"type":"number","minimum":0,"description":"Maximum price."},"currency":{"type":"string","default":"EUR","description":"ISO 4217 currency code, e.g. EUR. Defaults to EUR."},"order":{"type":"string","enum":["price","date_created","date_listed","date_modified","mts_build","mts_plot","bedrooms","year"],"description":"Field to sort by. Omit to use the site's own default order."},"order_direction":{"type":"string","enum":["desc","asc"],"default":"desc","description":"Defaults to desc (highest or newest first). Use asc for the cheapest, smallest or oldest first. Ignored when order is omitted."},"page":{"type":"integer","minimum":1,"default":1,"description":"Page number, starting at 1. Defaults to 1."},"size":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"Results per page, 1-100. Defaults to 20."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_property","kind":"answer","impl":"imperative","description":"Returns the full record of one property by its ID: description, location, features, prices and measurements. The photo is not included in this record.","title":"Web Listings Get Property","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Internal Inmobalia property id."},"lang":{"type":"string","default":"en","description":"Optional ISO 639-1 code (default en) to select multilingual columns."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_location","kind":"answer","impl":"imperative","description":"Finds a location by name and returns the matches, best first. Each match includes its ID and its full hierarchy (country, province, area, subarea, city). Use the ID in the countries, provinces, areas, subareas or cities parameters of web_listings_search_properties or web_listings_search_developments.","title":"Web Listings Get Location","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":5,"description":"Free-text location name, e.g. \"Sierra Blanca\", \"Manilva\". Must be at least 5 characters long."},"level":{"type":"string","enum":["country","province","area","subarea","city"],"description":"Restricts the search to one level. Omit to search all levels."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"required":["name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_search_developments","kind":"answer","impl":"imperative","description":"Searches new-build developments — residential projects sold as a whole, each containing many individual units. Returns a short summary of each match: enough to compare and choose, without the full description or photos.","title":"Web Listings Search Developments","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"provinces":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"areas":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"subareas":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"cities":{"type":"array","items":{"type":"integer"},"description":"Location IDs. Resolve names with web_listings_get_location."},"categories":{"type":"array","items":{"type":"integer"},"description":"Property category IDs. Resolve names with web_listings_get_types."},"types":{"type":"array","items":{"type":"integer"},"description":"Property type IDs. Resolve names with web_listings_get_types."},"filters":{"type":"array","items":{"type":"string"},"description":"Theme filter names or URL slugs in any language for developments, e.g. beach, comunidad-cerrada. Resolve names with web_listings_get_filters. Unknown values are ignored."},"order":{"type":"string","enum":["price","date_created","date_listed","date_modified","year"],"description":"Field to sort by. price uses the development's starting price. Omit to use the site's own default order."},"order_direction":{"type":"string","enum":["desc","asc"],"default":"desc","description":"Defaults to desc (highest or newest first). Use asc for the cheapest or oldest first. Ignored when order is omitted."},"page":{"type":"integer","minimum":1,"default":1,"description":"Page number, starting at 1. Defaults to 1."},"size":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"Results per page, 1-100. Defaults to 20."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_development","kind":"answer","impl":"imperative","description":"Returns the full record of one new-build development by its ID: description, location, starting price, available types, and the IDs of its individual units. The photo is not included in this record. Look up each unit ID with web_listings_search_properties to get bedroom, bathroom and size details for that specific unit.","title":"Web Listings Get Development","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Internal Inmobalia development id."},"lang":{"type":"string","default":"en","description":"Optional ISO 639-1 code (default en)."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_types","kind":"answer","impl":"imperative","description":"Finds a property type by name and returns the matches, best first. Each match includes its ID and the category it belongs to. If name is omitted, returns the full catalog of categories and types instead. Use the ID in the categories or types parameters of web_listings_search_properties or web_listings_search_developments.","title":"Web Listings Get Types","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":5,"description":"Free-text type name, e.g. \"duplex\", \"apartment\". Must be at least 5 characters long. Omit to get the full catalog."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_features","kind":"answer","impl":"imperative","description":"Finds a property feature by name and returns the matches, best first. Each match includes its ID. If name is omitted, returns the full catalog of features instead. Use the ID in the features parameter of web_listings_search_properties.","title":"Web Listings Get Features","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":5,"description":"Free-text feature name, e.g. \"air conditioning\", \"sea view\". Must be at least 5 characters long. Omit to get the full catalog."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_filters","kind":"answer","impl":"imperative","description":"Lists the theme filters available for property or development searches, with the URL slug localized for the requested language. Each entry has a canonical name and its slug. Use the name (or any slug) in the filters parameter of web_listings_search_properties or web_listings_search_developments.","title":"Web Listings Get Filters","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"struct":{"type":"string","enum":["property","development"],"default":"property","description":"Which catalog to list. Defaults to property."},"lang":{"type":"string","default":"en","description":"ISO 639-1 language code, e.g. en, es. Defaults to en."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_property_image","kind":"answer","impl":"imperative","description":"Returns a ready-to-use URL for the main photo of one property, if it has one.","title":"Web Listings Get Property Image","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Internal Inmobalia property id."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"web_listings_get_development_image","kind":"answer","impl":"imperative","description":"Returns a ready-to-use URL for the main photo of one new-build development, if it has one.","title":"Web Listings Get Development Image","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Internal Inmobalia development id."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]},{"name":"open_url","kind":"act","impl":"imperative","description":"Opens a same-origin page in the user's browser, in the same tab. Accepts a relative path (for example /property/...) or an absolute URL on the same host, typically a URL returned by another tool. External hosts and non-http(s) schemes are rejected without navigating. Returns a short confirmation when the navigation starts, or an error message explaining why it did not.","title":"Open Url","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Internal site URL to open (relative path or absolute same-host URL from another tool result). Use the exact value from a previous tool result; do not build or guess URLs."}},"required":["url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/news","/nl/news/beste-stranden-marbella","/de/news/beste-straende-marbella","/fr/news/meilleures-plages-marbella","/es/news/mejores-playas-marbella"]}],"category":"Commerce","favicon":"/favicons/panoramamarbella.com.png","apiSurface":"spec","toolCount":19}}