# === 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 — Server-MCP (öffentlich) · Tool-Katalog für KI # Stand: 2026-08-25 # Schwesterdatei WebMCP: https://www.ikeytz.com/llms-mcp-web.txt # Kurz-Landkarte: https://www.ikeytz.com/llms.txt ## Öffentlich — ohne Login Dies ist der **öffentliche** HTTP-MCP-Server von Schlüsseldienst Ludwigsburg **ikeytz**. - **Kein API-Key**, **kein OAuth**, **kein Cookie** für Read/Link-Tools. - Endpoint CORS: `Access-Control-Allow-Origin: *` - Host kanonisch: https://www.ikeytz.com (Apex → www) - Scope: **nur Lesen + Link-Helfer** (tel/wa/mailto). **Kein** Formular-Submit, **kein** `/api/*`, **kein** Buchen/Schreiben. - Inhalt = dieselbe öffentliche Website-SSOT wie HTML / llms / ai-pages. - Policy: ai-input ja (mit Attribution) · **ai-train: no** · Attribution: Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) ## Discovery (öffentlich) - Server Card: https://www.ikeytz.com/.well-known/mcp/server-card.json - Server Cards Registry: https://www.ikeytz.com/.well-known/mcp/server-cards.json - Well-Known Pointer: https://www.ikeytz.com/.well-known/mcp.json - **Endpoint:** https://www.ikeytz.com/mcp - Register-Tools: 42 (öffentlich Read/Link) - **DNS-AID** (Zone Apex `ikeytz.com`, zusätzlich zu HTTP): - `_index._agents.ikeytz.com` HTTPS → `www.ikeytz.com.` alpn=h3,h2 port=443 - `_mcp._agents.ikeytz.com` HTTPS → `www.ikeytz.com.` alpn=h3,h2 port=443 mandatory=alpn,port - Kein `_a2a._agents` (kein A2A). Nach DNS: Card + Endpoint oben nutzen. - Spec: https://specification.website/spec/agent-readiness/dns-aid/ - **MCP Registry** (offizieller Katalog, ≠ DNS-AID): - Name: `com.ikeytz/website` · Remote: https://www.ikeytz.com/mcp - Suche: https://registry.modelcontextprotocol.io/v0.1/servers?search=com.ikeytz/website - Ownership-TXT Apex: `ikeytz.com` → `v=MCPv1; k=ed25519; p=…` - **ARD / AI Catalog:** https://www.ikeytz.com/.well-known/ai-catalog.json (Capability-Manifest; Alias `/ai-catalog.json`; `get_discovery(which=ai-catalog)`) ## Abruf — wie KI den Server nutzt 1. Optional: per DNS-AID Apex finden **oder** Registry `com.ikeytz/website` suchen, dann Card lesen (GET JSON oben). 2. `initialize` (JSON-RPC) gegen POST `https://www.ikeytz.com/mcp` mit Header: - `Content-Type: application/json` - `Accept: application/json, text/event-stream` - `MCP-Protocol-Version: 2025-11-25` (oder vom Server ausgehandelt) 3. `tools/list` → alle Tool-Namen + Schemas (42). 4. `tools/call` mit `name` + `arguments`. Beispiel tools/list: ```http POST /mcp HTTP/1.1 Host: www.ikeytz.com Content-Type: application/json Accept: application/json, text/event-stream MCP-Protocol-Version: 2025-11-25 {"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}} ``` Beispiel tools/call (Festpreise): ```http POST /mcp HTTP/1.1 Host: www.ikeytz.com Content-Type: application/json Accept: application/json, text/event-stream {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_prices","arguments":{"locale":"de"}}} ``` curl-Skizze: ```bash curl -sS -X POST 'https://www.ikeytz.com/mcp' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -H 'MCP-Protocol-Version: 2025-11-25' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' ``` Antworten können JSON oder SSE (`text/event-stream`) sein — beides ist öffentlich lesbar. ## Dieser Katalog als MCP-Tool (beide Server) Dieselbe Datei ist auch per Tool abrufbar — **in Server-MCP und WebMCP**: | Tool | Wirkung | |------|---------| | `get_llms_mcp_server` | Holt `/llms-mcp-server.txt` (dieser Katalog) | | `get_llms_mcp_web` | Holt `/llms-mcp-web.txt` (WebMCP-Schwester) | | `get_discovery` | `which=llms-mcp-server` bzw. `llms-mcp-web` (gleicher Inhalt) | WebMCP: Bootstrap (`/webmcp.js`) + volle Hydration (`WebMcpTools.js`). Server: `POST /mcp` → `tools/call`. ## Was OUT ist (bewusst) - Kontakt-/Partner-**Formulare** absenden - DevSecOps / interne APIs - Fremde Subdomains als Tool-Ziel - Training auf unseren Corpus (ai-train: no) - OAuth / A2A Level-3-Extras (nicht Teil dieses öffentlichen Read-MCP) ## Alle Tools (42) — Funktion & Parameter ### 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: — ## Verwandte öffentliche Dateien - https://www.ikeytz.com/llms-mcp-web.txt — WebMCP (Browser) Katalog - https://www.ikeytz.com/llms.txt — Kurz-Landkarte - https://www.ikeytz.com/llms-full.txt — DE-Digest - https://www.ikeytz.com/llms-urheberrecht.txt — Rechte (DE verbindlich) - https://www.ikeytz.com/.well-known/ai.txt — Policy - https://www.ikeytz.com/urheberrecht — HTML ## Attribution (bei Antworten) Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com)