← WebMCP Directory

Tool tree

panoramamarbella.com

CommerceTools verified
Website
Panorama, your luxury real estate agency in Marbella. Exclusive properties and houses for sale from Marbella’s longest established real estate agency.
Explore capabilities

    page: Every page

    wp_list_post_typesAnswer

    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.

    View tool JSON
    {
      "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.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    wp_search_postsAnswer

    Returns a page of published content entries of one kind, newest first. Only public entries: drafts and other unpublished states are invisible.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    wp_get_postAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    wp_list_taxonomiesAnswer

    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.

    View tool JSON
    {
      "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.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    wp_search_termsAnswer

    Finds terms inside one classification by name — for example, searching the site's categories.

    View tool JSON
    {
      "name": "wp_search_terms",
      "kind": "answer",
      "impl": "imperative",
      "description": "Finds terms inside one classification by name — for example, searching the site's categories.",
      "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
      },
      "page": "/"
    }
    wp_get_termAnswer

    Returns one term of one classification by its ID.

    View tool JSON
    {
      "name": "wp_get_term",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns one term of one classification by its ID.",
      "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
      },
      "page": "/"
    }
    wp_get_post_termsAnswer

    Returns the terms of one classification currently assigned to one content entry — for example, which categories a post is filed under.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    wp_get_acf_schemaAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_search_propertiesAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_propertyAnswer

    Returns the full record of one property by its ID: description, location, features, prices and measurements. The photo is not included in this record.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_locationAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_search_developmentsAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_developmentAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_typesAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_featuresAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_filtersAnswer

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }
    web_listings_get_property_imageAnswer

    Returns a ready-to-use URL for the main photo of one property, if it has one.

    View tool JSON
    {
      "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.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Internal Inmobalia property id."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    web_listings_get_development_imageAnswer

    Returns a ready-to-use URL for the main photo of one new-build development, if it has one.

    View tool JSON
    {
      "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.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Internal Inmobalia development id."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    open_urlAction

    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.

    View tool JSON
    {
      "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.",
      "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
      },
      "page": "/"
    }