Search / eu.voxs/voxhouses-pt
Voxhouses (Portugal)
R0· no sign-inProperty listings in Portugal: search, market stats, comparables, neighbourhoods.
v1.0.0 · active · website · descriptor JSON · versions
Search / eu.voxs/voxhouses-pt
R0· no sign-inProperty listings in Portugal: search, market stats, comparables, neighbourhoods.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"voxhouses-pt": {
"type": "http",
"url": "https://www.voxhouses.pt/api/mcp"
}
}
}claude mcp add --transport http voxhouses-pt https://www.voxhouses.pt/api/mcp[mcp_servers.voxhouses-pt]
url = "https://www.voxhouses.pt/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"voxhouses-pt": {
"type": "remote",
"url": "https://www.voxhouses.pt/api/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"voxhouses-pt": {
"type": "http",
"url": "https://www.voxhouses.pt/api/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=voxhouses-pt&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LnZveGhvdXNlcy5wdC9hcGkvbWNwIn0%3D"
}{
"servers": {
"voxhouses-pt": {
"type": "http",
"url": "https://www.voxhouses.pt/api/mcp"
}
}
}{
"mcpServers": {
"voxhouses-pt": {
"httpUrl": "https://www.voxhouses.pt/api/mcp"
}
}
}extensions:
"voxhouses-pt":
enabled: true
name: "voxhouses-pt"
type: streamable_http
uri: "https://www.voxhouses.pt/api/mcp"
timeout: 300
protocol.modernnewest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations7 of 7 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,959 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-95% ~updated-49d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://www.voxhouses.pt/api/mcp streamable-http | none | yes | 95% | 718 ms | 2024-11-05 | 2026-10-20 |
find_similar_propertiesread-only | Given one listing, find comparable ones: same operation and area, similar typology, floor area and price. Use this when the user likes a property but wants alternatives — 'find me something similar', 'the same but cheaper', 'what else is there in this area'. Pass `maxPrice` for the cheaper case; without it, comparables are drawn from a band around the reference price. Comparability is by location, typology, area and price, not by text similarity: it answers 'is this well priced for what it is', which a keyword search cannot. |
get_market_statsread-only | Get price statistics for a slice of the Portugal property market: how many listings match, the median price, the p25–p75 range, the median price per m² and a breakdown by typology. Use this when the user asks what something costs, whether an asking price is fair, or how two areas compare — instead of listing individual properties. Takes the same filters as search_properties and describes exactly the set that tool would return, so the two never disagree. Reports medians and quartiles rather than averages, because property prices have a long right tail and a single luxury listing moves an average. Call once per area to compare areas. |
get_property_detailread-only | Get the complete record of one listing in Portugal by its slug. Use this after search_properties when the user asks about a specific property: full description, features, photos, energy rating, condition, floor, year built, seller and the original source URL to cite. |
search_articlesread-only | Search editorial articles about the property market in Portugal: buying and renting guides, market analysis and practical advice. Use this when the user asks how something works — mortgages, contracts, taxes, the buying process — rather than asking for listings. |
search_neighbourhoodsread-only | Search neighbourhood and municipality guides for Portugal, with median price per m² for buying and renting, price trend and an editorial summary. Use this when the user asks where to live or where to buy, or wants to compare areas, instead of asking for individual listings. |
search_propertiesread-only | 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. |
search_properties_by_descriptionread-only | Search Portugal listings by describing the property in plain language, matched against listing text by meaning rather than keywords. Use this for wants that are not filter fields — 'a renovated loft with exposed brick', 'quiet, lots of natural light, close to a school', 'a ruin to restore with a sea view'. Prefer search_properties when the request is entirely structural (typology, budget, location), and this tool when it is descriptive; combine both by passing structural filters here too, which are applied as hard constraints while the description only ranks. Results are ordered by relevance, so `total` is the number matching the structural filters, not the number that fit the description. |
Schemas: list_tools.
{
"name": "eu.voxs/voxhouses-pt",
"icons": [
{
"src": "https://www.voxhouses.pt/logos/voxhouses-light.svg",
"sizes": [
"any"
],
"mimeType": "image/svg+xml"
}
],
"title": "Voxhouses (Portugal)",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://www.voxhouses.pt/api/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://www.voxhouses.pt/",
"description": "Property listings in Portugal: search, market stats, comparables, neighbourhoods."
}