Skip to main content
Glama

CasaNest

Server Details

Search public property listings in Portugal, compare homes and read INE housing statistics.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

4 tools
compare_propertiesCompare propertiesA
Read-onlyIdempotent
Inspect

Compare 2–4 distinct public property IDs using the same fields and explicit EUR/period/m2 units. Null is unknown. Fails if any requested property is no longer public.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes
localeNopt

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish that this is read-only, idempotent, and non-destructive. The description adds genuinely new behavioral context: null means unknown, the comparison fails if any property is no longer public, and units are normalized to EUR/period/m2. This goes meaningfully beyond the structured 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?

Two front-loaded sentences with no filler. Each sentence earns its place: operation and scope, unit behavior, null semantics, and failure mode. The description is compact, scannable, and easy for an agent to parse.

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?

Although there is no output schema, the description covers the critical runtime behaviors an agent needs: unknown-value semantics, failure when properties are not public, and unit normalization. The exact return shape and locale effect are left implicit, but these are minor given the tool's straightforward comparison purpose.

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 0%, so the description must compensate. It adds meaning for 'ids' (distinct, public, 2–4 items), though the schema already encodes min/max. The 'locale' parameter is not explained, and the description does not clarify how locale affects output. Compensation is partial.

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 names a specific operation ('Compare'), a precise resource scope ('2–4 distinct public property IDs'), and the standardized comparison semantics ('same fields', 'explicit EUR/period/m2 units'). This clearly distinguishes it from sibling tools like get_property (single property) and search_properties (discovery).

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 clearly implies when to use the tool: when the agent has 2–4 known public property IDs and wants a uniform comparison. The failure caveat about properties no longer being public gives useful operational guidance. It does not explicitly name sibling alternatives, so it stops 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.

get_area_statisticsRead municipal housing statisticsA
Read-onlyIdempotent
Inspect

Read INE median completed dwelling sale value per m2 for a Portuguese municipality, with period, source and license. Not asking prices, rents, a valuation or forecast. Requires both district and municipality slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNopt
districtYes
municipalityYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already convey readOnly, idempotent, open-world, and non-destructive behavior. The description adds useful additions: it specifies the INE data source, the measured metric, the returned period/source/license, and the exclusion set. No contradiction 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?

Three short sentences, each earning their place: core purpose, exclusions, and required parameters. The key information is front-loaded and there is no filler.

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 tool is simple and safely annotated, and the description covers purpose, output metadata, exclusions, and required inputs. Minor omissions like alternative routing and explicit locale behavior are not significant enough to lower the score further.

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 description coverage is 0%, so the description must compensate; it does so partly by stating that both district and municipality are required slugs. The locale parameter is left to its enum/default in the schema, which is sufficient, and the slug pattern is clarified by the word 'slugs' plus the schema pattern.

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 names a specific verb ('Read'), resource ('INE median completed dwelling sale value per m2'), and scope ('Portuguese municipality'), plus the returned metadata. The negative clause ('Not asking prices, rents, a valuation or forecast') further disambiguates it from property-focused siblings like get_property and search_properties.

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 gives clear context: use this for municipal median sale statistics, not for asking prices, rents, valuations, or forecasts. It does not explicitly name a sibling tool as the alternative, so routing between tools is implied rather than explicit.

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

get_propertyRead a propertyA
Read-onlyIdempotent
Inspect

Get current public details using the public id returned by search_properties. Draft, archived, sold, removed or unknown properties return not found. No private owner/contact/CRM data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
localeNopt

TDQS

A4.2/5.0
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 adds valuable behavioral detail beyond annotations: it specifies that certain property statuses result in 'not found', and that no private owner/contact/CRM data is included. This helps set expectations for responses and edge cases.

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 with no redundant words. The core action and prerequisite are front-loaded in the first sentence, and the second sentence adds critical limitations without excess. Every sentence earns its place, making it highly scannable for an agent.

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 tool with a single required parameter and no output schema, the description covers the essential contextual details: what the id is, when to expect not-found, and what data is excluded. Annotations fill in the read-only and idempotent behavior. The description is sufficient for an agent to call the tool correctly, though it doesn't describe the response format, which is minor given the absence of an output schema.

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 0%, so the description carries the burden of explaining parameters. It clarifies that the 'id' is the public id from search_properties, adding meaning beyond the schema's pattern. However, it does not mention the 'locale' parameter or its default, leaving that undocumented. Since only one of two params is explained and the other is self-evident but still lacks clarification, a 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 tool's function: 'Get current public details using the public id returned by search_properties.' It specifies the resource (property) and the action (get details), and differentiates from siblings by focusing on a single property lookup, unlike search_properties which searches, or compare_properties which compares. The mention of what it does NOT return (draft/archived/sold etc.) further clarifies its scope.

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 explicit usage context: the id must come from search_properties, implying a sequential workflow. It also states conditions under which the tool returns 'not found' (draft, archived, sold, etc.), which informs when not to use it. It doesn't explicitly name alternative tools for other scenarios, but the context is clear enough that an agent can decide appropriately.

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

search_propertiesSearch CasaNest propertiesA
Read-onlyIdempotent
Inspect

Search currently published properties in Portugal by exact structured filters. Requires purpose; municipality requires district. Rental budgets require month/week/night. Up to 20 results, cursor tied to filters. No results means no matches; do not widen filters without asking.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
localeNopt
purposeYes
districtNoPortuguese district slug, e.g. leiria. Does not mean municipality.
featuresNo
typologyNo
price_maxNo
price_minNo
rent_periodNoRequired with a rent/vacation budget: prices in different periods are not comparable.
bedrooms_minNo
municipalityNoMunicipality slug; requires its district, e.g. district=leiria, municipality=leiria.
net_area_minNo
property_typeNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, but the description adds valuable behavioral context: 'Up to 20 results, cursor tied to filters' and 'No results means no matches; do not widen filters without asking.' This directly supports the open-world hint and guides agent behavior beyond structured 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?

Four tight sentences, each earning its place: scope, required constraints, pagination behavior, and no-match guidance. The most important usage information is front-loaded immediately after the purpose statement.

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?

Given 14 parameters without an output schema, the description covers the critical constraints needed to invoke the tool correctly. It explains result limits, cursor pagination, and required dependencies, though it does not describe the return value shape or mention all optional parameters.

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?

With schema description coverage at only 21%, the description must compensate, and it does for key dependencies: purpose is required, municipality requires district, and rent_period is required with rental budgets. It also clarifies that cursor is tied to filters. However, it does not elaborate on several other parameters, leaving some semantics to schema names and enums.

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?

States a specific verb and resource: 'Search currently published properties in Portugal by exact structured filters.' The scope (currently published, Portugal) and method (exact structured filters) clearly distinguish it from siblings like get_property, compare_properties, and get_area_statistics.

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?

Gives explicit usage context and constraints: purpose is required, municipality requires district, rental budgets require month/week/night, and results are capped at 20 with cursor tied to filters. It also tells the agent not to widen filters without asking, but it does not explicitly route to alternatives like get_property or compare_properties.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcompare_properties
    • First observedget_area_statistics
    • First observedget_property
    • First observedsearch_properties

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to calculate Portuguese property purchase costs (IMT, stamp duty, deed/registration) and query annual IMI rates and costs for all 308 municipalities, with sourced figures.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to calculate Portuguese property purchase costs (IMT and stamp duty) and look up annual IMI property tax rates and costs for all 308 municipalities, with sources and year.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Japanese real-estate actual transaction prices and official land prices (official MLIT Reinfolib data): search by area, period, and property type, with published land-price reference points.
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables 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.
    14
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources