CasaPrivat
Server Details
Find homes sold by owners in Spain and France. Messages to owners need buyer consent; rate-limited.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a distinctly different function within the real estate domain. get_home is for details, search_homes is for discovery, get_facets is for statistical summaries, and request_viewing handles external communication.
All tool names consistently follow a clear verb_noun pattern (e.g., search_homes, get_home, request_viewing). This consistent convention makes them immediately readable and predictable.
With only four tools, the set is extremely focused on core real estate interaction—discovery, viewing details, analytics, and engagement. This count is perfectly scoped for its stated purpose without being overly broad.
The set is complete regarding discovery (find, detail) and lead generation. However, there are notable gaps in controlling the search parameters; while search_homes exists, the lack of specific filtering tools or lifecycle management (like listing creation) limits its completeness for a full agent interaction.
Available Tools
4 toolsget_facetsCounts and filter valuesARead-onlyIdempotentInspect
Counts of published listings by country, type and city, price range and valid filter values. No arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| facets | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and closed-world scope, so the safety profile is fully covered. The description still adds real information with 'published listings' (result scope excludes unpublished inventory) and 'No arguments', but says nothing about cost, caching, or freshness of the counts, which matters for an aggregate call.
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 short sentences, no filler, and the return contents are front-loaded before the calling convention. Every clause earns its place.
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 an output schema present and no inputs, the description need not explain return shapes, and it covers the dimensions the counts span. The one gap is that it never connects the returned filter values to the sibling search tool that consumes them.
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?
Zero parameters, so the baseline is 4. 'No arguments' usefully confirms the agent should call it bare rather than attempting to pass filters.
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?
States concretely what the tool returns: aggregate counts of published listings broken down by country, type, city, price range, plus the set of valid filter values. This is specific enough that an agent can tell it apart from a search tool, though it never names search_homes or explains the relationship.
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?
There is no explicit when-to-use or when-not-to-use guidance. The phrase 'valid filter values' hints that this is a discovery/seed call before searching, but the agent must infer that and infer that search_homes is the consumer of those values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_homeGet one homeARead-onlyIdempotentInspect
Full public record of one published listing by id (e.g. EXAMPLE-ES-1 or ES-XXXXXXXX).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| home | Yes | |
| note | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds one genuine behavioral constraint — the record is of a 'published' listing — implying unpublished ids are not retrievable, but it does not state what happens for unknown or unpublished ids.
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?
One sentence, front-loaded with the resource and scope, with the id examples folded into the same clause. Nothing is redundant or padded.
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 single-parameter read tool with annotations covering safety and an output schema covering the return shape, the description supplies the essential scoping and id-format information. The only missing piece is error behavior for missing or unpublished ids.
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 0%, so the description must carry the parameter meaning, and it does: it identifies the single 'id' as a listing identifier and supplies concrete format examples (EXAMPLE-ES-1, ES-XXXXXXXX). It stops short of stating where such ids come from or whether other id forms are accepted.
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?
States a specific verb and resource: fetches the full public record of a single published listing, selected by id. The phrases 'one' and 'by id' implicitly separate it from the list-oriented search_homes, though no sibling is named explicitly.
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?
Usage is only implied: an agent can infer this is the tool to call when it already holds a listing id, versus search_homes when it does not. There is no explicit statement of when to prefer it, nor any exclusion or prerequisite (e.g. requires an id obtained from search_homes).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_viewingSend a question or viewing request to the ownerAInspect
Forwards a question or viewing request from a buyer to the owner of a published home. It does NOT book a viewing and creates no offer or contract: the owner replies directly to the buyer's email. Requires the buyer's explicit consent to share their name and email with the owner.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| kind | No | ||
| message | Yes | ||
| agent_name | No | Name of the AI agent or app sending this | |
| buyer_name | Yes | ||
| buyer_email | Yes | ||
| buyer_phone | No | ||
| buyer_consent | Yes | true = the buyer agreed that their name, email and message are passed to the owner | |
| preferred_times | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| status | Yes | |
| request_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-readonly, non-destructive, and non-open-world, but the description adds the substantive behavior: the owner replies directly to the buyer's email and no offer/contract is created, plus the hard prerequisite of explicit buyer consent to share name and email. That is real side-effect and PII-disclosure context beyond the annotations; the only gap is that it doesn't say what happens on failure or whether the buyer's email is verified.
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?
Three sentences, each doing distinct work: what it does, what it is not, and the consent prerequisite. The negative scoping is front-loaded where it matters most for a mutation-adjacent tool.
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 9-parameter, non-idempotent send operation with an output schema, the description covers purpose, side effects, and the consent gate adequately. The remaining gap is the meaning of the required `id` and the optional contact fields, which the agent must infer from the schema alone.
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 only 22%, and the description compensates for the semantically load-bearing fields (buyer name, email, message, consent, the question-vs-viewing distinction). However, it says nothing about the required `id` (presumably the published home), `preferred_times`, or `buyer_phone`, which remain undocumented in both places.
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?
States a specific verb and resource ("Forwards a question or viewing request ... to the owner of a published home") and explicitly bounds the action against the near-miss interpretations: it does not book a viewing and creates no offer or contract. An agent can tell exactly what this does without inspecting the schema.
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 makes the use case clear (contacting an owner with a question or viewing ask) and rules out the tempting-but-wrong usage (treating it as a booking). It doesn't reference the sibling read tools, but those are search/retrieval tools with no realistic confusion, so the missing differentiation is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_homesSearch homes for sale by ownerBRead-onlyIdempotentInspect
Search homes for sale directly by private owners (no agent, no commission) in Spain (ES) and France (FR). Returns public listing records incl. the mandatory energy rating.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Substring match on city | |
| limit | No | ||
| offset | No | ||
| country | No | ||
| max_price | No | ||
| min_price | No | ||
| min_rooms | No | ||
| min_area_m2 | No | ||
| property_type | No | ||
| include_examples | No | Include fictional EXAMPLE listings (default true in the MVP) | |
| min_energy_class | No | Only homes with this class or better (A best) |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| items | Yes | |
| total | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, so safety is covered. The description usefully adds that results are public listing records carrying a mandatory energy rating, but it omits a material behavior: results include fictional EXAMPLE listings by default (include_examples defaults true), which an agent must know before presenting results as real homes.
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 tight sentences, front-loaded with the differentiating scope constraint and then the return shape. No filler or restatement of the tool name.
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?
An output schema exists, so return values needn't be detailed, and the description covers domain and geographic scope. But for an 11-parameter search with mostly undocumented parameters, the missing note about default inclusion of fictional example listings and about pagination behavior leaves real gaps for correct invocation.
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 only 27% (3 of 11 params have descriptions), so the description carries the burden — yet it adds no param-level meaning. It only hints at country scope (ES/FR) and an energy rating field; filters like min_price/max_price, min_rooms, min_area_m2, property_type, limit/offset and the example-listing switch go unexplained.
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?
States a specific verb (search) and resource (homes for sale by owner) plus a hard scope constraint: private owners only, in ES and FR. That scope makes it distinguishable from get_home (single record), get_facets (aggregations) and request_viewing (action), though no sibling is named explicitly.
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 'by owner, no agent, no commission' framing implies when this catalog applies, but there is no explicit when-to-use vs. get_facets or get_home, and no guidance on paging through results or combining filters. Usage is inferred rather than stated.
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.
4 tool updates
- First observed
get_facets - First observed
get_home - First observed
request_viewing - First observed
search_homes
Related MCP Connectors
Read-only European property search by location, price, size and features. No sign-in required.
First-party Spanish and Portuguese property listings with notary-verified prices.
Search homes for sale and to rent across Europe and the UAE, keep shortlists, reveal sellers.
Search classified ads from European marketplaces: rentals, homes, vehicles, second-hand goods, jobs.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceFrench real estate data platform for AI agents. Identifies property owners likely to sell and tracks behavioral signals on active listings. Coverage: metropolitan France.-
- AlicenseNot gradedqualityCmaintenanceAccess 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.MIT
- FlicenseNot gradedqualityFmaintenanceAsk Valérie about French property prices, recent transactions (22M+ DVF records 2020–2025), and internet coverage at any address. Free tier + €5/month subscription.-
- FlicenseNot gradedqualityNot gradedmaintenanceEnables searching and filtering real estate properties in France through the Melo API. Supports comprehensive property searches with filters for price, surface area, location, and property type for both sales and rentals.-
Glama MCP Gateway
Add one secure layer between your agents and this server.