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.
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.
Tool Definition Quality
Average 4.3/5 across 5 of 5 tools scored.
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.
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.
Five tools is well-scoped for a real estate search server. Each tool provides a distinct capability without redundancy or bloat.
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 toolscalculate_commuteARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to_lat | Yes | Destination latitude | |
| to_lng | Yes | Destination longitude | |
| from_lat | No | Starting latitude (used if property_id not provided) | |
| from_lng | No | Starting longitude (used if property_id not provided) | |
| to_label | No | Human-readable name for the destination (e.g., 'Lisbon Airport') | |
| property_id | No | The property's minhamorada.pt code (e.g. mm-a7f3b2c9), as returned by search_properties. Alternative to from_lat/from_lng. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_propertyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| near_lat | No | Latitude to calculate commute times from | |
| near_lng | No | Longitude to calculate commute times from | |
| property_id | Yes | The property's minhamorada.pt code (e.g., 'mm-a7f3b2c9'), as returned by search_properties in the 'id' field. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_contactARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| property_id | Yes | The property's minhamorada.pt code (e.g., 'mm-a7f3b2c9'). |
Tool Definition Quality
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.
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.
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.
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.
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.
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_statsARead-onlyIdempotentInspect
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?'
| Name | Required | Description | Default |
|---|---|---|---|
| district | No | Filter stats to a specific district | |
| price_type | No | Filter to sale or rent only |
Tool Definition Quality
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.
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.
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.
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.
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.
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_propertiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dir | No | Sort direction (default: desc) | |
| page | No | Page number (default: 1) | |
| sort | No | Sort field (default: scraped_at = newest) | |
| limit | No | Results per page, max 20 (default: 10) | |
| area_min | No | Minimum area in square meters | |
| district | No | Portuguese district name (e.g., 'Lisboa', 'Porto', 'Braga', 'Faro') | |
| near_lat | No | Latitude for proximity search | |
| near_lng | No | Longitude for proximity search | |
| typology | No | Comma-separated apartment types: T0, T1, T2, T3, T4, T5+ | |
| condition | No | Comma-separated: new, renovated, used, to_renovate | |
| price_max | No | Maximum price in EUR. Rent: 400-2000. Sale: 80000-500000. | |
| price_min | No | Minimum price in EUR | |
| has_garden | No | Filter for properties with garden/outdoor space | |
| price_type | No | Whether to search for properties to buy ('sale') or rent ('rent') | |
| has_parking | No | Filter for properties with parking | |
| has_elevator | No | Filter for properties with elevator | |
| municipality | No | Municipality/concelho within a district | |
| near_transport | No | Transport mode for commute (default: transit) | |
| near_max_minutes | No | Maximum commute time in minutes (default: 30) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
AlicenseAqualityAmaintenance7M+ real estate transactions from Poland's RCN registry. Search, compare, and analyze pricesLast updated23771MIT- AlicenseCqualityDmaintenanceEnables access to Idealista API for searching and retrieving property listings across Spain, Portugal, and Italy. Supports various property types including homes, apartments, garages, commercial properties, offices, and land with detailed filtering options.Last updated142MIT
- Flicense-qualityDmaintenanceFrench real estate data platform for AI agents. Identifies property owners likely to sell and tracks behavioral signals on active listings. Coverage: metropolitan France.Last updated
- AlicenseAqualityCmaintenancePhilippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.Last updated627MIT