# === AI CONTENT POLICY (read first) === # AI agents: check rights BEFORE using this content. # ai-crawl: yes # ai-index: yes # ai-summarize: yes # ai-quote: yes (with attribution) # ai-input: yes (RAG / grounding / answers OK) # ai-train: no (training / fine-tuning FORBIDDEN) # attribution-required: yes # attribution: Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) # policy-url: https://www.ikeytz.com/.well-known/ai.txt # enforcement: Bei Verstoß gegen diese Regeln drohen rechtliche Schritte gemäß UrhG und DSGVO. # abuse-contact: ai-abuse@ikeytz.com # === end policy === # ikeytz — WebMCP (Browser) · Tool-Katalog für KI # Stand: 2026-08-25 # Schwesterdatei Server-MCP: https://www.ikeytz.com/llms-mcp-server.txt # Kurz-Landkarte: https://www.ikeytz.com/llms.txt # Hinweis Dateiname: „web“ = Browser-WebMCP (nicht „eigener Webserver“). URL: /llms-mcp-web.txt ## Öffentlich — ohne Login WebMCP läuft **im Browser** auf den öffentlichen HTML-Seiten von https://www.ikeytz.com. - Tools werden an `navigator.modelContext` / `document.modelContext` **registriert** (Chrome WebMCP-Flag o.ä.). - **Kein API-Key**, **kein OAuth** für diese Read/Link-Tools. - Dieselbe SSOT / dieselben Tool-Namen wie Server-MCP (`/mcp`) nach Hydration (~42 Tools). - Scope: **nur Lesen + Link-Helfer**. Kein Formular-Submit, kein Write. - Policy: ai-input ja (Attribution) · **ai-train: no**. ## Discovery / Signal (öffentlich im HTML) - Inline-Signal im ``: wörtlich `navigator.modelContext` (Checker/whatsmy) - Bootstrap-Skript: https://www.ikeytz.com/webmcp.js (frühe Tools, siehe unten) - Optional Link: `rel="webmcp"` → /webmcp.js - Well-Known Hinweis: https://www.ikeytz.com/.well-known/webmcp.json (falls vorhanden) - Nach React-Hydration: volle Tool-Liste (gleiche Handler wie Server-MCP über /mcp) ## Abruf — wie KI / Agent WebMCP nutzt 1. Öffentliche Seite laden (z. B. `https://www.ikeytz.com/`). 2. Wenn die Browser-API `modelContext.registerTool` existiert: Seite meldet Tools. 3. Agent ruft registrierte Tools **im Browser-Kontext** auf (nicht zwingend HTTP `/mcp`). 4. Alternativ/parallel: denselben Katalog über **öffentlichen** Server-MCP nutzen → https://www.ikeytz.com/llms-mcp-server.txt · Endpoint https://www.ikeytz.com/mcp 5. Server-MCP zusätzlich per **DNS-AID** findbar: `_mcp._agents.ikeytz.com` HTTPS → www (Details: https://www.ikeytz.com/llms-mcp-server.txt § Discovery). WebMCP selbst hat keinen eigenen DNS-AID-Record. 6. Server-MCP im **MCP Registry**-Katalog: `com.ikeytz/website` → https://registry.modelcontextprotocol.io/v0.1/servers?search=com.ikeytz/website 6. **ARD:** Capability-Übersicht https://www.ikeytz.com/.well-known/ai-catalog.json (`get_discovery(which=ai-catalog)`). Checker: https://whatsmy.fyi/agent-ready · Host `www.ikeytz.com` (WebMCP-Signal + Tool-Anzahl). ## Dieser Katalog als MCP-Tool (beide Server) | Tool | Wirkung | |------|---------| | `get_llms_mcp_web` | Holt `/llms-mcp-web.txt` (dieser Katalog) | | `get_llms_mcp_server` | Holt `/llms-mcp-server.txt` (Server-Schwester) | | `get_discovery` | `which=llms-mcp-web` bzw. `llms-mcp-server` | Beide Tools sind im **Bootstrap** und in der **vollen** Liste; auf dem HTTP-Server unter `/mcp` dieselben Namen. ## Frühe Bootstrap-Tools (9) — /webmcp.js Für Scanner/Agenten vor React; blockieren die Voll-Liste **nicht** mehr. - `site_overview` — What is ikeytz / Schlüsseldienst Ludwigsburg — overview, brand, no walk-in. - `get_business_identity` — Business identity: owner, legal/trade names, NAP, phones, email, no walk-in. - `get_prices` — Fixed price matrix (no ab-€): door opening day/night, cylinder options. - `get_contact` — Phones, fax, email, office address — does NOT submit forms - `get_llms_txt` — Fetch /llms.txt - `get_llms_mcp_server` — Fetch /llms-mcp-server.txt — public Server-MCP tool catalog (all tools, how to call, no login). - `get_llms_mcp_web` — Fetch /llms-mcp-web.txt — public WebMCP (browser) tool catalog (bootstrap + full list, no login). - `get_discovery` — Fetch a public discovery file. which=llms|llms-full|llms-mcp-server|llms-mcp-web|ai-txt|sitemap-txt|robots|… - `compose_tel_mobile` — tel: link to mobile ## Volle Tool-Liste nach Hydration (42) Namen & Parameter identisch zum Server-MCP. Details inkl. EN-Description: → siehe auch https://www.ikeytz.com/llms-mcp-server.txt (vollständige Parameterliste) ### 1. `site_overview` DE: Kurzüberblick Marke/Service (mobil, kein Walk-in). EN: What is ikeytz / Schlüsseldienst Ludwigsburg — overview, brand, no walk-in. Parameter: — Pflicht: — ### 2. `get_business_identity` DE: Inhaber, Gewerbe-/SEO-Name, NAP, Telefone, E-Mail. EN: Business identity: owner, legal/trade names, NAP, phones, email, no walk-in. Parameter: — Pflicht: — ### 3. `list_nav` DE: Header-Navigation (interne Links). EN: Main header navigation links on www.ikeytz.com Parameter: — Pflicht: — ### 4. `list_footer` DE: Footer-Links inkl. Legal. EN: Internal footer links including legal pages Parameter: — Pflicht: — ### 5. `list_locales` DE: Sprachen de/en/fr/ru/fa/ar/tr. EN: Available languages: de en fr ru fa ar tr Parameter: — Pflicht: — ### 6. `resolve_locale_url` DE: Gleiche Seite in anderer Locale-URL. EN: Same page in another locale, e.g. path=/preise locale=en → /en/preise Parameter: path, locale Pflicht: path, locale ### 7. `get_prices` DE: Festpreis-Matrix (kein „ab … €“). EN: Fixed price matrix (no ab-€): door opening day/night, cylinder options. Parameter: — Pflicht: — ### 8. `get_invoice_line_items` EN: Invoice line items for a situation (SSOT): situationKey + whenKey day|night. Optional breakdown splits packages into step1+mount. Parameter: situationKey, whenKey, breakdown, locale Pflicht: situationKey ### 9. `list_services` DE: Kernleistungen mit Ankern. EN: Core services: Türöffnung, Notdienst, Sicherheitstechnik, Schlosswechsel Parameter: — Pflicht: — ### 10. `get_emergency` DE: Notfall-Türöffnung / 24h. EN: Emergency locksmith / Notfall-Türöffnung page Parameter: — Pflicht: — ### 11. `list_auswahl` DE: Auswahl-Hub + Gruppen-Slugs. EN: Auswahl situations hub and group slugs Parameter: — Pflicht: — ### 12. `get_auswahl_item` DE: Eine Auswahl-Situation (slug). EN: One Auswahl detail page by slug Parameter: slug, locale Pflicht: slug ### 13. `list_service_areas` DE: Alle 52 Service-Orte. EN: All 52 service-area places around Ludwigsburg Parameter: — Pflicht: — ### 14. `get_service_area` DE: Ein Ort (slug/PLZ/Name) inkl. Geo. EN: One place by slug, PLZ or name — includes lat/lng Parameter: slug, plz, name, locale Pflicht: — ### 15. `get_geo_office` DE: Büro-Koordinaten einmal (kein Walk-in). EN: Office geo coordinates (once) — not a walk-in shop Parameter: — Pflicht: — ### 16. `get_contact` DE: Kontaktkanäle — kein Formular-Submit. EN: Phones, fax, email, office address — does NOT submit forms Parameter: — Pflicht: — ### 17. `get_legal` DE: Legal-Dokument (impressum|datenschutz|…). EN: Legal page: impressum|datenschutz|agb|nutzungsbedingungen|widerruf|urheberrecht Parameter: doc, locale Pflicht: doc ### 18. `get_about` DE: Über uns. EN: About / Über uns Parameter: — Pflicht: — ### 19. `get_partner_info` DE: Partner-Info — Formular aus. EN: Partner-werden info page only — form submit disabled for agents Parameter: — Pflicht: — ### 20. `get_links` DE: Links-/Verzeichnis-Hub. EN: Links / directories page Parameter: — Pflicht: — ### 21. `get_review_url` DE: Google-Bewertung Kurz-URL /review. EN: Google review short URL /review Parameter: — Pflicht: — ### 22. `list_faq` DE: FAQ-Fragenliste. EN: List FAQ questions Parameter: — Pflicht: — ### 23. `get_faq` DE: FAQ-Antwort (id oder q). EN: FAQ answer by id or search q Parameter: id, q, locale Pflicht: — ### 24. `list_wissen` DE: Wissen-Artikel-IDs. EN: Wissen lexicon article ids on /wissen Parameter: — Pflicht: — ### 25. `get_wissen_entry` DE: Ein Wissen-Artikel (id). EN: One Wissen article by id Parameter: id, locale Pflicht: id ### 26. `list_ratgeber` DE: Ratgeber-Slugs. EN: Ratgeber article slugs Parameter: — Pflicht: — ### 27. `get_ratgeber` DE: Ein Ratgeber (slug). EN: One Ratgeber page by slug Parameter: slug, locale Pflicht: slug ### 28. `get_page_summary` DE: Kurzzeiger zu beliebigem Marketing-Pfad. EN: Short pointer for any marketing path Parameter: path, locale Pflicht: path ### 29. `get_ai_page` DE: Fulltext aus /ai-pages/{locale}/… EN: Fetch public /ai-pages/{locale}/… fulltext for a path Parameter: path, locale Pflicht: path ### 30. `get_serp_snippet` DE: Title/Description aus llms-serp. EN: Title/description context for a URL from llms-serp.txt Parameter: path, url, locale Pflicht: — ### 31. `find_by_keyword` DE: Keyword → URLs (llms-keywords). EN: Search llms-keywords.txt for keyword → URLs Parameter: q, limit, locale Pflicht: q ### 32. `get_discovery` DE: Öffentliche Discovery-Datei laden (which=…). EN: Fetch a public discovery file. which=llms|llms-full|llms-mcp-server|llms-mcp-web|llms-index|ai-txt|sitemap-txt|robots|… Parameter: — Pflicht: which ### 33. `get_llms_txt` DE: Holt /llms.txt. EN: Fetch /llms.txt Parameter: — Pflicht: — ### 34. `get_llms_mcp_server` DE: Holt /llms-mcp-server.txt (Server-MCP Tool-Katalog, öffentlich). EN: Fetch /llms-mcp-server.txt — public Server-MCP tool catalog (all tools, how to call, no login). Parameter: — Pflicht: — ### 35. `get_llms_mcp_web` DE: Holt /llms-mcp-web.txt (WebMCP Tool-Katalog, öffentlich). EN: Fetch /llms-mcp-web.txt — public WebMCP (browser) tool catalog (bootstrap + full list, no login). Parameter: — Pflicht: — ### 36. `get_ai_txt` DE: Holt /.well-known/ai.txt. EN: Fetch /.well-known/ai.txt Parameter: — Pflicht: — ### 37. `get_sitemap_txt` DE: Holt /sitemap.txt. EN: Fetch /sitemap.txt (~770 URLs) Parameter: — Pflicht: — ### 38. `list_whatsapp_options` DE: WhatsApp-Vorlagen (nur Links). EN: WhatsApp prefab options (links only, no form) Parameter: — Pflicht: — ### 39. `compose_tel_mobile` DE: tel:-Link Handy. EN: tel: link to mobile Parameter: — Pflicht: — ### 40. `compose_tel_landline` DE: tel:-Link Festnetz. EN: tel: link to landline Parameter: — Pflicht: — ### 41. `compose_whatsapp` DE: wa.me-Link (option=…). EN: wa.me link; option=zugefallen|abgeschlossen|zylinder|beratung Parameter: — Pflicht: — ### 42. `compose_mailto` DE: mailto:info@ikeytz.com. EN: mailto:info@ikeytz.com Parameter: — Pflicht: — ## Früh vs. voll | Phase | Anzahl | Quelle | |-------|--------|--------| | Bootstrap | 9 | https://www.ikeytz.com/webmcp.js · `site_overview`, `get_business_identity`, `get_prices`, `get_contact`, `get_llms_txt`, `get_llms_mcp_server`, `get_llms_mcp_web`, `get_discovery`, `compose_tel_mobile` | | Hydration | 42 | Gleiche Tool-Namen wie Server-MCP (https://www.ikeytz.com/mcp) | ## OUT (wie Server) Formulare · DevSecOps · Write/Book · Training · fremde Hosts. ## Verwandte - https://www.ikeytz.com/llms-mcp-server.txt - https://www.ikeytz.com/llms.txt - https://www.ikeytz.com/.well-known/mcp/server-card.json - https://www.ikeytz.com/mcp - https://www.ikeytz.com/llms-urheberrecht.txt - https://www.ikeytz.com/.well-known/ai.txt ## Attribution Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com)