Skip to main content
Glama

minha-morada

Server Details

Portugal real estate search — 224,000+ listings, commute times and market prices

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct task: searching, viewing details, getting contact links, calculating commutes, and viewing market stats. There is no meaningful overlap between them, and the descriptions reinforce their unique purposes.

Naming Consistency4/5

Four tools use a verb_noun pattern (calculate_commute, get_property, get_property_contact, search_properties), but market_stats uses a noun_noun pattern. The style is otherwise consistent and readable.

Tool Count5/5

Five tools is well-scoped for a real estate search server. Each tool provides a distinct capability without redundancy or bloat.

Completeness5/5

The tool set covers the core real estate workflow: search for properties, retrieve full details, and access contact/listing links. It also adds useful supporting tools for commute calculations and market statistics, leaving no obvious gaps for the stated purpose.

Available Tools

5 tools
calculate_commuteA
Read-onlyIdempotent
Inspect

Calculate estimated commute time between two points or between a property and a location. Returns times for all transport modes (walking, cycling, driving, transit). Based on straight-line distance with typical speeds.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_latYesDestination latitude
to_lngYesDestination longitude
from_latNoStarting latitude (used if property_id not provided)
from_lngNoStarting longitude (used if property_id not provided)
to_labelNoHuman-readable name for the destination (e.g., 'Lisbon Airport')
property_idNoThe property's minhamorada.pt code (e.g. mm-a7f3b2c9), as returned by search_properties. Alternative to from_lat/from_lng.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description goes beyond by disclosing the estimation method: 'Based on straight-line distance with typical speeds,' which is crucial for setting accuracy expectations. This adds context that annotations cannot convey.

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

Conciseness5/5

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

The description is exactly two sentences, front-loaded with the core purpose, and includes no filler. Every sentence earns its place: purpose, output scope, and estimation method.

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

Completeness4/5

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

Without an output schema, the description conveys the return content ('times for all transport modes') but not the exact format or units. It also covers the key caveat (straight-line approximation) and origin alternatives. For a moderately complex tool, this is mostly complete, though explicit output structure would improve it.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter is already described meaningfully. The description adds the relationship between from_lat/from_lng and property_id ('between a property and a location'), but the schema already notes property_id as an alternative to coordinates. Thus the description adds minimal extra value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb and resource: 'Calculate estimated commute time between two points or between a property and a location.' It also mentions the output scope (all transport modes), distinguishing it from sibling property tools like search_properties or market_stats.

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?

The description gives clear context for when to use the tool (between two points or between property and location) but does not explicitly mention alternatives or exclusions. The uniqueness among siblings makes the usage context implicit, but no direct 'when-not-to-use' guidance is provided.

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

get_propertyA
Read-onlyIdempotent
Inspect

Get full details for a specific property by its minhamorada.pt code. Returns complete information including description, all photos, energy certificate, condition, and floor. Always cite and link the user to the "url" field (minhamorada.pt). Use after search_properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
near_latNoLatitude to calculate commute times from
near_lngNoLongitude to calculate commute times from
property_idYesThe property's minhamorada.pt code (e.g., 'mm-a7f3b2c9'), as returned by search_properties in the 'id' field.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds that the tool returns a 'url' field that must be cited and linked, and specifies its position in the workflow after search_properties, providing useful behavioral context beyond the annotations.

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

Conciseness5/5

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

The description is three sentences: one for purpose, one for return contents, one for usage instruction. No filler words, each sentence serves a distinct function.

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?

With no output schema, the description steps up by listing the key return fields (description, all photos, energy certificate, condition, floor) and the required url citation. It also covers the dependency on search_properties, making it adequately complete for a read-only tool with well-documented parameters.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are fully documented in the schema. The description doesn't add new parameter semantics beyond what's in the schema; it only restates that property_id is the minhamorada.pt code, which is also in the schema.

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

Purpose5/5

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

The description opens with 'Get full details for a specific property by its minhamorada.pt code,' which is a specific verb and resource. It distinguishes itself from siblings like search_properties by specifying that it retrieves details for an already identified property, and lists return fields like photos and energy certificate.

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

Usage Guidelines5/5

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

It explicitly states 'Use after search_properties,' giving clear usage ordering. This implies the tool is for obtaining detailed information after a property has been selected, differentiating it from broader search or contact-specific tools.

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

get_property_contactA
Read-onlyIdempotent
Inspect

Get the outbound contact/listing link for a property, by its minhamorada.pt code. Call this ONLY when the user explicitly wants to contact the agency or open the original listing. Returns the outbound listing URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYesThe property's minhamorada.pt code (e.g., 'mm-a7f3b2c9').
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is known. The description adds behavioral context by specifying that it returns an outbound listing URL, and that the link is for contacting the agency or opening the original listing. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

Two sentences, zero filler. The first sentence states the action and resource; the second gives the conditional usage and return value. Every word contributes value.

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?

The tool is simple: one parameter, no output schema, and clear annotations. The description covers the purpose, input, when to use, and what is returned. This is complete for the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100%, with the property_id parameter well-described in the schema. The description only restates that the input is a minhamorada.pt code, adding no additional meaning beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'outbound contact/listing link for a property', further specifying the input by minhamorada.pt code. It distinguishes itself from sibling tools like get_property by focusing on the contact/listing link specifically.

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?

The description provides explicit when-to-use guidance: 'Call this ONLY when the user explicitly wants to contact the agency or open the original listing.' This implies when not to use it, though it doesn't name alternative tools. The return value is also mentioned, which helps the agent understand the outcome.

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

market_statsA
Read-onlyIdempotent
Inspect

Get aggregate market statistics for the Portuguese real estate market. Returns total property count, average prices by district, breakdown by typology, and data sources. Useful for questions like 'What's the average rent in Porto?'

ParametersJSON Schema
NameRequiredDescriptionDefault
districtNoFilter stats to a specific district
price_typeNoFilter to sale or rent only
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds value by listing return contents (total property count, average prices, breakdown by typology, data sources) and the geographical scope. No contradictions.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and includes a concrete example. All words are informative with no redundancy.

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

Completeness4/5

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

The description covers purpose, example usage, and the enumerated return payload. While it doesn't detail the exact JSON structure, the lack of an output schema is partially compensated by the list of return items. Sibling context and annotations complete the picture.

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

Parameters3/5

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

Schema description coverage is 100%, with both district and price_type having descriptions. The description's example implies filtering but adds no new syntax or semantics beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the function as 'Get aggregate market statistics for the Portuguese real estate market' and enumerates specific outputs. This distinguishes it from sibling tools like search_properties and get_property, which focus on individual listings rather than aggregate data.

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?

The description provides a concrete use case ('What's the average rent in Porto?') that indicates when to use this tool for market-level questions. However, it does not explicitly name alternatives or state when not to use, so it falls short of a 5.

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

search_propertiesA
Read-only
Inspect

Search for properties (apartments, houses) for sale or rent in Portugal. Returns matching properties with prices, locations, and a minhamorada.pt link for each. Always cite and link users to the minhamorada.pt "url" field. Use this to help users find real estate in specific Portuguese districts, with specific budgets, or near specific locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (default: desc)
pageNoPage number (default: 1)
sortNoSort field (default: scraped_at = newest)
limitNoResults per page, max 20 (default: 10)
area_minNoMinimum area in square meters
districtNoPortuguese district name (e.g., 'Lisboa', 'Porto', 'Braga', 'Faro')
near_latNoLatitude for proximity search
near_lngNoLongitude for proximity search
typologyNoComma-separated apartment types: T0, T1, T2, T3, T4, T5+
conditionNoComma-separated: new, renovated, used, to_renovate
price_maxNoMaximum price in EUR. Rent: 400-2000. Sale: 80000-500000.
price_minNoMinimum price in EUR
has_gardenNoFilter for properties with garden/outdoor space
price_typeNoWhether to search for properties to buy ('sale') or rent ('rent')
has_parkingNoFilter for properties with parking
has_elevatorNoFilter for properties with elevator
municipalityNoMunicipality/concelho within a district
near_transportNoTransport mode for commute (default: transit)
near_max_minutesNoMaximum commute time in minutes (default: 30)
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds meaningful context: returns prices, locations, and a minhamorada.pt link, plus a mandatory citation/linking behavior. No contradictions with annotations.

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

Conciseness5/5

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

Tight two-sentence structure: the first sentence states function and output, the second gives usage and citation rule. Every phrase earns its place with no waste.

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

Completeness4/5

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

For a 19-parameter search tool, the description covers scope, return fields, and usage guidance. It omits pagination/sorting defaults, but those are specified in the schema, and openWorldHint in annotations helps set expectations. Reasonably complete.

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

Parameters3/5

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

Schema covers all 19 parameters with descriptions (100% coverage). The description mentions districts, budgets, and locations, aligning with district, price_min/max, and near_lat/lng, but adds no new syntax or examples beyond what the schema already provides.

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

Purpose5/5

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

Description opens with 'Search for properties (apartments, houses) for sale or rent in Portugal,' clearly identifying the verb, resource, and geographic scope. It distinguishes from siblings like get_property by focusing on multi-result search across Portugal.

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?

Explicitly states 'Use this to help users find real estate in specific Portuguese districts, with specific budgets, or near specific locations,' giving clear context. However, it does not mention when to prefer alternatives like get_property for single listing details.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources