Skip to main content
Glama

Objelio Immobiliensuche

Server Details

Search apartments, houses and plots for sale or rent in Germany, listed by real estate agents.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. 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

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct purpose: search, detail lookup, comparison, criteria explanation, affordability estimate, purchase-cost estimate, and alert subscription. The two calculators (affordable price vs. purchase costs) are clearly separated by domain and inputs, and explain_criteria explicitly states it does not search, avoiding overlap with search_listings.

Naming Consistency5/5

All tools use consistent snake_case verb_noun naming (calculate_*, compare_listings, explain_criteria, get_*, search_listings). No mixed conventions or vague verbs; the pattern is predictable throughout.

Tool Count5/5

Seven tools is well-scoped for a read-only real estate search assistant: each tool covers a distinct step in the workflow (search, inspect, compare, understand criteria, estimate costs, subscribe to alerts). No tool feels redundant or missing.

Completeness4/5

The surface covers the core lifecycle well: criteria explanation, searching, detail retrieval, comparison, cost estimates, and alert subscription, with outbound links for actions like saving or contacting agents. Minor gaps exist (e.g., no direct tool to save/favorite listings or contact an agent), but these are handled via objelio.de links.

Available Tools

7 tools
calculate_affordable_priceCalculate affordable priceA
Read-onlyIdempotent
Inspect

Estimates which purchase price a user can afford from equity and the monthly loan rate, after purchase costs of the federal state. Ask the user for equity, monthly rate and, if known, interest rate and repayment; otherwise suggested values are used and marked. Returns a link to an Objelio search with this price as maximum. An estimate, not financing advice.

NameRequiredDescriptionDefault
ortNoTown for the search link, e.g. Paderborn.
plzNoFive-digit postal code, used to derive the state if state is missing.
stateNoGerman federal state, code or name, e.g. NW, Bayern.
equity_eurYesOwn capital in EUR.
property_typeNowohnung, haus or grundstueck, for the search link.
interest_percentNoAnnual interest rate in percent. Leave out if the user does not know it.
monthly_rate_eurYesMonthly rate for interest and repayment in EUR.
repayment_percentNoInitial annual repayment in percent.
commission_percentNoBuyer's commission in percent, if expected.

Output Schema

NameRequiredDescription
hinweisYesEstimate, no financing advice. Tell the user.
quellenYes
annahmenYesInputs used. Values marked as suggestion should be confirmed with the user.
suche_linkYesObjelio search with this price as maximum. Offer it to the user.
darlehen_eurYesLoan from monthly rate, interest and repayment.
partner_linkYesOptional page on objelio.de where the user can send a request to an Objelio partner (financing or short valuation), marked as a partner offer. Mention it only if the user asks about financing or valuation; never collect contact data in the chat.
rechner_linkYes
nebenkosten_eurYes
gesamtbudget_eurYesEquity plus loan.
nebenkosten_prozentYes
moeglicher_kaufpreis_eurYesAffordable purchase price after purchase costs, rounded down to 1,000 EUR.

TDQS

A4.4/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: unknown optional inputs are filled with suggested values and explicitly 'marked' in the result, and the return value is a link to an Objelio search capped at the computed price. The 'estimate, not financing advice' caveat sets expectations. Minor gap: no statement of precision or which assumptions drive the estimate.

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 tight sentences: what it computes, what to collect from the user, and what comes back plus a disclaimer. No filler, and the core purpose is front-loaded.

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 9-parameter calculation tool with an output schema, this covers the essentials and correctly defers return-value detail to the output schema. It never mentions commission_percent or the location fields (ort/plz/property_type) as search-link inputs, leaving a small gap for a relatively complex signature.

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 coverage is 100%, so the baseline is 3, but the description adds meaning by clarifying that interest rate and repayment are optional and get substituted defaults when omitted. It also ties the state parameter to the purchase-cost adjustment, which the schema alone only hints at.

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 output ('Estimates which purchase price a user can afford') plus the exact inputs it derives from (equity, monthly loan rate) and the cost basis (federal-state purchase costs). This makes it clearly distinct from the sibling calculate_purchase_costs, which computes those costs rather than consuming them.

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 concrete call-time guidance: ask the user for equity and monthly rate, and for interest/repayment only 'if known', with defaults otherwise. It does not name alternatives or state when not to use it, so it falls short of a full routing 5.

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

calculate_purchase_costsCalculate purchase costsA
Read-onlyIdempotent
Inspect

Estimates the additional costs of buying a property in Germany (Kaufnebenkosten): real estate transfer tax of the federal state, notary and land register as a usual range, and the buyer's commission. Pass a listing_id from search_listings to use its price, postal code and commission, or pass price and state. An estimate, not tax or legal advice.

NameRequiredDescriptionDefault
plzNoFive-digit postal code, used to derive the state if state is missing.
stateNoGerman federal state, code or name, e.g. NW, Bayern.
price_eurNoPurchase price in EUR.
listing_idNoA listing for sale from search_listings; fills price, state and commission.
commission_percentNoBuyer's commission in percent of the price, if any.

Output Schema

NameRequiredDescription
hinweisYesEstimate, no tax, legal or financing advice. Tell the user.
quellenYes
courtageYesBuyer's commission as given.
bundeslandYes
gesamt_eurYesPrice plus purchase costs (range).
objekt_linkYesListing page, if a listing was given.
partner_linkYesOptional page on objelio.de where the user can send a request to an Objelio partner (financing or short valuation), marked as a partner offer. Mention it only if the user asks about financing or valuation; never collect contact data in the chat.
rechner_linkYesThe calculator on objelio.de.
kaufpreis_eurYes
nebenkosten_eurYesAll purchase costs together (range).
notar_grundbuchYesNotary and land register as a usual range.
grunderwerbsteuerYesReal estate transfer tax of the state.
bundesland_aus_plzYestrue = state derived from the postal code; ask the user to confirm.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and closed-world behavior, so the description's job is to add approximation semantics — which it does by flagging notary/land register as 'a usual range' and adding an 'estimate, not tax or legal advice' disclaimer. It still doesn't say what happens when no price or listing_id is supplied (all five parameters are optional).

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?

Front-loads what is calculated before explaining inputs, and each sentence carries information. The input-routing sentence is slightly dense but not padded.

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?

An output schema exists so return values need no explanation, annotations carry the safety profile, and the description covers scope, component assumptions and the two valid input paths. Enough for an agent to invoke 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?

Schema coverage is 100%, so every parameter already carries its own description including the plz-derives-state fallback and the commission percentage bounds. The description restates the listing_id-to-price/state/commission linkage rather than adding new syntax or constraint detail, so 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?

States a specific verb and resource ('estimates the additional costs of buying a property in Germany') and enumerates the cost components covered: transfer tax, notary/land register, and buyer's commission. This clearly separates it from siblings like calculate_affordable_price or compare_listings.

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 input routing: pass a listing_id from search_listings to inherit price, postal code and commission, or alternatively pass price and state. It names the sibling tool to source the ID from, though it never states when to prefer this over calculate_affordable_price or what to do if neither input path is available.

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

compare_listingsCompare listingsA
Read-onlyIdempotent
Inspect

Compares two or three listings from search_listings side by side: price, price per square meter, estimated purchase costs, area, rooms, building, energy certificate, features and agent. Only stored data; missing information is "unbekannt". Returns a link to the same comparison on objelio.de, where the user can save the listings and contact the agents.

NameRequiredDescriptionDefault
listing_idsYesTwo or three ids from search_listings.

Output Schema

NameRequiredDescription
zeilenYesComparison rows. Only stored data; price per m² is calculated, purchase costs are estimated.
hinweisYes
objekteYesThe compared listings, in the order of the columns.
vergleich_linkYesThe same comparison on objelio.de. Show it to the user.
nicht_verfuegbarYesIds that are no longer published.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world); the description adds genuinely new behavior: it only reads stored data and fills gaps with "unbekannt", and it returns a deep link to objelio.de where the user can save listings and contact agents. The only omission is what happens with invalid or deleted listing ids, and the return shape is covered by the output schema.

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

Conciseness5/5

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

Two sentences, front-loaded with the comparison scope, followed by data-limitation and return-value notes. Every clause carries information an agent would not otherwise have.

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?

For a low-complexity, single-parameter read tool with full schema coverage, an output schema, and complete annotations, nothing material is missing: purpose, compared attributes, data-freshness caveat, and the returned link are all stated.

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% and the single parameter already documents its 2–3 item constraint, so the description only restates "two or three listings" plus the provenance from search_listings. Baseline 3 applies since the schema does the heavy lifting on 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?

Names a specific verb (compares) and resource (two or three listings) and enumerates exactly which attributes are compared, so the agent knows the output surface without opening the schema. It also ties itself to the sibling that produces the inputs (search_listings), differentiating it from get_listing (single) and search_listings (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?

The description states the input provenance ("two or three listings from search_listings"), which implies the correct call sequence: search first, then compare. It does not explicitly say when not to use it, e.g. that a single listing should go through get_listing, so the routing guidance is clear but not exhaustive.

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

explain_criteriaExplain search criteriaA
Read-onlyIdempotent
Inspect

Shows how Objelio understands a search request in words, as structured criteria the user can check and correct before searching. Does not search.

NameRequiredDescriptionDefault
textYesThe user's request in their own words.

Output Schema

NameRequiredDescription
hinweisYes
in_wortenYesThe criteria in German words.
kriterienYesStructured criteria, can be passed as criteria to search_listings (leave out null and empty fields).
nicht_beruecksichtigtYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false, destructiveHint=false), so the bar is lower. The description still adds real value by declaring that nothing is executed and that the output is a human-checkable interpretation — a behavioral trait the annotations do not express.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, closed with the key exclusion. No filler and nothing repeated from 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?

With one parameter, full annotation coverage, and an output schema handling return values, the description needs only to explain purpose and non-execution — both are present. It could be marginally more complete by acknowledging that search_listings is the natural next step after the user corrects the criteria.

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% and the single parameter already carries a description ("The user's request in their own words"). The tool description echoes that idea without adding format, length, or phrasing guidance beyond the schema's minLength/maxLength constraints, so 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?

States a specific verb (shows/explains) and a specific resource (how a search request is interpreted as structured criteria), and explicitly negates the adjacent behavior with "Does not search." That single negation is what separates it from search_listings, so an agent can route correctly without opening either schema.

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 user can check and correct before searching" gives a clear usage window (pre-search verification) and "Does not search" states the exclusion. It stops short of naming search_listings as the follow-up step, so the alternative 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_listingGet listing detailsB
Read-onlyIdempotent
Inspect

Full published details of one listing: description, features, energy certificate, commission (Courtage), the offering agent and the link to the listing page.

NameRequiredDescriptionDefault
search_idNoThe suche_id from search_listings, so an inquiry can be linked to the search.
listing_idYesThe id from search_listings.

Output Schema

NameRequiredDescription
idYes
ortYes
plzYes
demoYes
lageYes
linkYesListing page on objelio.de, where the user contacts the agent. Always show it.
titelYes
bilderNoURLs of up to 8 photos in the agent's order; the first is titelbild.
angebotYes
hinweisYes
anbieterYesThe offering agent.
courtageYesBuyer's commission.
merkmaleYesFeatures: true, false or null (no information).
ortsteilYes
objektartYes
preis_eurYes
titelbildYes
ausstattungYes
beschreibungYes
demo_hinweisNo
bestaetigt_amYesWhen the agent last confirmed that the listing and its details are current.
energieausweisYes
preis_auf_anfrageYestrue = the agent does not publish the price (price on request); preis_eur is then null. Say so and never estimate a price.
veroeffentlicht_amYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is fully covered. The description adds some behavioral value by scoping to 'published' details, implying unpublished/withdrawn listings may not be returned. It says nothing about failure behavior for an invalid id, but the annotation bar is already met.

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?

A single sentence, front-loaded with the verb and scope, then the field inventory. No filler, no restatement of the title, everything after the colon 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?

With an output schema present and annotations covering safety, the description does not need to explain return values, and it correctly focuses on what the tool is for. The only gap is that it never tells the agent to call this after search_listings, which matters for a tool that cannot be invoked without an id.

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% and both parameters are documented in-schema, including the search_id/inquiry-linking rationale. The description adds no parameter-level meaning beyond what the schema already says, so it sits at the baseline.

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

Purpose4/5

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

States a specific verb+resource ('Full published details of one listing') and enumerates what is included: description, features, energy certificate, commission, offering agent, link. An agent can immediately tell this is a single-record detail fetch rather than a search or comparison. It does not name a sibling to differentiate against, which keeps it from a 5.

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?

There is no statement of when to use this versus search_listings or compare_listings, and no prerequisite (e.g., 'call after search_listings to get a listing_id'). The only routing hint — 'the id from search_listings' — lives in the schema, not the description. Usage is inferable from the name alone, not from the text.

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

search_listingsSearch listingsA
Read-onlyIdempotent
Inspect

Search published real estate listings on Objelio. Pass structured criteria (preferred) or the user's request as text. Returns up to 10 listings with price, area, rooms, a fit per criterion (erfuellt = met, abweichend = slightly outside, unbekannt = no information) and a link to the listing page where the user can contact the agent.

NameRequiredDescriptionDefault
textNoThe user's request in their own words (German or English), used only if criteria is missing.
criteriaNoStructured search criteria. Leave out fields the user did not mention.

Output Schema

NameRequiredDescription
anzahlYesTotal number of matching listings, demo listings included.
hinweisYes
trefferYes
suche_idYesPass to get_listing as search_id.
kriterienYesThe applied criteria in German words.
anzahl_echtYesNumber of real listings (without demo listings). Real listings come first in treffer.
vorschlaegeYesWider searches with their number of real listings, only when there is no real listing. Offer them to the user.
vergleich_linkYesSide-by-side comparison of the first three listings on objelio.de, where the user can save them and contact the agents.
suchprofil_linkNoShort questionnaire on objelio.de (location, size, budget, financing) with budget range, purchase costs, matching listings and a search alert. Offer it when the user's wishes are still vague.
suchauftrag_linkYesPage on objelio.de to get new matching listings by e-mail. The user enters the address there, never in the chat.
nicht_beruecksichtigtYesWishes that did not filter.
alle_treffer_auf_objelioYesThe same search on objelio.de.

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already establish that this is a safe, read-only, idempotent operation. The description adds meaningful behavioral context beyond annotations: it returns up to 10 results, explains the fit labels (erfuellt, abweichend, unbekannt), and notes the listing link for contacting the agent.

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

Conciseness5/5

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

The description is three sentences, front-loaded with purpose, followed by input mode and return behavior. Every sentence contributes useful information with no obvious waste.

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 nested input schema, existing output schema, and annotations, the description is complete enough for an agent to select and invoke the tool. It covers purpose, preferred input mode, result limit, fit interpretation, and contact path without duplicating structured fields unnecessarily.

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 detailed criteria fields are already fully documented. The description adds only the high-level preference for structured criteria over text, which is useful but does not significantly expand parameter semantics beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: searching published real estate listings on Objelio. It is clear what the tool does, but it does not explicitly distinguish its role from siblings such as compare_listings or 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 Guidelines3/5

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

It gives useful input-mode guidance: structured criteria are preferred, with text as a fallback. However, it does not explain when to use this tool versus alternatives like compare_listings, get_listing, or explain_criteria, so usage is only implied.

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. 7 tool updates
    • First observedcalculate_affordable_price
    • First observedcalculate_purchase_costs
    • First observedcompare_listings
    • First observedexplain_criteria
    • First observedget_listing
    • First observedget_search_alert_link
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to answer plain-language queries about official real estate data in Germany and Austria, covering cadastral parcels, zoning plans, land values, buildings, terrain, 3D models, aerial images, and property listings. Parcel and listing results link to map views with outlines, plans, buildings, and aerial imagery.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables searching Austria's largest classifieds marketplace (willhaben.at) for real estate, cars, jobs, and second-hand items via natural-language queries and structured filters, with full listing details.
    7
    4 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources