Skip to main content
Glama

chathome.lu — Luxembourg Real Estate

Server Details

Luxembourg real estate for AI agents: property search, price estimates, market data, commutes.

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/5 across 13 of 14 tools scored.

Server CoherenceA
Disambiguation4/5

Most tools target clearly distinct actions: searching, viewing listing facts, estimating price, analyzing leases, and submitting inquiries. The only potential confusion is between get_listing and get_listing_truth, as both surface listing facts, though their descriptions do separate standard facts from the trust-layer/source-verification view.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: get_, search_, analyze_, render_, submit_. Verbs are specific and predictable, and even the newer search_vibe fits the same structural convention.

Tool Count5/5

Fourteen tools is within the well-scoped 3-15 range for a real estate platform. Each tool serves a distinct part of the property journey: search, listing details, market context, pricing, affordability, commute, lease analysis, agencies, and inquiries.

Completeness4/5

The tool surface covers the main buyer/tenant workflow well: search, inspect listings, get market context, estimate price, check affordability, and submit inquiries. A notable gap is that analyze_lease persists a full analysis but provides no retrieval tool, leaving that workflow with a dead end for users who want to revisit the complete analysis.

Available Tools

14 tools
analyze_leaseAnalyze LeaseAInspect

Analyze a caller-provided Luxembourg residential lease PDF or raw text, persist the full user-scoped analysis, and return a compact risk summary. Do not provide payment-card data, government identifiers, health data, passwords, API keys, or authentication codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoRaw lease text when a PDF is not available. Do not pass URLs, payment-card data, government identifiers, health data, passwords, API keys, or authentication codes.
fileNameNo
languageNofr
pdfBase64NoBase64-encoded PDF bytes. Do not pass URLs, payment-card data, government identifiers, health data, passwords, API keys, or authentication codes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
clausesYes
isLeaseYes
persistedYes
severityCountsYes
overallRiskScoreYes
Behavior4/5

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

Annotations already indicate non-read-only behavior. The description adds that it persists the full user-scoped analysis and returns a summary, which gives useful behavioral context beyond the annotations. It also includes a safety warning about not sending sensitive data, which is relevant for a tool that processes user-provided content. No contradiction with annotations exists.

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 only two sentences, front-loaded with the core purpose and then a warning. It is succinct, with no redundant information, and each sentence adds value.

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 has moderate complexity (4 params, non-read-only, output schema). The description covers the main function, side effect (persist), and output. It mentions the Luxembourg context. It does not explain what constitutes a risk summary or edge cases, but given the output schema exists, this is adequate.

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?

The schema already provides descriptions for text and pdfBase64 (including sensitive data warnings). The description mentions 'lease PDF or raw text' linking to these params but does not clarify filename or language semantics. With 50% schema coverage, the description adds marginal value but does not fully compensate for undocumented parameters.

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: analyzing a Luxembourg residential lease from a PDF or raw text, persisting the analysis, and returning a compact risk summary. It distinguishes itself from sibling tools (which are mostly read/search operations) by being the only lease-analysis tool.

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 implies when to use: when a caller provides a lease document to analyze. It does not explicitly mention alternatives or when not to use, but the context is clear from the purpose. It would benefit from explicit 'use when...' guidance, but the intent is understandable.

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

get_affordabilityGet AffordabilityAInspect

Calculate Luxembourg mortgage affordability and state whether the property-price ceiling includes every acquisition cost or only currently known costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketRateNo
annualIncomeYesGross annual household income
monthlyDebtsNoExisting monthly debt payments
residenceUseNoResidence use; omitted or unknown preserves an unconfirmed Bëllegen position
householdTypeYes
loanTermYearsNo
residencyTypeYes
communeTaxRateNo
employmentTypeYes
isFirstTimeBuyerNoDeprecated optional compatibility signal; never proves Bëllegen entitlement
savingsAvailableYesAvailable savings/down payment
isPersonalResidenceNoDeprecated residence-use compatibility flag; prefer residenceUse
energyClassDiscountPctNo
bellegenAktEligibleBuyersNoExplicitly confirmed eligible acquirer count
bellegenAktCreditAvailableNoAggregate unused Bëllegen Akt balance explicitly confirmed for the acquirers
floodZoneRateAdjustmentPctNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
freshnessYes
confidenceYes
maxPropertyPriceYes
maxPropertyPriceCostBasisYes
Behavior3/5

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

The description adds a useful behavioral nuance: the price ceiling may include every acquisition cost or only currently known costs. However, it does not state whether the tool is read-only, what data sources it relies on, or what 'currently known costs' means, and the annotations provide no positive safety signal.

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 a single dense sentence that front-loads the action and includes the key caveat. There is no filler, restatement of the tool name, or redundant detail.

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

Completeness2/5

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

With 16 parameters, 5 required fields, and an output schema, this minimal two-clause description is insufficient for reliable invocation. It omits usage prerequisites, how required inputs drive the result, and definitions of 'every acquisition cost' vs 'currently known costs', leaving important gaps for an agent selecting and using the tool.

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

Parameters2/5

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

Schema description coverage is only 50%, and the description does little to compensate. It does not explain how annualIncome, savingsAvailable, householdType, employmentType, residencyType, or the optional financial fields map into the calculation; it mainly clarifies the output ceiling rather than parameter semantics.

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 uses a specific verb ('Calculate') and identifies the exact resource ('Luxembourg mortgage affordability') plus a key output nuance about whether the property-price ceiling includes every acquisition cost or only currently known costs. This clearly distinguishes the tool from siblings like get_price_estimate and get_market_context.

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 phrase 'Calculate Luxembourg mortgage affordability' provides a clear triggering context: use this when a Luxembourg mortgage affordability ceiling is needed. It does not explicitly name alternatives or exclusions, but the intended use is readily inferable for a calculator tool.

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

get_commute_timesGet Commute TimesAInspect

Commute time estimates from a Luxembourg commune to a major employment hub (Luxembourg City, Kirchberg EU Quarter, or Belval) across four transport modes.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesTransport mode
communeYesLuxembourg commune name or slug to get commute times from, e.g. 'esch-sur-alzette', 'differdange'
destinationYesCommute destination: lux-city (Luxembourg City centre), kirchberg (EU Quarter), or belval (Esch/Belval)

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeYes
staleYes
trustYes
sourceYes
communeYes
minutesYes
distanceKmYes
destinationYes
Behavior3/5

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

The description tells us this is an estimation/lookup operation, but annotations are all false and none are contradicted. It does not mention source data, freshness, real-time variability, or any side effects. For a simple get-style tool this is adequate but not deeply detailed.

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 a single clear sentence: it packs the tool's core behavior, geographic scope, destination options, and transport-mode count without filler or 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 plus the supplied input schema and output schema give enough context for effective use. It could include use cases or accuracy caveats if the data is estimated, but is largely complete for its complexity level.

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?

The input schema covers all three parameters with descriptions (100% coverage), so the description does not need to add much. It adds minor semantic framing by mentioning the geographical scope and major employment hubs, but no significant new parameter details.

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 this tool provides commute time estimates from a Luxembourg commune to specific employment hubs, covering exactly what is returned. The destination list and transport modes clearly distinguish it from the sibling listing/market tools.

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 context is clear: use when someone wants commute estimates from a Luxembourg commune to one of the named hubs. It does not explicitly mention alternative tools or exclusions, but the description makes the intended use obvious.

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

get_inquiry_statusGet Inquiry StatusAInspect

Poll an MCP agent inquiry conversation for agent replies. Returns the current status and full message thread.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversationIdYesThe conversation ID returned by submit_inquiry when kind is conversation_created

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
statusYes
messagesYes
conversationIdYes
Behavior3/5

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

The description adds value by mentioning it returns the current status and full thread, but it does not disclose any side effects despite readOnlyHint being false and idempotentHint being false. With annotations present, the baseline is lower, yet 'poll' behavior and side-effect expectations are left underspecified.

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 short sentences: one imperative statement and one result statement. Every word contributes, with no filler or redundancy.

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?

