Zwangsversteigerungen im KI-Assistenten: unser MCP-Server in der Praxis
Worum es geht
Der MCP-Server von ZVG Einfach läuft unter https://mcp.zvg-einfach.de/mcp. Damit kann ein KI-Assistent wie Claude, Cursor oder VS Code Copilot unsere Zwangsversteigerungsdaten direkt abfragen: Suche, Objektdetails mit KI-Analyse, Gerichte und Marktstatistiken.
Dieser Beitrag zeigt zwei echte Sitzungen gegen den Produktivserver vom 23. Oktober 2026. Zuerst die Protokollebene mit curl, danach dieselbe Frage an einen KI-Assistenten. Beide Sitzungen laufen mit einem kostenlosen Sandbox-Schlüssel. Die Zahlen entsprechen dem Stand vom 23. Oktober 2026 und ändern sich täglich.
Was ist MCP?
Das Model Context Protocol (MCP) ist ein offener Standard. Ein Server beschreibt seine Werkzeuge (Name, Beschreibung, Parameter), und ein KI-Client ruft sie bei Bedarf auf. Der Assistent entscheidet selbst, welches Werkzeug er mit welchen Parametern aufruft, und formuliert aus den Ergebnissen seine Antwort.
Unser Server spricht MCP über Streamable HTTP. Er unterstützt die aktuelle Spezifikation 2026-07-28 und ältere Clients, die mit initialize beginnen. Die Werkzeugaufrufe brauchen den Header Authorization: Bearer <API-Schlüssel>. Die Verbindung (initialize) und die Liste der Werkzeuge (tools/list) funktionieren auch ohne Schlüssel.
Der Server hat sechs Werkzeuge:
search_auctionssucht Versteigerungen nach Bundesland, Gericht, Objekttyp, Preis, Fläche, Datum und Umkreis.get_auctionliefert ein Objekt mit KI-Analyse, Gutachten-Daten, Chronologie und einer Zusammenfassung der Umgebung.list_federal_statesundlist_courts_in_statelisten Bundesländer und Amtsgerichte mit der Anzahl der Termine.get_market_statisticsundget_filter_optionsliefern Statistiken und gültige Filterwerte.
Der Sandbox-Schlüssel
Zum Ausprobieren brauchen Sie kein Abo. Jedes Konto, auch ein kostenloses, kann in den Einstellungen einen Sandbox-Schlüssel erstellen. Eine Registrierung ist nötig, eine Zahlung nicht.
- Der Schlüssel funktioniert für REST API und MCP Server.
- Er liefert nur Daten aus Sachsen-Anhalt (Bundesland-Kürzel
st). - Er erlaubt 100 Aufrufe pro Tag und 10 Anfragen pro Sekunde.
- Mit einem API-Abo gilt derselbe Schlüssel für alle Bundesländer, ohne Tageslimit.
Verbindung einrichten
In Claude Code genügt ein Befehl:
claude mcp add --transport http zvg-einfach https://mcp.zvg-einfach.de/mcp \
--header "Authorization: Bearer $ZVG_API_KEY"Cursor, Windsurf und viele andere Clients lesen eine mcp.json:
{
"mcpServers": {
"zvg-einfach": {
"url": "https://mcp.zvg-einfach.de/mcp",
"headers": { "Authorization": "Bearer IHR_API_SCHLUESSEL" }
}
}
}Weitere Beispiele, auch für VS Code, stehen in der MCP-Dokumentation. Der Server ist außerdem im offiziellen MCP-Register als de.zvg-einfach/zvg-einfach eingetragen.
Sitzung 1: das Protokoll mit curl
MCP-Nachrichten sind JSON-RPC. Ein Client schickt jede Nachricht als POST an denselben Endpunkt. Normalerweise erledigt das der KI-Client. Mit curl sieht man, was dabei passiert. Das Ergebnis eines Werkzeugs steht in result.content[0].text. Unten zeigen wir nur diesen Text, und alle Antworten sind gekürzt.
Diese Variablen nutzen alle Aufrufe unten:
URL=https://mcp.zvg-einfach.de/mcp
H=(-H "Authorization: Bearer $ZVG_API_KEY" -H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" -H "MCP-Protocol-Version: 2025-11-25")Verbindung und Werkzeuge
curl -s "${H[@]}" $URL -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-11-25","capabilities":{},
"clientInfo":{"name":"curl","version":"8"}}}'{"jsonrpc": "2.0", "id": 1, "result": {
"protocolVersion": "2025-11-25",
"serverInfo": {"name": "ZVG Einfach", "version": ""},
"instructions": "You have access to German foreclosure auction (Zwangsversteigerung) data. ... A free sandbox key only sees Sachsen-Anhalt (st) and allows 100 tool calls per day; ..."
}}Die Anfrage tools/list liefert die sechs Werkzeuge mit ihren Parametern als JSON Schema. Das Feld instructions ist ein Hinweis an das Sprachmodell. Es erklärt die Daten und die Grenzen des Sandbox-Schlüssels.
Welche Bundesländer sieht der Schlüssel?
curl -s "${H[@]}" $URL -d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"list_federal_states","arguments":{}}}'[{"key": "st", "name": "Sachsen-Anhalt", "count": 138}]Einfamilienhäuser unter 100.000 Euro
curl -s "${H[@]}" $URL -d '{"jsonrpc":"2.0","id":4,"method":"tools/call",
"params":{"name":"search_auctions","arguments":{"land":"st",
"object_type":"detached_house","max_price":100000,
"auction_date_from":"2026-10-23","per_page":3}}}'{"total": 32, "page": 1, "per_page": 3, "results": [
{"id": "bc8919ef-f75d-4179-b571-a81bc42800a9", "city": "Halberstadt", "court": "Halberstadt",
"total_price": 70000, "auction_date_text": "Dienstag, 27. Oktober 2026, 09:00 Uhr", ...},
{"id": "b5b09f2f-59fe-4b0e-b850-64febd26c233", "city": "Schönhausen (Elbe)", "court": "Stendal",
"total_price": 64000, "auction_date_text": "Dienstag, 27. Oktober 2026, 10:00 Uhr", ...},
{"id": "498940f6-fc0b-49ed-b069-a3e770444238", "city": "Ausleben", "court": "Oschersleben",
"total_price": 67600, "auction_date_text": "Dienstag, 03. November 2026, 09:00 Uhr", ...}
]}Ein Objekt im Detail
curl -s "${H[@]}" $URL -d '{"jsonrpc":"2.0","id":6,"method":"tools/call",
"params":{"name":"get_auction",
"arguments":{"auction_id":"b5b09f2f-59fe-4b0e-b850-64febd26c233"}}}'{"city": "Schönhausen (Elbe)", "court": "Stendal", "total_price": 64000,
"auction_location": "Amtsgericht Stendal, Scharnhorststraße 40, 39576 Stendal, Saal 112",
"analysis": {
"marketing_description": "Entdecken Sie dieses charmante freistehende Einfamilienhaus ...",
"tags": ["has_basement", "has_garage", "has_converted_attic", "roof_floor"]},
"pois": {
"school": {"total": 1, "within_m": {"500": 1, "1000": 1, "2500": 1, "5000": 1},
"nearest": [{"name": "Grundschule Schönhausen", "distance_m": 451}]},
"supermarket": {"total": 1, "within_m": {"500": 0, "1000": 1, "2500": 1, "5000": 1},
"nearest": [{"name": "NP", "distance_m": 712}]},
"station": {"total": 1, "within_m": {"500": 0, "1000": 0, "2500": 1, "5000": 1},
"nearest": [{"name": "Schönhausen (Elbe)", "distance_m": 1206}]},
...},
"pois_full_list": "/v1/auctions/b5b09f2f-59fe-4b0e-b850-64febd26c233/pois", ...}Die Umgebung (pois) kommt als Zusammenfassung: pro Kategorie die Anzahl im Umkreis von 500 m bis 5 km und die drei nächsten Orte. So bleibt die Antwort für ein Sprachmodell klein, auch in einer Großstadt. Die vollständigen Listen liefert die REST API unter pois_full_list.
Und Bayern?
curl -s "${H[@]}" $URL -d '{"jsonrpc":"2.0","id":5,"method":"tools/call",
"params":{"name":"search_auctions","arguments":{"land":"by","per_page":3}}}'{"content": [{"type": "text", "text": "Error executing tool search_auctions: sandbox_region_restricted: The sandbox key covers Sachsen-Anhalt (st) only. An API subscription unlocks all federal states: https://zvg-einfach.de/fuer-unternehmen"}],
"isError": true}Der Fehler ist ein Werkzeug-Ergebnis mit isError: true und kein Abbruch der Verbindung. Das Sprachmodell liest die Meldung und kann sie dem Nutzer erklären.
Sitzung 2: dieselbe Frage an einen KI-Assistenten
Für die zweite Sitzung haben wir Claude Code mit dem Server verbunden und nur die MCP-Werkzeuge erlaubt. Die Frage lautete:
Frage: Ich suche ein Einfamilienhaus in Sachsen-Anhalt mit einem Verkehrswert unter 100.000 Euro, das in den nächsten zwei Wochen versteigert wird. Welche Objekte gibt es, und welches davon wirkt am besten erhalten?
Der Assistent hat diese Werkzeuge aufgerufen:
search_auctionsmitland: "st",object_type: "detached_house",max_price: 99999,auction_date_from: "2026-10-23",auction_date_to: "2026-11-06". Ergebnis: vier Objekte.get_auctionfür jedes der vier Objekte, um Baujahr, Modernisierung, Zustand und Umgebung zu vergleichen.
Die Antwort (gekürzt):
| Termin | Ort | Verkehrswert | Baujahr | Hinweise zum Zustand |
|---|---|---|---|---|
| Di 27.10., 09:00, AG Halberstadt | Emersleben, Gartenstr. 1 | 70.000 € | um/vor 1900 | als sanierungsbedürftig markiert, keine Modernisierung genannt |
| Di 27.10., 10:00, AG Stendal | Schönhausen (Elbe), Heinestr. 12 | 64.000 € | ca. 1930 | in den 1990ern teilweise modernisiert, kein Sanierungshinweis; Keller, Garage, ausgebautes Dachgeschoss |
| Di 03.11., 09:00, AG Oschersleben | Warsleben, Str. der Einheit 13 | 67.600 € | 1916 | 2000 bis 2015 schrittweise modernisiert, Garage von 1990; trotzdem als renovierungsbedürftig markiert |
| Fr 06.11., 09:30, AG Dessau-Roßlau | Dessau-Alten, Meiereistr. 9 | 35.600 € | ca. 1947 | keine Angaben zum Zustand |
- Warsleben wurde als einziges Objekt nach 2000 modernisiert. Es ist zwar trotzdem als renovierungsbedürftig markiert, bei einem Haus von 1916 klingt das aber eher nach Restarbeiten als nach einer Grundsanierung.
- Schönhausen liegt knapp dahinter. Es hat keinen Sanierungshinweis, und Bahnhof, Schule, Kita und Supermarkt sind fußläufig erreichbar.
- Halberstadt und Dessau sind nach den vorhandenen Angaben die schwächsten Kandidaten.
- Die Beschreibungen in den Daten sind automatisch erstellte Texte. Lesen Sie vor einem Gebot unbedingt das Gutachten, das auf dem ZVG-Portal oder beim Amtsgericht einsehbar ist.
Auf die Nachfrage, ob es ähnliche Häuser auch in Bayern gibt, rief der Assistent search_auctions mit land: "by" auf, bekam den Fehler sandbox_region_restricted und antwortete:
Antwort (gekürzt): Ich kann das leider nicht prüfen: Der hinterlegte Zugang zu den Versteigerungsdaten ist ein kostenloser Test-Schlüssel und deckt nur Sachsen-Anhalt ab. Mit einem API-Abo von zvg-einfach.de lassen sich alle Bundesländer abfragen, also auch Bayern. Danach kann ich die Suche sofort wiederholen.
Die Bewertungen in dieser Antwort stammen vom KI-Assistenten, nicht von uns. Sie beruhen auf den Daten, die die Werkzeuge geliefert haben. Für eine Kaufentscheidung ersetzen sie weder das Gutachten noch eine Besichtigung.
Fazit
Eine Suche und vier Detailabrufe, und der Assistent hat vier Objekte verglichen, ohne dass jemand eine Zeile Code geschrieben hat. Für Entwickler ist dieselbe Datenbasis über die REST API verfügbar.
- Testen: Konto anlegen und in den Einstellungen einen Sandbox-Schlüssel erstellen.
- Alle Bundesländer: API & MCP für Unternehmen.
- Fragen: [email protected]
