Skip to content

ikeytz Einsatzgebiet-Karten

by ikeytz.com · remote · local (npm) · no sign-in to list tools · v1.0.18 · published by com.ikeytz

Read/Link MCP for maps.ikeytz.com. Public read-only. ai-train=no.

Changes · 6

68 tools: 6 change things and 62 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http maps https://maps.ikeytz.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

68 tools

Changes things 6Claude Code: ask
  • compose_mailtoWHAT: Returns mailto:info@ikeytz.com and mapsEmail info@maps.ikeytz.com (mapsHref).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    WHAT: Returns mailto:info@ikeytz.com and mapsEmail info@maps.ikeytz.com (mapsHref). Call with {}. USE for email CTAs. Prefer compose_whatsapp or compose_tel_mobile when the user wants chat or a phone call instead. DOES NOT send mail.

    Annotations the server declares

    • title: Compose Mailto
    • readOnlyHint: true
  • compose_tel_landlineWHAT: tel: href for the public landline.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    WHAT: tel: href for the public landline. Call with {}. RETURNS href + display. USE as secondary call CTA. NEXT: compose_tel_mobile.

    Annotations the server declares

    • title: Compose Tel Landline
    • readOnlyHint: true
  • compose_tel_mobileWHAT: tel: href for the public mobile number.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    WHAT: tel: href for the public mobile number. Call with {}. RETURNS href + display. USE as the primary call CTA. DOES NOT place the call. NEXT: compose_tel_landline, list_whatsapp_options.

    Annotations the server declares

    • title: Compose Tel Mobile
    • readOnlyHint: true
  • compose_whatsappWHAT: wa.me link with prefab.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    WHAT: wa.me link with prefab. option = one of 12 www contactOption ids (opening_slam_day … cylinder_only_night, cylinder_mount, beratung). Deprecated aliases zugefallen|abgeschlossen|zylinder map to *day* and set ambiguous=true — prefer explicit day/night ids. Omit → bare wa.me. Unknown → ok:false unknown_option + hint ids. Link only — no form. USE to open WhatsApp with a prefab. NEXT: compose_mailto, get_contact.

    Annotations the server declares

    • title: Compose Whatsapp
    • readOnlyHint: true
  • distance_to_officeWHAT: Air distance (km) from a Gebiet (slug|plz|name) or lat/lng/icbm to the Gewerbesitz.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    WHAT: Air distance (km) from a Gebiet (slug|plz|name) or lat/lng/icbm to the Gewerbesitz. walkIn=false. RETURNS from, office, distance_km. USE for rough proximity — not driving time. DOES NOT route via OSRM. NEXT: get_geo_office, find_by_geo.

    Annotations the server declares

    • title: Distance To Office
    • readOnlyHint: true
  • site_overviewWHO/WHAT: What maps.ikeytz.com is — 52 Einsatzgebiet maps for Schlüsseldienst Ludwigsburg ikeytz, not the www price site.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    WHO/WHAT: What maps.ikeytz.com is — 52 Einsatzgebiet maps for Schlüsseldienst Ludwigsburg ikeytz, not the www price site. RETURNS brand, owner, count, mcp, registry, walkIn=false, sister www MCP note. USE as the maps brand card. DOES NOT quote euro. NEXT: get_business_identity, list_service_areas, get_links.

    Annotations the server declares

    • title: Site Overview
    • readOnlyHint: true
Only reads 62Claude Code: allow
  • find_by_areaWHAT: Multi-match Einsatzgebiete by q, name, or slug (substring, umlauts ok).No findings

    Why it is in this group

    • The name "find_by_area" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Multi-match Einsatzgebiete by q, name, or slug (substring, umlauts ok). RETURNS all matching point cards. Same match rules as find_by_gebiet — prefer this name when the agent thinks in 'area' wording. USE for fuzzy place names. DOES NOT require an exact slug. Prefer find_by_plz for postcode-only queries. NEXT: get_service_area, get_embed_map.

    Annotations the server declares

    • title: Find By Area
    • readOnlyHint: true
  • find_by_gebietWHAT: Multi-match Gebiete by q, name, or slug (substring, umlauts ok).No findings

    Why it is in this group

    • The name "find_by_gebiet" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Multi-match Gebiete by q, name, or slug (substring, umlauts ok). RETURNS all matching point cards. USE for fuzzy place names. DOES NOT require exact slug. NEXT: get_service_area for one, or get_grenze.

    Annotations the server declares

    • title: Find By Gebiet
    • readOnlyHint: true
  • find_by_geoWHAT: Rank Einsatzgebiete by lat/lng (or icbm).No findings

    Why it is in this group

    • The name "find_by_geo" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Rank Einsatzgebiete by lat/lng (or icbm). Optional radius_km; else nearest N (limit, default 5). (0,0) and far points → ok=false outside_service_area. RETURNS items with distance_km. USE for 'near this coordinate'. DOES NOT route or drive-time. NEXT: get_service_area, get_grenze, distance_to_office.

    Annotations the server declares

    • title: Find By Geo
    • readOnlyHint: true
  • find_by_google_mapsWHAT: Paste Google Maps / ICBM coordinates (q or icbm or lat/lng) → nearest ikeytz Gebiete (same ranking as find_by_geo).No findings

    Why it is in this group

    • The name "find_by_google_maps" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Paste Google Maps / ICBM coordinates (q or icbm or lat/lng) → nearest ikeytz Gebiete (same ranking as find_by_geo). (0,0) → outside_service_area. USE when the user pastes a Maps pin. NEXT: get_service_area, get_embed_map.

    Annotations the server declares

    • title: Find By Google Maps
    • readOnlyHint: true
  • find_by_icbmWHAT: Rank Einsatzgebiete by an ICBM 'lat, lng' string (optional lat/lng, radius_km, limit).No findings

    Why it is in this group

    • The name "find_by_icbm" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Rank Einsatzgebiete by an ICBM 'lat, lng' string (optional lat/lng, radius_km, limit). RETURNS items with distance_km. USE when the user pastes ICBM metadata. Prefer find_by_geo instead for plain lat/lng without an ICBM string. (0,0) and far points → ok=false outside_service_area. DOES NOT route or drive-time. NEXT: get_service_area, get_embed_map, get_grenze.

    Annotations the server declares

    • title: Find By Icbm
    • readOnlyHint: true
  • find_by_keywordWHAT: Search maps llms-keywords.txt (keyword → maps URL).No findings

    Why it is in this group

    • The name "find_by_keyword" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Search maps llms-keywords.txt (keyword → maps URL). q required. RETURNS matching keyword/url rows (clamped limit). USE for SEO/keyword → Gebiet page. DOES NOT search www keywords. NEXT: get_service_area / get_embed_map with the slug from the URL.

    Annotations the server declares

    • title: Find By Keyword
    • readOnlyHint: true
  • find_by_plzWHAT: All Einsatzgebiete with this PLZ (not only the first).No findings

    Why it is in this group

    • The name "find_by_plz" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: All Einsatzgebiete with this PLZ (not only the first). plz required (or q as PLZ). RETURNS items[] point cards + count. USE when several Stadtteile share a postcode. NEXT: get_service_area(slug) for one card.

    Annotations the server declares

    • title: Find By Plz
    • readOnlyHint: true
  • find_by_serpWHAT: Search maps llms-serp.txt blocks by q, path, url, or slug.No findings

    Why it is in this group

    • The name "find_by_serp" says "find": a word for reading.
    Description, as the server wrote it
    WHAT: Search maps llms-serp.txt blocks by q, path, url, or slug. RETURNS path/url/snippet items. DOCS/API: https://maps.ikeytz.com/llms-serp.txt (source catalog). USE for title/H1/description SERP cards on maps. DOES NOT scrape live HTML. NEXT: get_serp_snippet for one full block.

    Annotations the server declares

    • title: Find By Serp
    • readOnlyHint: true
  • get_aboutWHAT: About maps.ikeytz.com (same core card as site_overview — 52 maps, not www Über-uns corpus).No findings

    Why it is in this group

    • The name "get_about" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: About maps.ikeytz.com (same core card as site_overview — 52 maps, not www Über-uns corpus). USE for 'what is this host'. DOES NOT return www about body. NEXT: site_overview, get_links, get_business_identity.

    Annotations the server declares

    • title: Get About
    • readOnlyHint: true
  • get_agbWHAT: Returns only a URL to www.ikeytz.com/agb — not AGB clause text.No findings

    Why it is in this group

    • The name "get_agb" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www.ikeytz.com/agb — not AGB clause text. USE when the user asks for AGB while on maps and you only need the link. Prefer www MCP get_legal(doc=agb) or www get_agb when you need the legal corpus. DOES NOT invent legal clauses.

    Annotations the server declares

    • title: Get Agb
    • readOnlyHint: true
  • get_ai_pageWHAT: Reads maps /ai-pages/de/{slug}.txt when the path is a maps Gebiet/ai-page; otherwise returns a www HTML hand-off for non-maps paths.No findings

    Why it is in this group

    • The name "get_ai_page" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Reads maps /ai-pages/de/{slug}.txt when the path is a maps Gebiet/ai-page; otherwise returns a www HTML hand-off for non-maps paths. path or slug. DOCS/API: https://maps.ikeytz.com/ai-pages/de/{slug}.txt (plain text corpus) and https://maps.ikeytz.com/{slug} (HTML). USE for agent-ready maps Gebiet prose — not for site-wide crawl policy (that is get_ai_txt). DOES NOT invent page bodies. NEXT: get_service_area, get_lage, get_ai_txt.

    Annotations the server declares

    • title: Get Ai Page
    • readOnlyHint: true
  • get_ai_txtWHAT: Alias get_discovery(which=ai-txt) — maps /.well-known/ai.txt 1:1.No findings

    Why it is in this group

    • The name "get_ai_txt" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Alias get_discovery(which=ai-txt) — maps /.well-known/ai.txt 1:1. USE for crawl/train policy (ai-train=no). NEXT: get_llms_txt.

    Annotations the server declares

    • title: Get Ai Txt
    • readOnlyHint: true
  • get_auswahl_itemWHAT: Returns only a URL to www /auswahl/{slug} — not the Auswahl article body.No findings

    Why it is in this group

    • The name "get_auswahl_item" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www /auswahl/{slug} — not the Auswahl article body. slug required. USE when the user names a specific Auswahl slug on maps. Prefer list_auswahl for the hub link; prefer www MCP get_auswahl_item({slug}) when you need the full article. DOES NOT return article text.

    Annotations the server declares

    • title: Get Auswahl Item
    • readOnlyHint: true
  • get_business_identityWHAT: Returns Inhaber, brand, legalName, hours, NAP, and office coords for LocalBusiness / impressum-grade facts on maps.No findings

    Why it is in this group

    • The name "get_business_identity" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns Inhaber, brand, legalName, hours, NAP, and office coords for LocalBusiness / impressum-grade facts on maps. Call with {} or locale=de. walkIn=false — mobile locksmith only. USE when you need the identity card (who owns the business, hours, legal name). Prefer get_contact for phone/email/WhatsApp CTAs; prefer get_geo_office for the /buero pin and embed; prefer get_impressum for the full imprint text file. DOES NOT update records or accept walk-in bookings.

    Annotations the server declares

    • title: Get Business Identity
    • readOnlyHint: true
  • get_contactWHAT: Public NAP — mobile, landline, fax, email, mapsEmail (info@maps.ikeytz.com), WhatsApp, address, office coords.No findings

    Why it is in this group

    • The name "get_contact" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Public NAP — mobile, landline, fax, email, mapsEmail (info@maps.ikeytz.com), WhatsApp, address, office coords. walkIn=false. USE for call/WhatsApp/mail CTAs. DOES NOT open tickets or send messages. NEXT: compose_tel_mobile, compose_whatsapp, compose_mailto, list_whatsapp_options.

    Annotations the server declares

    • title: Get Contact
    • readOnlyHint: true
  • get_datenschutzWHAT: Returns only a URL to www Datenschutz — not the privacy-policy body.No findings

    Why it is in this group

    • The name "get_datenschutz" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www Datenschutz — not the privacy-policy body. USE when the user asks for Datenschutz while on maps and you only need the link. Prefer www MCP get_datenschutz or get_legal for the corpus. DOES NOT invent privacy clauses.

    Annotations the server declares

    • title: Get Datenschutz
    • readOnlyHint: true
  • get_discoveryWHAT: 1:1 mirror of a maps discovery file (UTF-8 text/JSON).No findings

    Why it is in this group

    • The name "get_discovery" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: 1:1 mirror of a maps discovery file (UTF-8 text/JSON). summary ≡ line window + trailing # MCP-META (truncated, totalUrls, nextOffset) — not a one-line stub. which is required — common ids: ard, ai-catalog, ai-txt, ai-plugin, answer-engine, agent-skills, llms, llms-full, llms-index, llms-keywords, llms-serp, llms-jsonld, llms-navigation, llms-impressum-kontakt, llms-orte-geo, llms-grenzen-koordinaten, llms-urheberrecht, llms-copyright, llms-mcp-server, llms-mcp-web, robots, sitemap-txt, sitemap-xml. Omit limit: if remaining >~30KB → first ~30KB window + nextOffset (O9); explicit limit keeps line window 1..10000 (not forced to 30KB). USE for agent-ready catalogs and robots/sitemap. DOES NOT invent missing files (missing=true). NEXT: find_by_keyword / find_by_serp for structured search; get_llms_txt / get_ai_txt aliases.

    Annotations the server declares

    • title: Get Discovery
    • readOnlyHint: true
  • get_embed_mapWHAT: Canonical map page URL https://maps.ikeytz.com/{slug} for iframe/src and Visitenkarte.No findings

    Why it is in this group

    • The name "get_embed_map" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Canonical map page URL https://maps.ikeytz.com/{slug} for iframe/src and Visitenkarte. Lookup slug|plz|name. RETURNS area card + maps_nav + neighbors (MAPS-IL1/IL2) + canonicalUrl. USE for embedding or linking a Gebiet map. NEXT: get_geo_api, get_grenze, get_lage, get_service_area.

    Annotations the server declares

    • title: Get Embed Map
    • readOnlyHint: true
  • get_emergencyWHAT: Returns only a URL to the www Notfall-Türöffnung page — not a dispatch.No findings

    Why it is in this group

    • The name "get_emergency" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to the www Notfall-Türöffnung page — not a dispatch. USE for emergency lockout context on maps when you only need the link. Prefer maps get_contact or compose_tel_mobile for phone CTAs here; prefer www MCP get_emergency for the full Notfall body. Optional locale selects the www URL language only. DOES NOT dispatch technicians or claim a van was sent.

    Annotations the server declares

    • title: Get Emergency
    • readOnlyHint: true
  • get_faqReturns only a maps HTML hand-off to www /faq (optional id/q are for www symmetry, not answered here).No findings

    Why it is in this group

    • The name "get_faq" says "get": a word for reading.
    Description, as the server wrote it
    Returns only a maps HTML hand-off to www /faq (optional id/q are for www symmetry, not answered here). Does not return the FAQ answer body. USE when the user asks one FAQ while on maps; use list_faq for the hub. Prefer www MCP get_faq({id}|{q}) for the real answer. NEXT: www get_faq.

    Annotations the server declares

    • title: Get Faq
    • readOnlyHint: true
  • get_geo_apiWHAT: Public Geo-API URL pointers for one Einsatzgebiet.No findings

    Why it is in this group

    • The name "get_geo_api" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Public Geo-API URL pointers for one Einsatzgebiet. Ort JSON: https://maps.ikeytz.com/api/v1/embed/ort/{slug}. Grenze GeoJSON: …/grenze. Punkt GeoJSON: …/punkt. Sammel: /api/v1/embed/orte · /orte/grenzen · /orte/punkte. Lookup slug|plz|name. RETURNS geo_api, grenze_api, punkt_api, Sammel URLs + area card; MCP payload is not the polygon. USE to fetch/open public JSON/GeoJSON. NEXT: get_grenze for polygon inside MCP, or GET grenze_api / punkt_api.

    Annotations the server declares

    • title: Get Geo Api
    • readOnlyHint: true
  • get_geo_officeWHO/WHAT: Gewerbesitz (registered office) pin on maps.ikeytz.com/buero.No findings

    Why it is in this group

    • The name "get_geo_office" says "get": a word for reading.
    Description, as the server wrote it
    WHO/WHAT: Gewerbesitz (registered office) pin on maps.ikeytz.com/buero. walkIn=false always — mobile locksmith, not a shop counter. RETURNS street, postal, city, lat, lng, google_maps/icbm (same 'lat, lng' string), embed_map, geo_api (/api/v1/embed/office), note, walkIn, and einsatzgebiete (the same 52 name/slug/url links as the HTML list on /buero). USE for NAP/schema or Footer iframe. DOES NOT accept walk-in customers or bookings. The office is not a 53rd place. NEXT: get_contact, distance_to_office, get_business_identity, list_service_areas.

    Annotations the server declares

    • title: Get Geo Office
    • readOnlyHint: true
  • get_geschichteWHAT: Geschichte (history) text for one Einsatzgebiet Visitenkarte.No findings

    Why it is in this group

    • The name "get_geschichte" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Geschichte (history) text for one Einsatzgebiet Visitenkarte. Lookup slug|plz|name. RETURNS slug, name, geschichte. USE for place history prose on the map page. NEXT: get_lage, get_ai_page.

    Annotations the server declares

    • title: Get Geschichte
    • readOnlyHint: true
  • get_grenzeWHAT: OSM Gebietspolygon for one Einsatzgebiet as GeoJSON FeatureCollection inside the MCP result.No findings

    Why it is in this group

    • The name "get_grenze" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: OSM Gebietspolygon for one Einsatzgebiet as GeoJSON FeatureCollection inside the MCP result. Same geometry as public GET https://maps.ikeytz.com/api/v1/embed/ort/{slug}/grenze (application/geo+json). Lookup slug|plz|name. RETURNS hasPolygon, polygon, point, osmRelationId/osmWayId, via, grenze_api, punkt_api. USE when the agent needs the boundary geometry. DOES NOT replace get_geo_api (URL pointers) or get_grenze_koordinaten (full embed blob). NEXT: get_grenze_koordinaten, get_lage, get_embed_map.

    Annotations the server declares

    • title: Get Grenze
    • readOnlyHint: true
  • get_grenze_koordinatenWHAT: Full public Ort-Embed JSON for one Einsatzgebiet — same fields as GET https://maps.ikeytz.com/api/v1/embed/ort/{slug} (part=full): phone/NAP, style, point, featureCollection …No findings

    Why it is in this group

    • The name "get_grenze_koordinaten" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Full public Ort-Embed JSON for one Einsatzgebiet — same fields as GET https://maps.ikeytz.com/api/v1/embed/ort/{slug} (part=full): phone/NAP, style, point, featureCollection (Polygon+Punkt), OSM ids, embed paths (ort/grenze/punkt), iframe. Separate GeoJSON also at …/grenze and …/punkt; Sammel /api/v1/embed/orte/grenzen and /orte/punkte. No separate polygon/points keys (L-16). Lookup slug|plz|name. USE when the agent needs coordinates+boundary+NAP in one MCP call. DOES NOT change the HTTP embed API. DOES NOT replace slim get_grenze (polygon-only) or get_geo_api (URL pointers). NEXT: get_grenze, get_contact, get_embed_map.

    Annotations the server declares

    • title: Get Grenze Koordinaten
    • readOnlyHint: true
  • get_hubWHAT: maps hub card https://maps.ikeytz.com/ — title/h1 + 52 Gebiet links (not a single Visitenkarte).No findings

    Why it is in this group

    • The name "get_hub" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: maps hub card https://maps.ikeytz.com/ — title/h1 + 52 Gebiet links (not a single Visitenkarte). Call with {}. USE as the maps landing overview. DOES NOT include www prices. NEXT: get_service_area, list_service_areas.

    Annotations the server declares

    • title: Get Hub
    • readOnlyHint: true
  • get_impressumWHAT: Impressum/Kontakt text from maps /llms-impressum-kontakt.txt.No findings

    Why it is in this group

    • The name "get_impressum" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Impressum/Kontakt text from maps /llms-impressum-kontakt.txt. Optional offset/limit. USE for NAP/legal imprint on maps. NEXT: get_contact, get_business_identity; www /impressum for HTML.

    Annotations the server declares

    • title: Get Impressum
    • readOnlyHint: true
  • get_invoice_line_itemsWHAT: www pointer only — invoice line items are computed on www MCP.No findings

    Why it is in this group

    • The name "get_invoice_line_items" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: www pointer only — invoice line items are computed on www MCP. maps accepts situationKey/whenKey/breakdown for symmetry but returns html link to /preise, not totals. DOES NOT return totalEur. NEXT: @ikeytz/mcp get_invoice_line_items; get_ort_datetime here for Berlin clock/whenKey.

    Annotations the server declares

    • title: Get Invoice Line Items
    • readOnlyHint: true
  • get_lageWHAT: Returns Lage (location description) prose for one Einsatzgebiet Visitenkarte.No findings

    Why it is in this group

    • The name "get_lage" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns Lage (location description) prose for one Einsatzgebiet Visitenkarte. Lookup slug|plz|name. RETURNS slug, name, lage. USE for human-readable geography prose. Prefer get_geschichte for place history; prefer get_service_area for the full point card/embed. DOES NOT return polygons.

    Annotations the server declares

    • title: Get Lage
    • readOnlyHint: true
  • get_llms_mcp_serverWHAT: Alias of get_discovery(which=llms-mcp-server) — machine/catalog text for the maps MCP server.No findings

    Why it is in this group

    • The name "get_llms_mcp_server" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Alias of get_discovery(which=llms-mcp-server) — machine/catalog text for the maps MCP server. Optional offset/limit. USE when an agent needs the server-side llms MCP catalog. NEXT: get_llms_mcp_web, get_links.

    Annotations the server declares

    • title: Get Llms Mcp Server
    • readOnlyHint: true
  • get_llms_mcp_webWHAT: Returns the web/UI-oriented MCP catalog text on maps (alias of get_discovery(which=llms-mcp-web)).No findings

    Why it is in this group

    • The name "get_llms_mcp_web" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns the web/UI-oriented MCP catalog text on maps (alias of get_discovery(which=llms-mcp-web)). Optional offset/limit. USE for browser/agent web discovery copy. Prefer get_llms_mcp_server for the server-side catalog; prefer get_llms_txt for the primary maps index. DOES NOT replace the live /mcp tools/list.

    Annotations the server declares

    • title: Get Llms Mcp Web
    • readOnlyHint: true
  • get_llms_txtWHAT: Alias get_discovery(which=llms) — maps /llms.txt 1:1 with optional offset/limit.No findings

    Why it is in this group

    • The name "get_llms_txt" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Alias get_discovery(which=llms) — maps /llms.txt 1:1 with optional offset/limit. USE as the primary maps machine index. NEXT: get_ai_txt, get_sitemap_txt, get_links.

    Annotations the server declares

    • title: Get Llms Txt
    • readOnlyHint: true
  • get_nutzungsbedingungenReturns only a maps HTML hand-off to www Nutzungsbedingungen.No findings

    Why it is in this group

    • The name "get_nutzungsbedingungen" says "get": a word for reading.
    Description, as the server wrote it
    Returns only a maps HTML hand-off to www Nutzungsbedingungen. Does not return the terms body. USE when the user asks for Nutzungsbedingungen on maps; prefer www MCP for the corpus. DOES NOT invent clauses. NEXT: www get_nutzungsbedingungen / get_legal.

    Annotations the server declares

    • title: Get Nutzungsbedingungen
    • readOnlyHint: true
  • get_ort_datetimeWHAT: Europe/Berlin wall clock to the second (stand YYYY-MM-DD HH:MM:SS CEST|CET) for pricing whenKey context.No findings

    Why it is in this group

    • The name "get_ort_datetime" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Europe/Berlin wall clock to the second (stand YYYY-MM-DD HH:MM:SS CEST|CET) for pricing whenKey context. Optional slug|plz|name like get_service_area; omit = all 52 places with the same clock. RETURNS timezone, stand, iso, unix, date, time, tz, and whenKey day|night for www invoicing. USE before quoting via www get_invoice_line_items. DOES NOT return euro amounts (no price matrix on maps). NEXT: www @ikeytz/mcp get_invoice_line_items({situationKey, whenKey}) or get_prices.

    Annotations the server declares

    • title: Get Ort Datetime
    • readOnlyHint: true
  • get_page_summaryWHAT: Short summary for a maps Gebiet (path/slug → area card) or www pointer for non-maps paths.No findings

    Why it is in this group

    • The name "get_page_summary" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Short summary for a maps Gebiet (path/slug → area card) or www pointer for non-maps paths. path required (or slug). DOCS/API: https://maps.ikeytz.com/{slug} (HTML Visitenkarte) and https://maps.ikeytz.com/api/v1/embed/ort/{slug} (public embed JSON). USE to decide maps vs www. NEXT: get_ai_page, get_service_area.

    Annotations the server declares

    • title: Get Page Summary
    • readOnlyHint: true
  • get_partner_infoReturns only a maps HTML hand-off to www Partner-werden (/partner-werden).No findings

    Why it is in this group

    • The name "get_partner_info" says "get": a word for reading.
    Description, as the server wrote it
    Returns only a maps HTML hand-off to www Partner-werden (/partner-werden). Does not return partnerEmail corpus or submit the partner form. USE when the user asks about becoming a partner while on maps. Prefer www MCP get_partner_info if already connected to www. formSubmit=false — never claim a form was sent. NEXT: www get_partner_info; or maps compose_mailto after opening www.

    Annotations the server declares

    • title: Get Partner Info
    • readOnlyHint: true
  • get_pricesWHAT: Returns only a URL/note pointing to the Festpreis matrix on www.ikeytz.com/preise — no euro rows.No findings

    Why it is in this group

    • The name "get_prices" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL/note pointing to the Festpreis matrix on www.ikeytz.com/preise — no euro rows. USE to hand the agent from maps to www pricing. Prefer www MCP get_prices for the real matrix; call maps get_ort_datetime first if you need whenKey (day|night) for a later www invoice. DOES NOT invent prices or return totalEur.

    Annotations the server declares

    • title: Get Prices
    • readOnlyHint: true
  • get_ratgeberWHAT: Returns only a URL to www /ratgeber/{slug} — not the article body.No findings

    Why it is in this group

    • The name "get_ratgeber" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www /ratgeber/{slug} — not the article body. slug required. USE when the user names a Ratgeber slug on maps. Prefer list_ratgeber for the hub link when the slug is unknown; prefer www MCP get_ratgeber for fulltext. DOES NOT return article text.

    Annotations the server declares

    • title: Get Ratgeber
    • readOnlyHint: true
  • get_review_urlWHAT: Returns only a URL to www.ikeytz.com/review (Google-review entry page) — not a review payload.No findings

    Why it is in this group

    • The name "get_review_url" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www.ikeytz.com/review (Google-review entry page) — not a review payload. USE when the user asks where to leave a Google review while already on maps. Prefer www MCP get_review_url when connected to www for the canonical review-link payload. DOES NOT post a review.

    Annotations the server declares

    • title: Get Review Url
    • readOnlyHint: true
  • get_serp_snippetWHAT: One SERP block from maps llms-serp.txt via path, url, slug, or q.No findings

    Why it is in this group

    • The name "get_serp_snippet" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: One SERP block from maps llms-serp.txt via path, url, slug, or q. RETURNS path, url, matchContext (full block). DOCS/API: https://maps.ikeytz.com/llms-serp.txt (one block from that file). USE for a single page's SERP copy. DOES NOT invent meta tags. NEXT: get_ai_page or get_page_summary for body.

    Annotations the server declares

    • title: Get Serp Snippet
    • readOnlyHint: true
  • get_service_areaWHAT: One Einsatzgebiet by slug → plz (first match) → name substring.No findings

    Why it is in this group

    • The name "get_service_area" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: One Einsatzgebiet by slug → plz (first match) → name substring. RETURNS point card + maps_nav (hub/buero/mcp-hub) + neighbors (5 nearest by airline, MAPS-IL2) + optional Lage texts (h1, kicker, blurb, lage, geschichte) unless compact=true. fields= filters keys. USE when the user names a town/district in Landkreis Ludwigsburg. DOES NOT geocode free addresses outside the 52; unknown → ok=false unknown_place. NEXT: get_lage, get_geschichte, get_grenze, get_embed_map, distance_to_office.

    Annotations the server declares

    • title: Get Service Area
    • readOnlyHint: true
  • get_sitemap_txtWHAT: Reads maps /sitemap.txt 1:1 (alias of get_discovery(which=sitemap-txt)); summary is a line window plus trailing # MCP-META.No findings

    Why it is in this group

    • The name "get_sitemap_txt" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Reads maps /sitemap.txt 1:1 (alias of get_discovery(which=sitemap-txt)); summary is a line window plus trailing # MCP-META. Optional offset/limit. USE to list public maps embed URLs including /buero. Prefer get_discovery for other discovery ids; prefer site_overview for the brand card, not a URL list. NEXT: resolve_maps_url, get_embed_map, get_geo_office.

    Annotations the server declares

    • title: Get Sitemap Txt
    • readOnlyHint: true
  • get_urheberrechtWHAT: Returns Karten-Urheberrecht plain text from maps /llms-urheberrecht.txt (attribution: Mahmud Reza Kashani · ikeytz).No findings

    Why it is in this group

    • The name "get_urheberrecht" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns Karten-Urheberrecht plain text from maps /llms-urheberrecht.txt (attribution: Mahmud Reza Kashani · ikeytz). Optional offset/limit. USE when citing map copyright in German. Prefer get_copyright for the English citation file; prefer get_legal(doc=urheberrecht) for the legal-doc router. DOES NOT return www HTML body.

    Annotations the server declares

    • title: Get Urheberrecht
    • readOnlyHint: true
  • get_widerrufWHAT: Returns only a URL to www Widerruf — not withdrawal-policy text.No findings

    Why it is in this group

    • The name "get_widerruf" says "get": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www Widerruf — not withdrawal-policy text. USE when the user asks for Widerruf while on maps and you only need the link. Prefer www MCP get_widerruf or get_legal for the corpus. DOES NOT invent clauses.

    Annotations the server declares

    • title: Get Widerruf
    • readOnlyHint: true
  • get_wissen_entryReturns only a maps HTML hand-off to www /wissen/{id}.No findings

    Why it is in this group

    • The name "get_wissen_entry" says "get": a word for reading.
    Description, as the server wrote it
    Returns only a maps HTML hand-off to www /wissen/{id}. id required. Does not return the Wissen article body. USE when the user names a Wissen id on maps; use list_wissen for the hub. Prefer www MCP get_wissen_entry for fulltext. NEXT: www get_wissen_entry({id}).

    Annotations the server declares

    • title: Get Wissen Entry
    • readOnlyHint: true
  • list_auswahlWHAT: Returns only a URL to the www Auswahl hub (/auswahl) — not Auswahl items.No findings

    Why it is in this group

    • The name "list_auswahl" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to the www Auswahl hub (/auswahl) — not Auswahl items. USE when the user asks for the Auswahl overview on maps. Prefer www MCP list_auswahl for the real item list; prefer maps get_auswahl_item({slug}) only when a slug is known (still URL-only). Optional locale (de|en|fr|ru|fa|ar|tr, default de) selects the www URL language only — it does not list items. DOES NOT list items.

    Annotations the server declares

    • title: List Auswahl
    • readOnlyHint: true
  • list_faqReturns only a maps HTML hand-off to www /faq.No findings

    Why it is in this group

    • The name "list_faq" says "list": a word for reading.
    Description, as the server wrote it
    Returns only a maps HTML hand-off to www /faq. Does not return FAQ question rows or answers. USE for the FAQ hub on maps; use get_faq when an id/q is known (still a hand-off). Prefer www MCP list_faq / get_faq for real FAQ data. NEXT: www list_faq; maps get_faq.

    Annotations the server declares

    • title: List Faq
    • readOnlyHint: true
  • list_localesWHAT: Locales on maps — only de (MAPS-E8: no /en).No findings

    Why it is in this group

    • The name "list_locales" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: Locales on maps — only de (MAPS-E8: no /en). Call with {}. RETURNS items[{locale,url}]. USE before resolve_locale_url. DOES NOT list www's seven locales — use @ikeytz/mcp list_locales for those.

    Annotations the server declares

    • title: List Locales
    • readOnlyHint: true
  • list_navWHAT: maps navigation links — Hub, MCP, Urheberrecht, plus all 52 Gebiet URLs.No findings

    Why it is in this group

    • The name "list_nav" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: maps navigation links — Hub, MCP, Urheberrecht, plus all 52 Gebiet URLs. USE to pick a maps page. DOES NOT include www header hubs (Preise/FAQ). NEXT: get_embed_map, get_page_summary.

    Annotations the server declares

    • title: List Nav
    • readOnlyHint: true
  • list_plzWHAT: PLZ → slugs map for the 52 Gebiete (shared postcodes visible).No findings

    Why it is in this group

    • The name "list_plz" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: PLZ → slugs map for the 52 Gebiete (shared postcodes visible). Call with {}. RETURNS items[{plz,count,slugs}]. USE to see multi-Gebiet PLZ. NEXT: find_by_plz.

    Annotations the server declares

    • title: List Plz
    • readOnlyHint: true
  • list_ratgeberWHAT: Returns only a URL to the www Ratgeber hub (/ratgeber) — not titles or article bodies.No findings

    Why it is in this group

    • The name "list_ratgeber" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to the www Ratgeber hub (/ratgeber) — not titles or article bodies. USE when the user asks for the Ratgeber overview on maps. Prefer www MCP list_ratgeber for the real list; prefer maps get_ratgeber({slug}) only when a slug is known (still URL-only). Optional locale (de|en|fr|ru|fa|ar|tr, default de) selects the www URL language only. DOES NOT list Ratgeber entries.

    Annotations the server declares

    • title: List Ratgeber
    • readOnlyHint: true
  • list_service_areasWHAT: List all 52 ikeytz Einsatzgebiete on maps.ikeytz.com as point cards (slug, name, plz, lat/lng, embed_map, geo_api, grenze_api, punkt_api) — not polygons.No findings

    Why it is in this group

    • The name "list_service_areas" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: List all 52 ikeytz Einsatzgebiete on maps.ikeytz.com as point cards (slug, name, plz, lat/lng, embed_map, geo_api, grenze_api, punkt_api) — not polygons. Also public Sammel: /api/v1/embed/orte · /orte/grenzen · /orte/punkte. RETURNS items[], count, total, offset, limit. Optional fields= comma filter; limit/offset page the list. USE to enumerate the service area or build a picker. DOES NOT return OSM boundaries in the list (use get_grenze or GET grenze_api per slug) or prices. NEXT: get_service_area, get_embed_map, get_grenze, find_by_plz.

    Annotations the server declares

    • title: List Service Areas
    • readOnlyHint: true
  • list_servicesWHAT: Returns only a URL to www /leistungen — not Leistungs rows or prices.No findings

    Why it is in this group

    • The name "list_services" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to www /leistungen — not Leistungs rows or prices. USE when the user asks for services while on maps and you only need the link. Prefer www MCP list_services for the real catalog. Optional locale (de|en|fr|ru|fa|ar|tr, default de) selects the www URL language only — it does not load service rows. DOES NOT invent service rows.

    Annotations the server declares

    • title: List Services
    • readOnlyHint: true
  • list_slugsWHAT: All 52 maps slugs as a flat string array.No findings

    Why it is in this group

    • The name "list_slugs" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: All 52 maps slugs as a flat string array. Call with {}. USE for validation or autocomplete. NEXT: get_service_area(slug), get_embed_map(slug).

    Annotations the server declares

    • title: List Slugs
    • readOnlyHint: true
  • list_whatsapp_optionsWHAT: WhatsApp situation options (link only).No findings

    Why it is in this group

    • The name "list_whatsapp_options" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: WhatsApp situation options (link only). Same 12 contactOption ids as www: opening_slam_day|opening_slam_night|opening_locked_day|opening_locked_night|pkg_key_slam_day|pkg_key_slam_night|pkg_key_locked_day|pkg_key_locked_night|cylinder_only_day|cylinder_only_night|cylinder_mount|beratung. Deprecated aliases zugefallen|abgeschlossen|zylinder → *day* invoices. No form submit. USE before compose_whatsapp. DOES NOT send a message. NEXT: compose_whatsapp(option), compose_tel_mobile.

    Annotations the server declares

    • title: List Whatsapp Options
    • readOnlyHint: true
  • list_wissenWHAT: Returns only a URL to the www Wissen hub (/wissen) — not lexicon entries or article text.No findings

    Why it is in this group

    • The name "list_wissen" says "list": a word for reading.
    Description, as the server wrote it
    WHAT: Returns only a URL to the www Wissen hub (/wissen) — not lexicon entries or article text. USE when the user asks for the Wissen overview on maps. Prefer www MCP list_wissen for the real index; prefer maps get_wissen_entry({id}) only as a URL hand-off for one id. DOES NOT list entries.

    Annotations the server declares

    • title: List Wissen
    • readOnlyHint: true
  • resolve_locale_urlWHAT: path + locale → maps URL.No findings

    Why it is in this group

    • The name "resolve_locale_url" says "resolve": a word for reading.
    Description, as the server wrote it
    WHAT: path + locale → maps URL. maps is de-only: non-de requested still yields https://maps.ikeytz.com{path} with locale=de. Known Gebiet paths resolve to maps; unknown paths may www-pointer. REQUIRED path and locale. DOES NOT create /en on maps. NEXT: get_embed_map, www resolve_locale_url for marketing locales.

    Annotations the server declares

    • title: Resolve Locale Url
    • readOnlyHint: true
  • resolve_maps_urlWHAT: Resolve a maps.ikeytz.com url/path/q to hub or Gebiet.No findings

    Why it is in this group

    • The name "resolve_maps_url" says "resolve": a word for reading.
    Description, as the server wrote it
    WHAT: Resolve a maps.ikeytz.com url/path/q to hub or Gebiet. RETURNS kind=hub|ort (+ area fields when ort). DOCS/API: https://maps.ikeytz.com/sitemap.txt (public URL list) and https://maps.ikeytz.com/{slug} (Gebiet pages). USE to normalize pasted maps links. Prefer get_service_area when you already have a known slug; prefer resolve_locale_url for locale rewriting. DOES NOT accept www hosts (not_maps_host). When multiple of url/path/q are set, url wins then path then q.

    Annotations the server declares

    • title: Resolve Maps Url
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.18. Values in angle brackets are yours to fill in.