Given the tool has one well-described parameter, an output schema, and annotations, the description is sufficiently complete for a polling/status tool. It covers the core operation and returned data without needing to redundantly restate schema details.

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?

The schema already has 100% coverage for its one parameter, with a useful description tying conversationId to submit_inquiry's conversation_created response. The tool description adds no additional parameter meaning beyond what the schema provides, so the baseline of 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 uses a specific verb ('Poll') and resource ('an MCP agent inquiry conversation'), and clearly states what it returns: current status and full message thread. This distinguishes it from sibling tools like submit_inquiry, which creates the conversation. The name and title reinforce the purpose without ambiguity.

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 states the tool is for polling an inquiry conversation for agent replies, which clearly implies a polling use case. It does not explicitly say 'use after submit_inquiry' or mention alternatives, but the parameter description fills in that the conversation ID comes from submit_inquiry, giving sufficient context.

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

get_listingGet Listing DetailsAInspect

Get source-checked public facts for a property by ID, with canonical URL and available gallery photos. Facts without source evidence are returned as unknown rather than guessed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
includePhotosNoAttach thumbnail photos of the listing as image content blocks (default: true). Set false for a lean text-only response.

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
listingYes
Behavior4/5

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

The description adds valuable behavioral context beyond annotations by explaining that facts lacking source evidence are returned as 'unknown' rather than guessed, and that output includes canonical URL and gallery photos. Since annotations are all false and provide no safety or side-effect guidance, this disclosure is meaningful, though it does not explicitly state side effects or limitations.

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 a single focused sentence with no filler. It front-loads the essential purpose and then adds the key behavioral guarantee, making every word informative.

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 the low parameter count, full schema coverage, and existing output schema, the description is largely complete for selecting and invoking this tool. The only contextual shortfall is the lack of explicit differentiation from similar listing-related siblings, but the description still provides enough context for effective use.

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 schema already documents id, locale, and includePhotos thoroughly. The description adds contextual context about gallery photos but does not introduce new parameter-level meaning; 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 specifies the verb 'Get' and the resource 'source-checked public facts for a property by ID', while also mentioning the canonical URL and gallery photos. This distinguishes it from siblings like get_listing_truth and render_listing_cards by focusing on ID-based retrieval of evidence-backed facts.

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

Usage Guidelines3/5

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

The description implies use when you need authoritative listing details by ID, especially with source verification. However, it does not explicitly state when to choose this tool over close siblings like get_listing_truth, analyze_lease, or render_listing_cards, nor does it mention any exclusions.

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

get_listing_truthGet Listing TruthAInspect

Trust-layer view of a listing: known facts, their sources, freshness/verification, which important facts are still unknown (to confirm with the agent), and a privacy-safe summary of user-reported corrections. No reporter identities are exposed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
listingYes
correctionsYes
Behavior4/5

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

Annotations are sparse (all false), but the description discloses that it is 'privacy-safe' and does not expose reporter identities, hinting that no sensitive user data is returned. It also implies the tool returns a list of facts with metadata. This is helpful even though annotations don't contradict it.

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 a single sentence that packs in the tool's purpose, key outputs, and an important privacy note. It is concise and front-loaded, with no redundant information.

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 the output schema exists and the tool is a read-only lookup, the description covers the essential behavior. It could mention that it is read-only, but the annotations indicate no destructive action, and the tool name implies it. The description is complete enough for an agent to use it correctly.

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?

The schema coverage is 100%, and the description does not add much beyond the schema's parameter descriptions. The 'locale' parameter's enum is fully explained in the schema, so the description's lack of detail is acceptable. 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 tool's purpose: it provides a 'trust-layer view' of a listing, including known facts, sources, verification status, unknowns, and user corrections. It distinguishes itself from the sibling tool 'get_listing' by focusing on trust and verification rather than basic listing details.

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 implies when to use it: when a user needs to verify trustworthiness or see what's unconfirmed, and suggests confirming unknown facts with the agent. It does not explicitly mention alternatives or when not to use it, but it is clear enough given the tool name and context.

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

get_market_contextGet Market ContextAInspect

Get real estate market data and liveability scores for a commune — prices, trends, schools, transport.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
communeYesLuxembourg commune slug or name (e.g. 'luxembourg', 'esch-sur-alzette', 'kirchberg')

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
communeYes
Behavior2/5

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

The description implies a read operation with 'Get', but annotations indicate it is not read-only (readOnlyHint false) and does not disclose potential side effects; transparency is limited.

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 a single, concise sentence with no redundant information, efficiently summarizing the tool's purpose.

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

Completeness3/5

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

While the description mentions the type of data returned, it lacks details on output format, units, or any prerequisites, and there is no output schema provided, leaving some context incomplete.

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

Parameters5/5

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

The input schema provides detailed descriptions for both parameters, including examples and an enum for locale, and the tool description complements by indicating the data scope; no ambiguity remains.

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 retrieves real estate market data and liveability scores for a commune, mentioning specific data types (prices, trends, schools, transport), which distinguishes it from sibling tools like get_listing or search_for_sale.

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

Usage Guidelines2/5

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

The description does not provide guidance on when to use this tool over alternatives, such as mentioning scenarios or prerequisites, so it lacks usage guidelines.

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

get_price_estimateGet Price EstimateAInspect

AI-powered price estimate for a Luxembourg property. The chathome valuation model is trained and backtested on historical property listing asking prices, not deed-level sales. Returns an estimated price, confidence interval, and comparable listing statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaSqmYesLiving area in square metres
communeYesLuxembourg commune name or slug, e.g. 'luxembourg', 'esch-sur-alzette'
bedroomsNoNumber of bedrooms
energyClassNoEnergy performance certificate class, e.g. 'A', 'B', 'C'
listingTypeYesWhether the property is for rent or sale
propertyTypeYesProperty type, e.g. 'apartment', 'house', 'studio', 'penthouse'
constructionYearNoYear the property was built, e.g. 1995

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
areaSqmYes
communeYes
listingTypeYes
propertyTypeYes
estimatedPriceNo
Behavior4/5

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

The description adds meaningful behavioral context by explaining the valuation model is trained/backtested on historical asking prices, not deed-level sales, which hints at certification and precision boundaries. It also mentions the output shape (estimated price, confidence interval, comparable statistics). While annotations are all false, the description still provides useful context beyond 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?

The description is concise and efficient: three sentences with no redundant repetition of schema details. It front-loads the core action, then adds model behavior and output detail in an easy-to-digest form.

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?

Given the rich schema, output schema, and clear tool purpose, the description is sufficiently complete. It covers what the tool does, the limitations of the model, and concrete output components without unnecessary repetition.

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?

All 7 parameters already have descriptions in the input schema, covering semantics such as valid values and format. The tool description itself adds no additional parameter-level context, so the schema carries the burden. This is the appropriate baseline score for a set of well-documented schema parameters.

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 identifies the tool as an AI-powered price estimator for Luxembourg properties, names the resource type, and distinguishes it from siblings by noting it returns an estimated price, confidence interval, and comparable statistics. It also clarifies the model uses asking prices rather than deed-level sales, which adds specific and valuable purpose differentiation.

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 clearly communicates when to use the tool: when a price estimate for a Luxembourg property is needed. It does not explicitly name alternatives or state when not to use it, but the scope and intended use case are sufficiently clear.

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

get_town_agenciesGet Town AgenciesAInspect

Get every estate agency with active listings in a supported Luxembourg town, including current buy/rent stock and asking-price ranges.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
communeYesOne of the supported Luxembourg town names or slugs, e.g. 'Mersch' or 'esch-sur-alzette'

Output Schema

ParametersJSON Schema
NameRequiredDescription
trustYes
sourceYes
communeYes
pageUrlYes
agenciesYes
localityIdYes
measuredAtYes
agencyCountYes
buyListingsYes
communeSlugYes
rentListingsYes
activeListingsYes
unclassifiedListingsYes
Behavior3/5

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

Annotations exist (readOnlyHint: false, etc.) and set the baseline safety profile. The description adds context about the returned data (agencies with active listings, stock, price ranges), which aids in understanding the output. However, it doesn't elaborate on side effects, required authentication, or performance implications. Since annotations are present, the bar is lower, and the description provides some added value without contradiction.

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 a single sentence with a front-loaded verb, precise noun phrases, and no redundancy. Every word adds value, explaining both the action and the expected result. It is immediately scannable and free of 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?

For a simple GET-like tool with only two parameters and an output schema (though not fully shown), the description is sufficient. It explains the return content (agencies, stock, prices) and scope (supported towns). It could mention pagination or response size limits, but these are not critical for a tool of this simplicity. The annotations and schema fill in the remaining gaps, making the description complete enough.

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?

The schema already covers both parameters comprehensively: 'commune' with examples and 'locale' with an enumerated list of languages. The description adds no new meaning to these parameters; it only reiterates the concept of 'supported Luxembourg town.' With 100% schema coverage, baseline 3 is appropriate, and no compensation is needed.

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 ('Get'), a defined resource ('every estate agency'), and a scoped context ('in a supported Luxembourg town'). It adds valuable specifics about the return payload ('current buy/rent stock and asking-price ranges'), which uniquely differentiates it from sibling tools like get_listing or search_for_sale. This is not a tautology and provides clear intent.

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

Usage Guidelines2/5

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

The description implies usage when agency data is needed, but it provides no explicit when-to-use guidance, exclusions, or references to alternative tools. For instance, it doesn't clarify when to prefer this over get_market_context or search_for_sale. The only implicit hint is the mention of 'supported Luxembourg town,' but there's no direct guidance on when not to use this tool or when a sibling would be more appropriate.

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

render_listing_cardsShow Listing CardsAInspect

Render one to eight exact results from a prior property search as an interactive MCP Apps photo carousel. Call a search tool first, then copy its listing IDs and any returned match scores/reasons without alteration. The tool re-reads canonical public listing facts before display.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
headingNoShort user-facing heading grounded in the search request
listingsYesOne to eight exact listing IDs from search_vibe, search_rentals, or search_for_sale, in display order

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
totalYes
trustNo
sourceNo
listingsYes
truncatedNo
Behavior4/5

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

Beyond the annotations, the description reveals that the tool re-reads canonical public listing facts before display, implying a non-mutating presentation behavior and an accuracy/refreshing step. It does not contradict the annotations, and while it does not discuss auth or rate limits, it adds meaningful behavioral context for a display tool.

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 direct sentences: the first states purpose and constraints, the second gives the required pre-workflow, and the third adds a useful behavioral note. There is no filler or redundant restatement.

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 an output schema present, all three parameters fully documented in the input schema, and the prerequisite search workflow spelled out, the description adequately covers the full invocation context. It also communicates the 1–8 count constraint and the requirement to use exact search results.

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 100%, so parameters are already well documented. The description adds value by instructing the agent to copy IDs/scores/reasons verbatim from a prior search, reinforcing exactness and source provenance 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 uses a specific verb ('Render') and a specific resource ('one to eight exact results from a prior property search as an interactive MCP Apps photo carousel'), clearly distinguishing it from sibling search, listing, and inquiry tools. It conveys both the action and the display-oriented 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 explicitly tells the agent to call a search tool first and copy listing IDs and match scores/reasons without alteration, establishing a clear prerequisite and workflow. It does not explicitly name alternatives or when-not-to-use cases, but the guidance is sufficient for correct selection.

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

search_for_saleSearch Properties For SaleAInspect

Search properties for sale across supported Grande Région inventory by location, price, beds, area, and property type. Results include source-checked public facts, photo URLs, and a canonical chathome.lu URL; thumbnails of the top results are attached as image content blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (max 50, default 20)
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
communeNoLuxembourg commune name or slug
minBedsNoMinimum number of bedrooms
maxPriceNoMaximum sale price in EUR
minPriceNoMinimum sale price in EUR
minAreaSqmNoMinimum area in m²
propertyTypeNoProperty type: apartment, house, villa, etc.
includePhotosNoAttach thumbnail photos of the top results as image content blocks (default: true). Set false for a lean text-only response.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
totalYes
trustNo
sourceNo
listingsYes
truncatedNo
Behavior1/5

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

The description says 'Search' which implies a read-only operation, but the annotations set readOnlyHint: false. This is a direct contradiction. The description adds some behavioral details (source-checked facts, thumbnail attachments) but fails to disclose side effects or clarify the read-only nature, and the contradiction makes the transparency score the lowest.

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 long, front-loaded with the primary purpose, and includes essential result content (source-checked facts, URLs, thumbnails) without redundancy. Every clause earns its place.

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 a rich schema (9 params, output schema present) and the simplicity of a search tool, the description covers the main purpose, filterable fields, and result format. It is slightly incomplete only because it does not explicitly state the read-only nature, which is further muddled by the annotation contradiction.

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?

The schema provides 100% description coverage for all 9 parameters, so the description adds limited value beyond listing the filter dimensions (location, price, beds, area, property type). It does not provide new syntax or format details, placing it at the baseline for high schema coverage.

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 uses a specific verb (Search) and resource (properties for sale), and clearly distinguishes from siblings like search_rentals by specifying for-sale inventory. It also enumerates filter dimensions (location, price, beds, area, property type) which adds clarity.

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 implies usage context — searching for-sale properties across the Grande Région — but does not explicitly state when to prefer this over alternatives or exclude other tools. The sibling search_rentals makes the distinction obvious from the name, so context is clear but exclusions are not spelled out.

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

search_rentalsSearch Rental ListingsAInspect

Search rental properties across supported Grande Région inventory by location, price, beds, area, and property type. Results include source-checked public facts, photo URLs, and a canonical chathome.lu URL; thumbnails of the top results are attached as image content blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (max 50, default 20)
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
communeNoLuxembourg commune name or slug
minBedsNoMinimum number of bedrooms
maxPriceNoMaximum monthly rent in EUR
minPriceNoMinimum monthly rent in EUR
minAreaSqmNoMinimum area in m²
propertyTypeNoProperty type: apartment, house, studio, room, etc.
includePhotosNoAttach thumbnail photos of the top results as image content blocks (default: true). Set false for a lean text-only response.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
totalYes
trustNo
sourceNo
listingsYes
truncatedNo
Behavior3/5

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

Annotations are all false, so the description must carry the burden of behavior. It discloses that results include source-checked public facts, photo URLs, a canonical URL, and attached image thumbnails, which adds value beyond the schema. It does not mention pagination, ordering, or any side effects, but for a search tool the described behavior is adequate. It neither contradicts annotations nor fully envelopes all behavioral traits, hence a 3.

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 purpose and followed by concise details about results. Every word earns its place, with no redundant or vague phrasing. It is efficiently structured and appropriately sized.

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?

With 9 optional parameters, a present output schema, and minimal annotations, the description adequately covers the tool's purpose and result behavior, including image thumbnails and source-checking. It does not explain sorting, combinations of filters, or pagination, but the schema already provides defaults for limit and includePhotos. The description is complete enough for a search tool, not veering into unnecessary detail.

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?

The input schema provides 100% coverage with descriptions for all parameters, so the description need not repeat schema details. The description paraphrases the filter dimensions (location, price, beds, area, property type) but adds no extra meaning beyond what the schema already states. It mentions the output canonical URL but that is not parameter semantics. Baseline 3 is appropriate given the schema coverage.

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 action ('Search') and the resource ('rental properties'), specifies the scope ('Grande Région inventory') and lists concrete filter dimensions (location, price, beds, area, property type). It also distinguishes from the sibling search_for_sale by explicitly focusing on rentals, leaving no ambiguity about what this tool does.

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 context is clear: this is the tool for searching rental properties, which implicitly separates it from search_for_sale for outright purchases. However, there is no explicit mention of alternatives or when not to use it, such as when to use get_listing for a specific property or search_for_sale for sale listings. The clarity of the purpose provides strong guidance, but explicit exclusions are missing.

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

search_vibeVibe SearchAInspect

Preferred natural-language ('vibe') property search. Pass the user's request as prose and the engine matches on lifestyle, mood, proximity, and soft preferences via embeddings + LLM reasoning. Returns listings ranked by relevance with a 0-100 score, match reasons, source-checked public facts, photo URLs, and a canonical chathome.lu URL; thumbnail photos of the top results are attached as image content blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (max 50, default 20)
queryYesNatural-language description of what the user wants, in their own words — e.g. "quiet 2-bed near Kirchberg with a balcony under €2000" or "bright family house with a garden, short commute to Belval, energy class A". Lifestyle, vibe, proximity, and soft preferences all work here.
intentNoWhether to search rentals or properties for sale (default: "rent")
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
includePhotosNoAttach thumbnail photos of the top results as image content blocks (default: true). Set false for a lean text-only response.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
totalYes
trustNo
sourceNo
listingsYes
truncatedNo
Behavior4/5

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

No annotations contradict; all flags are false (no safety profile provided), leaving the description to carry the burden. It discloses return format (0-100 score, match reasons, source-checked facts) and a notable behavioral side effect: 'thumbnail photos of the top results are attached as image content blocks.' The 'source-checked public facts' claim adds provenance transparency. Could mention auth or rate limits, but for a search tool the disclosure is solid.

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

Conciseness4/5

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

Two sentences, front-loaded with the core purpose. The first sentence is tight; the second is a longer enumeration of return values but every item is meaningful. Slightly dense but no filler — earns its space.

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 the tool's complexity (embedding + LLM matching) and the presence of an output schema, the description covers input format, matching technique, and output composition well. It even enumerates return values beyond the output-schema requirement. Minor gap: no explicit comparison to the structured sibling searches, but overall adequate for a moderately complex tool.

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 rich per-parameter descriptions (examples, enum values, defaults, deprecated alias). The description reinforces the includePhotos behavior and query input style via the prose examples, but adds little beyond what the schema already provides. Baseline 3 is appropriate since the schema carries the semantic load.

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?

Specific verb+resource: 'natural-language property search.' Distinctly frames this as the prose-based query path ('lifestyle, mood, proximity, and soft preferences via embeddings + LLM reasoning'), clearly differentiating it from structured siblings like search_rentals and search_for_sale. The 'Preferred' qualifier signals it is the default go-to search.

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 clear context on when to use: 'Pass the user's request as prose' and describes the matching dimension (lifestyle/mood/proximity), implying this is for unstructured desires rather than structured criteria. It does not explicitly name alternatives or state when NOT to use it, though the implied contrast with the structured sibling searches is reasonably clear.

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

submit_inquirySubmit InquiryA
Destructive
Inspect

Submit an inquiry about a listing. For chathome-hosted listings creates a conversation thread; for external agency listings returns agency contact details.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesInquiry message to send to the listing owner (10–5000 characters)
agentNameNoOptional display name for the inquiring agent
listingIdYesThe ID of the listing to inquire about
contactEmailNoOptional contact email for the inquiring agent

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
trustYes
listingIdNo
conversationIdNo
Behavior4/5

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

Annotations already signal mutation (readOnlyHint=false, destructiveHint=true), and the description adds concrete behavioral details: it either creates a conversation thread or returns agency contact details. This clarifies the side-effect nature beyond the raw hints, though it omits prerequisites like authentication or persistence guarantees.

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 a single, front-loaded sentence that efficiently conveys the primary action and the two possible outcomes. Every word adds value with no repetition of the title or schema.

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 the output schema exists and annotations cover the safety profile, the description is complete enough for an agent to understand invocation intent and expected behavior. It could mention how to identify listing type, but that is likely available from listing data and not essential for tool selection.

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 schema already documents all four parameters. The description does not add parameter-specific meaning, but the baseline of 3 is appropriate since structured fields carry the semantic load.

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 states a specific action ('Submit an inquiry about a listing') and adds a meaningful behavioral distinction: chathome-hosted listings create a conversation thread, while external agency listings return contact details. This clearly differentiates the tool from siblings like get_inquiry_status and get_listing.

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 and how behavior changes based on listing type. It does not explicitly name alternatives or state when not to use it, so it stops short of a full 5.

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