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
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL
Repository
ChristianHohlfeld/eichmannimmobilien
GitHub Stars
0

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Tools target distinct resources and actions: search vs. single-listing retrieval vs. project flyer vs. contact vs. inquiry submission. Minor overlap exists because get_flyer and get_contact both expose contact links and search_listings can surface the Allmannsdorf project, but descriptions clarify when to use each.

Naming Consistency5/5

All tool names use a consistent snake_case verb_noun pattern (get_*, search_*, submit_*). There are no mixed naming conventions or vague verbs.

Tool Count5/5

Five tools are well-scoped for a public real-estate offer and inquiry server. Each tool covers a necessary capability without redundancy or excessive granularity.

Completeness5/5

The set covers search, listing retrieval, project flyer, contact retrieval, and user-initiated inquiry submission. Given the deliberately read-only and anti-spam design, no critical lifecycle operations are missing.

Available Tools

5 tools
get_contactA
Read-onlyIdempotent
Inspect

Live-Kontakt aus Impressum/Kontakt: Mobil tel:+491705225568, Festnetz, WhatsApp-Link (wa.me), E-Mail. NUR dem Menschen zum Tippen zeigen nach klarem Kontaktwunsch. Agents starten KEINE Calls, WhatsApp- oder E-Mail-Nachrichten (Anti-Spam).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds behavior the annotations cannot express: a human-in-the-loop rule and an anti-spam constraint against auto-initiating communications, which is genuinely valuable context beyond the structured fields.

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 dense sentences that front-load the content before the usage directive, with no filler. Embedding a literal phone number is slightly unusual but serves as an example of the returned data without bloating the text.

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-parameter, read-only tool with no output schema, the description conveys what is returned (contact fields) and the governing usage rule. It does not detail response format, but nothing essential for correct invocation is missing.

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 the schema baseline of 4 applies; there is no parameter semantics to clarify. The description instead usefully enumerates the shape of the returned data (mobile, landline, WhatsApp, email).

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 concrete verb+resource: retrieves live contact data from the imprint/contact page, and enumerates the returned fields (mobile, landline, WhatsApp link, email). It is distinguishable from siblings like get_flyer and get_listing, though it does not explicitly name them.

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?

Explicitly states when to use it ('nur dem Menschen zum Tippen zeigen nach klarem Kontaktwunsch') and when not to (agents must not initiate calls, WhatsApp or email). The condition and the prohibition are both spelled out, leaving nothing to inference.

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

Neubauprojekt Konstanz-Allmannsdorf (5 MFH, 44 Wohnungen, Seesicht) 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. Alternate Lead: submit_inquiry mit Nutzerdaten + privacy_consent.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

The description adds crucial context beyond annotations: the agent must not call or send WhatsApp, only show links to the human, and can use submit_inquiry as an alternate lead path. This goes beyond what readOnlyHint and idempotentHint convey. It doesn't explicitly state that the tool returns a flyer, but annotations already declare it as a safe read-only operation.

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?

The description is front-loaded with the project name and key details, followed by usage guidance and behavioral constraints. It's efficient but includes some redundancy (e.g., repeating 'Konstanz/Allmannsdorf' in the usage trigger). Still, every 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?

For a zero-parameter, read-only tool without an output schema, the description provides sufficient context: what the flyer contains, when to use it, behavioral restrictions, and the alternative lead tool. It could be improved by explicitly stating that the tool returns the flyer, but it's largely complete.

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

Parameters4/5

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

With zero parameters, the baseline is 4. The description doesn't discuss parameters because there are none, which is appropriate. It does mention that the flyer includes tel/WhatsApp/email links, which hints at the content delivered.

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

Purpose3/5

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

The description identifies a specific project ('Neubauprojekt Konstanz-Allmannsdorf') with concrete details (5 MFH, 44 Wohnungen, Seesicht), but the verb is implicit – it never states that the tool *returns* or *displays* a flyer. The name 'get_flyer' suggests retrieval, but the description could describe a project rather than an action. A vague connection between purpose and sibling tools leaves some 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?

It explicitly says when to use it ('Nutzen bei Wohnung/Neubau/Konstanz/Allmannsdorf') and warns against waiting for the keyword 'Flyer'. It names an alternative tool ('submit_inquiry') for lead submission, though it doesn't contrast with other siblings like get_listing or search_listings.

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 Live-Index laden.

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

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds that the listing is public and sourced from a live index, but omits auth requirements, error behavior, and return format. Modest additional context beyond annotations.

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

Conciseness5/5

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

Single sentence, front-loaded, with no wasted words. Appropriately sized for a simple retrieval tool.

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 read-only retrieval tool with full parameter schema and annotations covering safety, the description gives the essential operation and scope. It is slightly incomplete on return payload since no output schema exists, but remains 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?

Schema description coverage is 100% and both parameters (id, slug) are documented in the schema. The description only restates 'per slug oder id' without adding format, precedence, or selection guidance beyond the schema. Baseline 3 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 verb 'laden' (load) and resource 'Kaufangebot' (purchase offer) with retrieval by slug or id from the live index. Distinguishes implicitly from search_listings by using an identifier rather than filters, but does not name or contrast with the sibling.

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?

Implies usage when a slug or id is known, but gives no explicit when-to-use guidance, no exclusions, and no mention of search_listings as an alternative. Implied usage only.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFreitext Titel/Ort/Typ; z.B. "neubau", "allmannsdorf", "wohnung konstanz"
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.7/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld=false/idempotent, so the safety profile is covered. The description adds genuinely non-structured behavior: certain queries yield an extra projects[] field (Allmannsdorf 44 WE), and contacts must be surfaced only as links for a human rather than exposed directly. That last constraint is an important agent-behavior rule beyond what the schema or annotations provide.

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?

Front-loading the verb+resource is good, and three sentences is a reasonable size. However, the 'projects[] (Allmannsdorf 44 WE)' fragment is telegraphic and refers to a field absent from both the input schema and any output schema, forcing the agent to guess. It earns its place less than the surrounding routing advice.

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?

With no output schema, the description carries the burden of describing returns; it only hints that projects[] may appear for certain queries and says nothing about result shape, ordering, or the default/max limit behavior (which the schema does cover). The next-step workflow (get_flyer, get_contact) is a useful addition. Adequate but with clear gaps for a 7-parameter, output-less search 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 description coverage is 100%, so every parameter (q, type, limit, rooms, location, min/max_price_eur) is already documented with examples — the baseline is 3. The description adds no syntax or filtering semantics beyond the schema; its 'projects[]' and 'Allmannsdorf 44 WE' notes describe results, not inputs, and reference a field that appears in no parameter.

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+resource — 'Kaufangebote (Konstanz/Bodensee) suchen/filtern' — so an agent knows this is a search over purchase listings in a fixed region. It distinguishes itself from get_listing/get_flyer/get_contact by framing itself as the entry point. The cryptic 'projects[]' clause and the embedded workflow note slightly muddy the core statement but don't obscure the purpose.

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 explicit routing: search here first, then 'get_flyer + get_contact', and warns that no 'Flyer' search word is needed — implying a common misuse. It also states a condition under which results additionally contain projects[] (q/location = Neubau/Allmannsdorf/Wohnung Konstanz). No explicit when-not-to-use-this-tool statement, so it stops short of a 5.

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

submit_inquiryAInspect

Alternate zu tel/WhatsApp: Interessenten-Anfrage nur mit vom Nutzer gelieferten Daten und privacy_consent=true. flow=contact (inkl. Vormerkung Allmannsdorf) oder flow=expose. Kein Auto-Spam, keine erfundenen Kontaktdaten. Bevorzugt: Mensch tippt Links aus get_contact/get_flyer.

ParametersJSON Schema
NameRequiredDescriptionDefault
ortNoexpose: Ort
plzNoexpose: PLZ
flowYes"contact" (Kontakt/Vormerkung) oder "expose" (Exposé-Anfrage)
nameNoNachname (contact: voller Name; expose: Nachname)
emailYesE-Mail (Pflicht)
phoneNoTelefon (optional)
anredeNoexpose: "Herr" | "Frau" | "Familie"
objektNoexpose: Objekttitel
messageNoNachricht (Pflicht bei flow=contact)
strasseNoexpose: Straße und Hausnummer
vornameNoexpose: Vorname
anliegenNoBetreff, z.B. "Vormerkung Neubau Allmannsdorf", "Vermittlung / Kauf", "Allgemeine Anfrage"
objekt_urlNoexpose: https://immobilieneichmann.de/objekt/<slug>.html
privacy_consentYesMuss true sein (Einwilligung Datenschutz / Kontaktaufnahme)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations cover the safety profile (non-read-only, non-destructive, open-world, non-idempotent). The description adds real behavioral constraints beyond them: only user-supplied data, no fabricated contact data, no auto-spam, and the hard privacy_consent=true requirement. It does not explain what happens after submission (e.g. whether an email is dispatched), which caps it below the top.

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?

It is a compact four-clause block, but the telegraphic German shorthand ('inkl.', proper-noun 'Vormerkung Allmannsdorf', flow tokens) makes it dense and front-loaded on constraints rather than on a plain statement of action. Nothing is wasted, yet readability for an agent is only moderate.

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 14-parameter mutation tool with no output schema, the description covers the critical prerequisites (user data, consent) and flow routing, which is the essential guidance. It is silent on the outcome/confirmation behavior after submission, and an agent must rely fully on the schema for the remaining field semantics.

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 14 fields. The description adds semantic detail for flow ('contact' includes Vormerkung Allmannsdorf vs 'expose') and reinforces the privacy_consent requirement, but does not add meaning for the other eleven parameters, so baseline 3 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?

The description conveys that this is an inquiry-submission channel (Interessenten-Anfrage) that is an alternate to tel/WhatsApp, and distinguishes it from get_contact/get_flyer which it names as preferred. The action verb is somewhat implicit ('Anfrage nur mit...'), but the resource and its role among siblings are clear enough for an agent to identify it.

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 explicitly frames itself as an alternative to phone/WhatsApp and names get_contact/get_flyer as the preferred route for links, giving the agent a when-to-prefer-other-tools signal. It also conditions use on user-supplied data and privacy_consent=true. There is no explicit when-NOT-to-use beyond the preference note, but the routing guidance is strong.

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

Tool Schema Changelog

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

  1. 4 tool updates
    • 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
  2. 2 tool updates
    • First observedget_listing
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • 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
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and retrieve Yad2 real estate listings (for rent or sale) using MCP tools, with data scraped via GitHub Actions and served from a Cloudflare D1 database.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.