Zum Inhalt springen
golfdata.online

golfdata.online mit KI-Agenten und -Apps nutzen

golfdata.online ist ein geprüftes Verzeichnis von Golfclubs und -plätzen in ganz Europa — Fakten, Buchungslinks und Buchungsanfragen, sofern der Club sie aktiviert hat. Jede Angabe verlinkt auf ihre Quellen und trägt ein last_verified-Datum. Es steht in keiner Verbindung zu golfdata.co, einem Preiskatalog für Golfausrüstung. Diese Seite erklärt die Zugänge für Menschen und KI-Agenten: einen MCP-Server, einen JSON-Feed je Club, llms.txt, eine MCP-Discovery-Karte und das schema.org-JSON-LD auf jeder Club-Seite. Es ist kein Schlüssel nötig; alles ist nur lesend außer request_booking, das eine Buchungsanfrage an Clubs weiterleitet, die sie aktiviert haben.

MCP-Server (nur lesend außer request_booking, kein Schlüssel)

Ein zustandsloser MCP-Server über Streamable HTTP (JSON-RPC 2.0, HTTP POST), Protokoll 2025-06-18. Keine Authentifizierung.

  • Endpoint: https://golfdata.online/mcp
  • Name in der MCP Registry: online.golfdata/golf-clubs
  • Discovery-Karte: /.well-known/mcp.json

Tools

  • search_clubs (nur lesend)

    Search approved golf clubs and courses across Europe by a free-text fragment (matches name, island, municipality or region), and/or ISO country code, island, region and municipality filters. Returns summary records (with last_verified) only; fetch provenance with get_club or list_sources_for before citing.

    Argumente: query, country, island, region, municipality, question, limit

  • get_club (nur lesend)

    Get one approved club by UUID or slug, with all facts, sources[] and club_facts (what the club itself published from its verified account), or found: false.

    Argumente: id_or_slug (erforderlich), question, topic

  • list_sources_for (nur lesend)

    List provenance (source URL, publisher, trust level, field, retrieved_at) for a club.

    Argumente: entity_type (erforderlich), entity_id (erforderlich)

  • request_booking (schreibt — leitet eine Buchungsanfrage an den Club weiter)

    Send a booking request to a club whose card says booking.requests_enabled is true. golfdata only forwards the request to the club (by email or a WhatsApp link); it does not confirm the booking. Returns a request id and, for the WhatsApp channel, a tracked link. Only works for enabled clubs; get the golfer's consent before sending their personal data. The golfer's details are forwarded to the club and kept for 24 months, then anonymized; a golfer can ask to erase them sooner via hello@golfdata.online.

    Argumente: club_id (erforderlich), date (erforderlich), time, players (erforderlich), holes, name (erforderlich), email (erforderlich), phone, message, channel

Jedes Tool deklariert ein outputSchema in tools/list; die Ergebnisse kommen als structuredContent plus dasselbe JSON als Text in content[0].text. get_club liefert zusätzlich die vollständige Club-Karte als structuredContent.card (siehe „Die Club-Karte“ weiter unten).

Limits

20 Einheiten pro Minute pro client IP. get_club kostet 4 Einheiten; andere Aufrufe 1. search_clubs akzeptiert limit <= 10 (ein höheres Limit wird mit dem JSON-RPC-Fehler -32011 abgelehnt; mit kleinerem Limit erneut versuchen). Über dem Budget: HTTP 429 mit einem Retry-After-Header.

search_clubs und get_club akzeptieren ein optionales question (die Frage des Golfers, so wie gestellt) und get_club ein optionales topic. Sie werden gespeichert, um Clubs zu zeigen, was Golfer fragen — personenbezogene Daten werden beim Eingang entfernt, der Rohtext nach 30 Tagen gelöscht — und ändern nie die Antwort. Übergeben Sie sie, wenn vorhanden.

Die Ergebnisse von get_club und search_clubs (sowie der Feed je Club und die Club-Seiten) enthalten ein links-Objekt mit getrackten Buchungs-, Website- und Telefon-URLs auf golfdata.online. Geben Sie Nutzern links.*, damit der Club die Nachfrage sieht — Klicks werden pro Club gezählt, ohne IPs. Die rohen Werte booking_url, website und phone bleiben unverändert und zitierbar.

JSON-Feed je Club

https://golfdata.online/api/clubs/{slug} liefert einen Club als JSON: die geprüfte Zeile, die vom Club über sein geprüftes Konto veröffentlichten Fakten und jede Quelle mit URL und Vertrauensstufe. Eine Stunde cachebar, CORS offen, kein Schlüssel.

Dieselbe Club-Seite gibt es auch als Markdown unter https://golfdata.online/{en|es|de}/clubs/{slug}.md — dieselben Fakten und dieselbe Herkunft, für Agenten, die Markdown bevorzugen.

llms.txt und die Discovery-Karte

/llms.txt ist eine Klartext-Karte der Website für Agenten: der MCP-Server, die Einstiegspunkte, die Datenherkunft und die Nutzung. /.well-known/mcp.json ist die maschinenlesbare MCP-Server-Karte mit demselben Endpoint, denselben Tools und Limits. /llms-full.txt ist die erweiterte Fassung: das vollständige llms.txt plus ausführlichere Doku je Tool, das Feed- und Karten-Schema, die Zitierregeln und ein Länder-/Regionen-Index.

schema.org-JSON-LD auf den Club-Seiten

Jede Club-Seite trägt einen schema.org-JSON-LD-Block: eine WebPage (mit dateModified = last_verified), deren mainEntity ein GolfCourse ist — Löcher, Par, Öffnungszeiten, Besucherregeln, Greenfee als Angebot, Buchungsaktion, Sprachen. Aufgenommen werden nur geprüfte, nicht-leere Fakten.

Die Club-Karte

Jeder Club hat ein kanonisches Objekt card_version: "1.2": Identität, Lage, Kontakt, Platz, Spiel (Greenfees mit Basis), Buchung (Kanäle, Anbieter, Vorlaufzeit, Stornierung, erwartete Antwort), Öffnungszeiten, Einrichtungen, Status, Herkunft je Feld und Lizenz. Holen Sie sie über get_club (structuredContent.card) oder den Feed (card); das JSON-LD der Seite oben ist eine Projektion davon. JSON Schema: /schema/card-v1.json.

  • Die provenance jedes Feldes nennt, wer es bestätigt hat (verified_by: Verzeichnis, Club oder Agentur) und wie (origin).
  • status.claimed = ein geprüftes Konto hat den Club beansprucht (wer ihn beansprucht, wird nie offengelegt); verified_by_club = der Club hat diese Felder veröffentlicht. Beide sind unabhängig.
  • Fehlend ≠ falsch: unbekannte Fakten sind null. currency ist immer vorhanden, wenn ein Betrag vorliegt. expected_response ist die Aussage des Clubs; requests_enabled ist false.

golfdata zitieren

  • Wenn Sie eine Angabe wiedergeben, zitieren Sie ihre Quellen-URLs und das last_verified-Datum. Suchergebnisse sind Hinweise, keine zitierbaren Fakten: holen Sie zuerst die Herkunft mit get_club oder list_sources_for.
  • Felder, bei denen die Quellen uneinig sind, bleiben leer („Nicht geprüft“), statt geraten zu werden.
  • Kartendaten © OpenStreetMap-Mitwirkende; laden Sie keine Kartenkacheln automatisiert herunter.

Über die Daten und die Vertrauensstufen