Skip to main content
Glama

Voxhouses (Portugal)

search_properties

Read-onlyIdempotent

Search current residential, rural and commercial real-estate listings for sale or rent in Portugal. Use this whenever the user wants to find, compare or explore properties — by location, budget, typology, property type, condition or energy rating. Returns price, price per m², typology, areas, neighbourhood, source and a citable listing URL, plus total: the exact number of listings matching the filters, which makes this tool usable to answer 'how many' questions. Listings are aggregated from portals and agency sites and refreshed continuously; each result carries the date it was last checked at the source. Sources publish uneven detail: filtering on an attribute silently excludes listings that omit it, so prefer the broadest filters that answer the question and report total as a floor, not a census.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page number. Use it with `total` to walk through a large result set.
sortNoResult order. Default `recent` (most recently published first).
limitNoResults per page (default 10, max 20).
minAreaNoMinimum floor area in m². Matches either the gross or the useful area, whichever the source published. Only matches listings that published an area.
locationNoLocation: district, municipality, neighbourhood, town or postal-code prefix (e.g. Lisbon, Cascais, Chiado, 2750). Not a free-text keyword search — words that are not places (e.g. 'sea view') will not match.
priceMaxNoMaximum price, in the market currency. Note: listings advertised 'price on request' have no price and are excluded by either price bound.
priceMinNoMinimum price, in the market currency.
typologyNoNormalised typology code (T0, T1, T2, T3…), where the number is the count of bedrooms. Used in every market, including the German and Polish ones. Matched exactly; pass an array to match several. The buckets `T0–T1` and `T4+` are also accepted.
conditionNoState of repair, or an array of states. Only matches listings whose source published it.
operationNobuy = for sale, rent = to let. Defaults to buy; a listing is one or the other, so call twice to cover both.
energyClassNoEnergy certificate class. Selects the whole band the class belongs to: A+/A, B/B-, C, or D-and-below. Only matches listings that carry a certificate.
minBathroomsNoMinimum number of bathrooms. Only matches listings whose source published a bathroom count.
propertyTypeNoProperty type, or an array of types. Omit to search all types. `farm` covers rural estates (quintas); `building` is a whole apartment block.

Output Schema

NameRequiredDescriptionDefault
pageYes
shownNoListings returned on this page.
totalYesExact number of listings in this market matching the filters, across all pages.
marketYesISO country code of this market.
hasMoreYestrue when further pages are available.
currencyNo
pageSizeNo
operationNoThe operation actually searched (comprar = for sale, arrendar = to let).
propertiesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / energyClass / enum
      Previous value: -[
      -  "A+",
      -  "A",
      -  "B",
      -  "B-",
      -  "C",
      -  "D",
      -  "E",
      -  "F"
      -]New value: +[
      +  "A++",
      +  "A+",
      +  "A",
      +  "B",
      +  "B-",
      +  "C",
      +  "D",
      +  "E",
      +  "F",
      +  "G",
      +  "H"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only/idempotent safety profile, and the description adds substantial non-annotation context: listings are aggregated from portals and agencies and refreshed continuously, each result carries a last-checked date, and sources publish uneven detail so filters silently drop listings. The 'total is a floor, not a census' caveat is exactly the kind of trap an agent would otherwise fall into.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core capability is front-loaded in the first sentence, and the caveat about uneven source data is placed at the end where it reads as a caution. It is on the long side for a description and the filter enumeration in sentence two partially repeats the schema, but almost every sentence carries usable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter, zero-required search tool with an output schema present, the description supplies precisely what structured fields cannot: what the results mean, where the data comes from, how fresh it is, and how to interpret `total`. Nothing needed to invoke or interpret the call correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents every parameter, so the baseline is 3. The description earns an extra point by adding cross-parameter behaviour: `total` can be combined with page to walk a large result set and answers 'how many' questions, and operation must be called twice to cover buy and rent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — searching residential, rural and commercial listings for sale or rent in Portugal — and enumerates the dimensions it can filter on. It stops short of naming how it differs from the near-identical sibling search_properties_by_description, so an agent must infer that distinction itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear trigger ('whenever the user wants to find, compare or explore properties') and gives two concrete operating instructions: call twice for buy vs rent, and prefer the broadest filters because filtering silently excludes listings that omit an attribute. It never explicitly says when NOT to use it or names an alternative sibling, which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources