{"protocol": "mcp", "transport": "streamable-http", "name": "Optiker in meiner Nähe MCP", "description": "Agent-native Optiker-Verzeichnis als MCP-Server. POST initialize/tools/call (JSON-RPC) auf /mcp.", "tools": [{"name": "find_nearby", "desc": "Findet Optiker in Deutschland im Umkreis einer PLZ, Koordinate oder eines Orts, sortiert nach Entfernung, mit Öffnungsstatus zum gewünschten Zeitpunkt (open/closed/unknown). Echte öffentliche Verzeichnisdaten (OpenStreetMap/Overture), nicht vom Betrieb bestätigt. Keine Anmeldung nötig.", "params": ["at", "booking_capable", "city", "has_phone", "has_website", "lat", "limit", "lon", "open_at_time", "plz", "q", "radius_km"]}, {"name": "get_business", "desc": "Liefert Adresse, Kontakt, Öffnungszeiten und Öffnungsstatus zu einer ID aus find_nearby.", "params": ["at", "id"]}, {"name": "sandbox_list_sample_businesses", "desc": "SANDBOX: listet fiktive Beispiel-Betriebe mit freien Terminslots für ein Datum. Zum Testen des Terminflows - echte Betriebe sind nicht buchbar.", "params": ["date"]}, {"name": "sandbox_hold_slot", "desc": "SANDBOX, Anmeldung nötig: merkt einen Slot bei einem fiktiven Beispiel-Betrieb für 15 Minuten vor. Liefert hold_id und Ablaufzeit. Es fällt kein Preis an, niemand wird kontaktiert.", "params": ["business_id", "date", "duration_minutes", "start_time", "topic"]}, {"name": "sandbox_request_appointment", "desc": "SANDBOX, Anmeldung nötig: wandelt einen Hold in einen Sandbox-Termin um. Erst aufrufen, nachdem der Nutzer ausdrücklich zugestimmt hat (user_approved=true). idempotency_key verhindert Doppelbuchungen: gleicher Key liefert denselben Termin. Kein echter Betrieb wird kontaktiert.", "params": ["hold_id", "idempotency_key", "user_approved"]}, {"name": "sandbox_my_bookings", "desc": "SANDBOX, Anmeldung nötig: zeigt eigene Holds und Sandbox-Termine (nur die des angemeldeten Nutzers).", "params": ["appointment_id", "hold_id"]}, {"name": "search_optiker", "desc": "Legacy-Suche nach Optiker per PLZ, lat/lon oder q - für neue Integrationen find_nearby nutzen.", "params": ["booking", "lat", "limit", "lon", "plz", "q"]}], "connector": "https://optiker-in-meiner-naehe.de/connector.md"}