claude mcp add --transport http maps https://maps.ikeytz.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__maps__list_service_areas",
      "mcp__maps__get_service_area",
      "mcp__maps__get_ort_datetime",
      "mcp__maps__get_geo_office",
      "mcp__maps__get_contact",
      "mcp__maps__get_discovery",
      "mcp__maps__get_llms_mcp_server",
      "mcp__maps__get_llms_mcp_web",
      "mcp__maps__find_by_keyword",
      "mcp__maps__find_by_serp",
      "mcp__maps__get_serp_snippet",
      "mcp__maps__find_by_plz",
      "mcp__maps__find_by_geo",
      "mcp__maps__find_by_icbm",
      "mcp__maps__find_by_gebiet",
      "mcp__maps__find_by_area",
      "mcp__maps__list_slugs",
      "mcp__maps__list_plz",
      "mcp__maps__get_hub",
      "mcp__maps__get_embed_map",
      "mcp__maps__get_geo_api",
      "mcp__maps__get_grenze",
      "mcp__maps__get_grenze_koordinaten",
      "mcp__maps__get_lage",
      "mcp__maps__get_geschichte",
      "mcp__maps__resolve_maps_url",
      "mcp__maps__find_by_google_maps",
      "mcp__maps__get_legal",
      "mcp__maps__get_urheberrecht",
      "mcp__maps__get_copyright",
      "mcp__maps__get_impressum",
      "mcp__maps__get_agb",
      "mcp__maps__get_nutzungsbedingungen",
      "mcp__maps__get_datenschutz",
      "mcp__maps__get_widerruf",
      "mcp__maps__get_business_identity",
      "mcp__maps__list_nav",
      "mcp__maps__list_footer",
      "mcp__maps__list_locales",
      "mcp__maps__resolve_locale_url",
      "mcp__maps__get_prices",
      "mcp__maps__get_invoice_line_items",
      "mcp__maps__list_services",
      "mcp__maps__get_emergency",
      "mcp__maps__list_auswahl",
      "mcp__maps__get_auswahl_item",
      "mcp__maps__get_about",
      "mcp__maps__get_partner_info",
      "mcp__maps__get_links",
      "mcp__maps__get_review_url",
      "mcp__maps__list_faq",
      "mcp__maps__get_faq",
      "mcp__maps__list_wissen",
      "mcp__maps__get_wissen_entry",
      "mcp__maps__list_ratgeber",
      "mcp__maps__get_ratgeber",
      "mcp__maps__get_page_summary",
      "mcp__maps__get_ai_page",
      "mcp__maps__get_llms_txt",
      "mcp__maps__get_ai_txt",
      "mcp__maps__get_sitemap_txt",
      "mcp__maps__list_whatsapp_options"
    ],
    "ask": [
      "mcp__maps__distance_to_office",
      "mcp__maps__site_overview",
      "mcp__maps__compose_tel_mobile",
      "mcp__maps__compose_tel_landline",
      "mcp__maps__compose_whatsapp",
      "mcp__maps__compose_mailto"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as maps. Review it before you use it.