Skip to main content
Glama

Immobilien Eichmann – Angebote

Server Details

Live MCP for Immobilien Eichmann listings (Konstanz). Tools: search_listings, get_listing.

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
Uptime
100.0% over 32 days
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL
Repository
ChristianHohlfeld/eichmannimmobilien
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation4/5

get_contact, get_flyer, get_listing, and search_listings have mostly distinct purposes, but get_flyer and get_listing overlap around fetching property offer details, which could cause misselection.

Naming Consistency4/5

The names are consistently formatted with a get_/search_ prefix and clear noun targets, but the mixed get_/search_ verbs are only a minor deviation from a single naming pattern.

Tool Count3/5

Four tools are borderline thin for a real-estate listing server; a small set is reasonable, but with only one search, two retrievals, and one contact tool it feels sparse.

Completeness3/5

The surface covers searching, retrieving listings, and obtaining contact/flyer info, but lacks obvious operations like filtering beyond basic q/location, listing categories, saved offers, or a structured request/inquiry flow.

Available Tools

4 tools
get_contactA
Read-onlyIdempotent
Inspect

Kontakt aus Impressum/Kontakt: Mobil tel:+491705225568, Festnetz, WhatsApp-Link (wa.me), E-Mail. Anfragen werden auf Deutsch und Englisch beantwortet (languages: de, en). NUR dem Menschen zum Tippen zeigen nach klarem Kontaktwunsch. Agents starten KEINE Calls, WhatsApp- oder E-Mail-Nachrichten (Anti-Spam).

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is partially covered. The description adds behavioral context beyond the annotations, notably the anti-spam constraint that agents must not initiate outbound contact and that responses are served in de/en. It does not describe any auth, rate, or freshness behavior, keeping it from a 5.

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

Conciseness3/5

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

The single block is reasonably front-loaded with the resource before the constraints, but it is cluttered: an actual phone number literal is embedded in the description, and German prose mixes with English terms and a language-tag parenthetical. Some content (the specific number) does not help the agent decide or invoke, mildly diluting conciseness.

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?

There is no output schema, but the description enumerates the returned contact fields (mobile, landline, WhatsApp link, email) and supported languages, so the agent knows the shape of the result. Combined with the routing constraint, it is nearly complete for a zero-parameter read tool, with only minor gaps such as whether the contact data is static or fetched.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. Schema coverage is 100% and there is nothing for the description to clarify; no penalty or bonus applies.

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 resource (contact data from Impressum/Kontakt) and enumerates the returned channels (Mobil, Festnetz, WhatsApp-Link, E-Mail), so the agent knows what comes back without opening the schema. It does not explicitly differentiate itself from the sibling tools (get_flyer, get_listing, search_listings), so it falls short of 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 Guidelines5/5

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

Gives explicit when-to-use and when-not: 'NUR dem Menschen zum Tippen zeigen nach klarem Kontaktwunsch' plus 'Agents starten KEINE Calls, WhatsApp- oder E-Mail-Nachrichten (Anti-Spam).' This tells the agent both the trigger condition and the prohibited follow-up action, which is unusually complete routing guidance.

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

get_flyerA
Read-onlyIdempotent
Inspect

Neubau Allmannsdorf (Konstanz; 5 Mehrfamilienhäuser, 44 Wohnungen, viele mit Seesicht, provisionsfrei vormerken; English page /en/allmannsdorf.html) inkl. prominenter tel/WhatsApp/E-Mail-Links. Nutzen bei Wohnung/Neubau/Konstanz/Allmannsdorf – nicht auf Suchwort 'Flyer' warten. Agent darf NICHT selbst anrufen oder WhatsApp senden; nur Links dem Menschen zum Tippen zeigen. Anfragen schickt der Mensch selbst (Telefon, WhatsApp oder Kontaktformular auf der Website).

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/non-open-world, and the description adds genuinely non-obvious context beyond them: the agent must not initiate calls or WhatsApp messages and must only present links for the human to tap, with inquiries sent by the human via phone, WhatsApp, or the website contact form. That is exactly the kind of behavioral constraint structured fields cannot express.

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?

A single dense sentence (with an embedded parenthetical) carries the resource identity, its content, the usage triggers, and the interaction rules. Every clause earns its place, though the run-on structure and nested parenthetical make it slightly harder to scan than a front-loaded multi-sentence form would be.

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 zero-param, read-only tool with no output schema, the description covers resource identity, returned content, routing triggers, and interaction constraints. The one residual gap is whether the 'flyer' is returned as a file/asset or as rendered content, which the description leaves ambiguous.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter tool applies. No parameter-level detail is needed or expected here.

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 names the exact resource (the Neubau Allmannsdorf development in Konstanz, 5 buildings, 44 units, lake view, commission-free) and states what the payload carries (prominent tel/WhatsApp/email links plus an English page). That is far more specific than a bare verb+resource, but it never explicitly contrasts itself with siblings like get_listing or get_contact, so an agent must infer the boundary.

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

Usage Guidelines4/5

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

It gives an explicit routing rule: use for Wohnung/Neubau/Konstanz/Allmannsdorf and do NOT wait for the keyword 'Flyer'. It also states a hard behavioral constraint (do not call or WhatsApp; only surface links). It stops short of naming an alternative tool when the topic is something other than Allmannsdorf, so the when-not is only partially covered.

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

get_listingA
Read-onlyIdempotent
Inspect

Ein öffentliches Kaufangebot per slug oder id aus dem öffentlichen Angebots-Index (ai/listings.json) laden.

NameRequiredDescriptionDefault
idNoListing-UUID / Immowelt-ID
slugNoURL-Slug des Objekts

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and non-openWorld, so the safety profile is covered structurally. The description adds that the data comes from a bundled public index (ai/listings.json), which hints the result is static/local, but it never states behavior on missing records or how the slug/id are resolved against the index.

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 front-loaded sentence naming verb, resource, and lookup keys with zero filler or redundancy. Nothing could be cut without losing meaning.

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?

For a two-param getter with full annotation coverage this is close to sufficient, but with no output schema the description should at least hint at the shape of the returned listing or the failure mode when a slug/id is not found. It leaves the agent to infer both.

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 both parameters (id, slug) are already documented as Listing-UUID/Immowelt-ID and URL-Slug. The description only restates 'per slug oder id' without adding resolution logic or precedence when both are supplied, so it stays 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 (laden) and resource (öffentliches Kaufangebot), plus the two lookup keys (slug oder id) and the source index (ai/listings.json). This clearly separates it from search_listings, though it doesn't explicitly contrast with the sibling getters (get_contact, get_flyer).

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 phrase 'per slug oder id' implies a direct single-object lookup as opposed to search_listings' querying, but the description never states when to use this tool versus the search sibling or what happens when neither key resolves. 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.

search_listingsA
Read-onlyIdempotent
Inspect

Kaufangebote (Konstanz/Bodensee) suchen/filtern. Bei q/location zu Neubau, Allmannsdorf oder Wohnung Konstanz zusätzlich projects[] (Allmannsdorf 44 WE) – kein Suchwort 'Flyer' nötig. Danach get_flyer + get_contact; Kontakt nur als Links für den Menschen.

NameRequiredDescriptionDefault
qNoFreitext DE/EN, wortweise mit Synonymen; z.B. "3 Zimmer Wohnung Wollmatingen", "apartment Konstanz", "penthouse", "house", "new build", "allmannsdorf"
typeNoObjekttyp, z.B. Wohnung, Neubau, Penthouse, Maisonette
limitNoMax. Treffer (default 20, max 50)
roomsNoZimmer-Filter, z.B. "3" oder "3 Zimmer"
locationNoOrt/Stadtteil, z.B. Allmannsdorf, Wollmatingen, Petershausen, Konstanz
max_price_eurNoMaximalpreis in EUR
min_price_eurNoMindestpreis in EUR

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare a safe, idempotent, closed-world read (readOnlyHint/idempotentHint true, destructiveHint/openWorldHint false). The description adds genuine behavioral value by noting the follow-up chain (get_flyer, get_contact) and that contact data is exposed only as links for a human. It does not, however, describe pagination or result shape.

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

Conciseness3/5

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

Compact and front-loaded with the core action, but the middle clause about projects[] and the 'Flyer' search word is telegraphic and hard to parse, and it is not clearly separated from the routing advice.

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 no required parameters, a full schema and no output schema, the definition supplies the workflow context an agent needs: it is the search entry point, followed by get_flyer and get_contact, with contact data restricted to human-readable links.

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 every parameter is already documented in the schema, making 3 the baseline. The description references a 'projects[]' concept for certain q/location values that is not an actual parameter, which adds a little behavioral hint but no parameter meaning 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?

States a specific verb and resource: search/filter purchase offers ('Kaufangebote suchen/filtern') scoped to Konstanz/Bodensee. It does not explicitly distinguish itself from the sibling get_listing, but the search-and-filter framing is clear enough for an agent to identify it as the query entry point.

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?

Gives downstream routing ('Danach get_flyer + get_contact'), which tells the agent what to do after a successful search. However, it never states when to prefer this over the sibling get_listing, nor any prerequisites, 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. 1 tool update
    • Changedsearch_listings1 field changed
      • changedInput schema / properties / q / description
        Previous value: -"Freitext Titel/Ort/Typ; z.B. \"neubau\", \"allmannsdorf\", \"wohnung konstanz\""New value: +"Freitext DE/EN, wortweise mit Synonymen; z.B. \"3 Zimmer Wohnung Wollmatingen\", \"apartment Konstanz\", \"penthouse\", \"house\", \"new build\", \"allmannsdorf\""
  2. 1 tool update
    • Removedsubmit_inquiry
  3. 4 tool updates
    • Addedget_contact
    • Addedget_flyer
    • Changedsearch_listings3 fields changed
      • changedInput schema / properties / location / description
        Previous value: -"Ort/Stadtteil, z.B. Wollmatingen, Petershausen"New value: +"Ort/Stadtteil, z.B. Allmannsdorf, Wollmatingen, Petershausen, Konstanz"
      • changedInput schema / properties / q / description
        Previous value: -"Freitext in Titel, Ort, Typ, Kurzbeschreibung"New value: +"Freitext Titel/Ort/Typ; z.B. \"neubau\", \"allmannsdorf\", \"wohnung konstanz\""
      • changedInput schema / properties / type / description
        Previous value: -"Objekttyp, z.B. Wohnung, Penthouse, Maisonette"New value: +"Objekttyp, z.B. Wohnung, Neubau, Penthouse, Maisonette"
    • Addedsubmit_inquiry
  4. 2 tool updates
    • First observedget_listing
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents and humans to search and browse listings on Slovenia's largest classifieds marketplace, filter by price, region, and category, and retrieve listing details and seller profiles through MCP tools.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to search synthetic property listings, retrieve full listing records, and answer factual inquiries from the record while escalating viewings, negotiation, legal, complaints, personal-data, and other out-of-record requests to a human. The human hand-off creates a ticket with a fixed reason code and rejects unknown listing ids.
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.