ikeytz Einsatzgebiet-Karten
Qué hace este MCP
Provides public map and service-area data, geographic search, proximity calculations, area boundaries, business contact details, embed links, and location-specific page content.
Herramientas
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'href': {'type': 'string', 'description': 'mailto:info@ikeytz.com'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'mapsHref': {'type': 'string', 'description': 'mailto:info@maps.ikeytz.com'}, 'mapsEmail': {'type': 'string', 'description': 'info@maps.ikeytz.com'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'href': {'type': 'string', 'description': 'tel:+49…'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'display': {'type': 'string', 'description': 'Human display number'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'href': {'type': 'string', 'description': 'tel:+49…'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'display': {'type': 'string', 'description': 'Human display number'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'option': {'type': 'string', 'description': 'Optional situation id from list_whatsapp_options (zugefallen|abgeschlossen|zylinder). Unknown → ok:false.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'href': {'type': 'string', 'format': 'uri', 'description': 'https://wa.me/…'}, 'note': {'type': 'string', 'description': 'Link only. Kein Formular.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'option': {'type': ['string', 'null'], 'description': 'Echoed option (null if omitted)'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Optional query latitude instead of place lookup'}, 'lng': {'type': 'number', 'description': 'Optional query longitude'}, 'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'icbm': {'type': 'string', 'description': "Optional 'lat, lng' instead of place lookup"}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'from': {'type': 'object', 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}, 'description': 'Origin {lat,lng}'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'slug': {'type': ['string', 'null'], 'description': 'Resolved slug if from place lookup'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'office': {'type': 'object', 'description': 'Office {lat,lng,icbm}'}, 'walkIn': {'type': 'boolean', 'description': 'Always false'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'distance_km': {'type': 'number', 'description': 'Air distance kilometres'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Name or slug query'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'q': {'type': 'string'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Name or slug query (preferred)'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'q': {'type': 'string', 'description': 'Resolved query'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude. Required with lng unless icbm is set. (0,0) → outside_service_area.'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude. Required with lat unless icbm is set.'}, 'icbm': {'type': 'string', 'description': "ICBM or paste 'lat, lng' (comma-separated). Alternative to lat+lng."}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'radius_km': {'type': 'number', 'description': 'Optional air-radius filter in km. Omit = return nearest N (limit). Far points / (0,0) → outside_service_area.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number', 'description': 'Query latitude'}, 'lng': {'type': 'number', 'description': 'Query longitude'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'icbm': {'type': 'string', 'description': 'Query ICBM'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}, 'description': 'Ranked Gebiete with distance_km'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'radius_km': {'type': ['number', 'null'], 'description': 'Applied radius or null'}, 'nearest_km': {'type': ['number', 'null'], 'description': 'On outside_service_area failures: nearest distance if any'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': "Paste string containing 'lat, lng'"}, 'lat': {'type': 'number', 'description': 'WGS84 latitude. Required with lng unless icbm is set. (0,0) → outside_service_area.'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude. Required with lat unless icbm is set.'}, 'icbm': {'type': 'string', 'description': "ICBM or paste 'lat, lng' (comma-separated). Alternative to lat+lng."}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'radius_km': {'type': 'number', 'description': 'Optional air-radius filter in km. Omit = return nearest N (limit). Far points / (0,0) → outside_service_area.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'icbm': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'radius_km': {'type': ['number', 'null']}, 'nearest_km': {'type': ['number', 'null']}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude. Required with lng unless icbm is set. (0,0) → outside_service_area.'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude. Required with lat unless icbm is set.'}, 'icbm': {'type': 'string', 'description': "ICBM or paste 'lat, lng' (comma-separated). Alternative to lat+lng."}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'radius_km': {'type': 'number', 'description': 'Optional air-radius filter in km. Omit = return nearest N (limit). Far points / (0,0) → outside_service_area.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'icbm': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'radius_km': {'type': ['number', 'null']}, 'nearest_km': {'type': ['number', 'null']}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Required search string matched against keyword and URL (substring, case-insensitive).'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'q': {'type': 'string', 'description': 'Query echoed'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number', 'description': 'Returned hits'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'keyword': {'type': 'string'}}}, 'description': 'keyword + url rows'}, 'lines': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Raw TSV lines'}, 'total': {'type': 'number', 'description': 'Total matches before limit'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['plz'], 'properties': {'q': {'type': 'string', 'description': 'Alias for plz if plz omitted'}, 'plz': {'type': 'string', 'description': 'Required German postcode.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'plz': {'type': 'string', 'description': 'Queried PLZ'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number', 'description': 'Number of Gebiete'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}, 'description': 'All matches'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free-text search in SERP blocks'}, 'url': {'type': 'string', 'description': 'Full https://maps.ikeytz.com/… URL'}, 'path': {'type': 'string', 'description': 'maps path fragment, e.g. /pattonville'}, 'slug': {'type': 'string', 'description': 'Gebiet slug'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'q': {'type': 'string', 'description': 'Resolved query'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'path': {'type': 'string'}, 'snippet': {'type': 'string'}}}, 'description': 'SERP hits'}, 'total': {'type': 'number'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'h1': {'type': 'string'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'mcp': {'type': 'string', 'format': 'uri'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'brand': {'type': 'string'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'owner': {'type': 'string'}, 'title': {'type': 'string'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'sister': {'type': 'string'}, 'walkIn': {'type': 'boolean'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'registry': {'type': 'string'}, 'legalName': {'type': 'string'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'path': {'type': 'string', 'description': 'Path or ai-pages path fragment'}, 'slug': {'type': 'string', 'description': 'Gebiet or ai-page slug'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'description': 'When www pointer'}, 'note': {'type': 'string'}, 'path': {'type': 'string', 'description': '/ai-pages/de/{slug}.txt'}, 'slug': {'type': 'string'}, 'text': {'type': 'string', 'description': 'Full ai-page UTF-8 text'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Public relative path of the file on maps'}, 'text': {'type': 'string', 'description': 'UTF-8 line window (file body before # MCP-META). Same bytes as summary without meta trailer.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'limit': {'type': ['number', 'null'], 'description': 'Applied line limit, or null if omitted'}, 'which': {'type': 'string', 'description': 'Resolved discovery id (ard, ai-catalog, llms, robots, sitemap-txt, llms-mcp-server, …).'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied 0-based line offset'}, 'missing': {'type': 'boolean', 'description': 'true if the discovery file was not found on disk'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'totalUrls': {'type': 'number', 'description': 'http(s) lines in the full file'}, 'truncated': {'type': 'boolean', 'description': 'true if offset+limit left more lines. Also in trailing # MCP-META.'}, 'nextOffset': {'type': ['number', 'null'], 'description': 'Pass as next offset when truncated; else null. Also in # MCP-META.'}, 'totalBytes': {'type': 'number', 'description': 'Full discovery file size in bytes (UTF-8). Also in trailing # MCP-META.'}, 'totalChars': {'type': 'number', 'description': 'Full discovery file character length before offset/limit. Also in # MCP-META.'}, 'totalLines': {'type': 'number', 'description': 'Alias of total_lines'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'total_lines': {'type': 'number', 'description': 'Line count of the full file'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'returnedUrls': {'type': 'number', 'description': 'http(s) lines in this window'}, 'bytesReturned': {'type': 'number', 'description': 'UTF-8 length of text window'}, 'returnedLines': {'type': 'number', 'description': 'Lines in this window (before # MCP-META)'}, 'fetchTruncated': {'type': 'boolean', 'description': 'true if a load cap cut the file before paging (www Cap). maps reads full from disk → always false.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Required Auswahl slug on www'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'nap': {'type': 'object', 'description': 'Public NAP payload'}, 'www': {'type': 'string', 'format': 'uri'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'maps': {'type': 'string', 'format': 'uri'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'brand': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'hours': {'type': 'string'}, 'owner': {'type': 'string', 'description': 'Mahmud Reza Kashani'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'office': {'type': 'object', 'description': 'lat/lng/google_maps/icbm'}, 'walkIn': {'type': 'boolean', 'description': 'Always false'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'legalName': {'type': 'string'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'office_note': {'type': 'string'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'fax': {'type': 'string', 'description': 'Fax display'}, 'lat': {'type': 'number', 'description': 'Office lat'}, 'lng': {'type': 'number', 'description': 'Office lng'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'icbm': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'email': {'type': 'string', 'description': 'info@ikeytz.com'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'mobile': {'type': 'string', 'description': 'Mobile display'}, 'walkIn': {'type': 'boolean', 'description': 'Always false'}, 'address': {'type': 'object', 'description': 'Structured address block'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'landline': {'type': 'string', 'description': 'Landline display'}, 'whatsapp': {'type': 'string', 'format': 'uri', 'description': 'wa.me URL'}, 'mapsEmail': {'type': 'string', 'description': 'info@maps.ikeytz.com'}, 'addressLine': {'type': 'string', 'description': 'Single-line address'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'google_maps': {'type': 'string'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'doc': {'type': 'string', 'const': 'copyright'}, 'body': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'which': {'type': 'string'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['which'], 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'which': {'type': 'string', 'description': 'Required discovery id. Examples: ard, ai-catalog, ai-txt, ai-plugin, answer-engine, agent-skills, llms, llms-full, llms-index, llms-keywords, llms-serp, llms-impressum-kontakt, llms-orte-geo, llms-urheberrecht, llms-copyright, llms-mcp-server, llms-mcp-web, robots, sitemap-txt, sitemap-xml.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Public relative path of the file on maps'}, 'text': {'type': 'string', 'description': 'UTF-8 line window (file body before # MCP-META). Same bytes as summary without meta trailer.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'limit': {'type': ['number', 'null'], 'description': 'Applied line limit, or null if omitted'}, 'which': {'type': 'string', 'description': 'Resolved discovery id (ard, ai-catalog, llms, robots, sitemap-txt, llms-mcp-server, …).'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied 0-based line offset'}, 'missing': {'type': 'boolean', 'description': 'true if the discovery file was not found on disk'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'totalUrls': {'type': 'number', 'description': 'http(s) lines in the full file'}, 'truncated': {'type': 'boolean', 'description': 'true if offset+limit left more lines. Also in trailing # MCP-META.'}, 'nextOffset': {'type': ['number', 'null'], 'description': 'Pass as next offset when truncated; else null. Also in # MCP-META.'}, 'totalBytes': {'type': 'number', 'description': 'Full discovery file size in bytes (UTF-8). Also in trailing # MCP-META.'}, 'totalChars': {'type': 'number', 'description': 'Full discovery file character length before offset/limit. Also in # MCP-META.'}, 'totalLines': {'type': 'number', 'description': 'Alias of total_lines'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'total_lines': {'type': 'number', 'description': 'Line count of the full file'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'returnedUrls': {'type': 'number', 'description': 'http(s) lines in this window'}, 'bytesReturned': {'type': 'number', 'description': 'UTF-8 length of text window'}, 'returnedLines': {'type': 'number', 'description': 'Lines in this window (before # MCP-META)'}, 'fetchTruncated': {'type': 'boolean', 'description': 'true if a load cap cut the file before paging (www Cap). maps reads full from disk → always false.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'plz': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'geo_api': {'type': 'string', 'format': 'uri'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'maps_nav': {'type': 'object', 'properties': {'hub': {'type': 'string', 'format': 'uri'}, 'buero': {'type': 'string', 'format': 'uri'}, 'mcp_hub': {'type': 'string', 'format': 'uri'}}, 'description': 'MAPS-IL1 mini-chrome URLs'}, 'embed_map': {'type': 'string', 'format': 'uri'}, 'neighbors': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'embed_map': {'type': 'string', 'format': 'uri'}}}, 'description': 'Up to 5 nearest Gebiete'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'FAQ question search on www'}, 'id': {'type': 'string', 'description': 'FAQ id on www'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'plz': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'name': {'type': 'string'}, 'note': {'type': 'string', 'description': 'Public JSON pointer; use get_grenze for polygon in MCP'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'geo_api': {'type': 'string', 'format': 'uri'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'embed_map': {'type': 'string', 'format': 'uri'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number', 'description': 'Office latitude'}, 'lng': {'type': 'number', 'description': 'Office longitude'}, 'city': {'type': 'string', 'description': 'City'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'icbm': {'type': 'string', 'description': 'ICBM string (same as google_maps)'}, 'note': {'type': 'string', 'description': 'Büro · kein Kundenverkehr vor Ort'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'postal': {'type': 'string', 'description': 'Postal code'}, 'street': {'type': 'string', 'description': 'Office street'}, 'walkIn': {'type': 'boolean', 'description': 'Always false — no shop counter'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/office'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/buero'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'google_maps': {'type': 'string', 'description': "'lat, lng'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'geschichte': {'type': 'string', 'description': 'Geschichte prose (may be empty)'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'plz': {'type': 'string'}, 'via': {'type': ['string', 'null'], 'description': 'Fetch path hint'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'point': {'type': ['object', 'null'], 'description': 'Point feature or null'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'geo_api': {'type': 'string', 'format': 'uri'}, 'polygon': {'type': 'object', 'description': 'GeoJSON FeatureCollection (may be empty)'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'osmWayId': {'type': ['number', 'null'], 'description': 'OSM way id if any'}, 'hasPolygon': {'type': 'boolean', 'description': 'true if polygon.features length > 0'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'osmRelationId': {'type': ['number', 'null'], 'description': 'OSM relation id if any'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'plz': {'type': 'string'}, 'via': {'type': ['string', 'null']}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'href': {'type': 'string', 'format': 'uri', 'description': 'www keyword page'}, 'icbm': {'type': 'string'}, 'name': {'type': 'string'}, 'part': {'type': 'string', 'description': 'Always full'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'color': {'type': 'string'}, 'embed': {'type': 'string', 'description': 'Relative fn embed path'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'phone': {'type': 'object', 'description': 'NAP block (mobile, landline, fax, email, address, …)'}, 'point': {'type': ['object', 'null']}, 'store': {'type': 'string'}, 'style': {'type': 'object', 'description': 'MapLibre-ish style colors'}, 'gruppe': {'type': 'string'}, 'iframe': {'type': 'string', 'format': 'uri'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'points': {'type': 'object', 'description': 'GeoJSON FeatureCollection'}, 'polygon': {'type': 'object', 'description': 'GeoJSON FeatureCollection (polygons only)'}, 'purpose': {'type': 'string'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'osmWayId': {'type': ['number', 'null']}, 'embedPunkt': {'type': 'string'}, 'hasPolygon': {'type': 'boolean'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'countPoints': {'type': 'number'}, 'embedGrenze': {'type': 'string'}, 'embedPublic': {'type': 'string'}, 'geoPosition': {'type': 'string', 'description': 'lat;lng'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'countPolygons': {'type': 'number'}, 'osmRelationId': {'type': ['number', 'null']}, 'hasPolygonKnown': {'type': 'boolean'}, 'featureCollection': {'type': 'object', 'description': 'Polygon + point FeatureCollection'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'h1': {'type': 'string', 'description': 'Hub H1'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number', 'description': '52'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'embed_map': {'type': 'string', 'format': 'uri'}}}, 'description': 'slug/name/embed_map rows'}, 'title': {'type': 'string', 'description': 'Hub title'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'doc': {'type': 'string', 'const': 'impressum'}, 'body': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'description': 'www /impressum'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'which': {'type': 'string'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['situationKey'], 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}, 'whenKey': {'type': 'string', 'description': 'day|night|now — used on www; maps only points.'}, 'breakdown': {'type': 'boolean', 'description': 'www flag; ignored for maps pointer payload.'}, 'situationKey': {'type': 'string', 'description': 'Required for www. Situation id (opening_slam, opening_locked, pkg_key_*, cylinder_only, cylinder_mount, aliases).'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'lage': {'type': 'string', 'description': 'Lage prose (may be empty)'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['doc'], 'properties': {'doc': {'enum': ['urheberrecht', 'copyright', 'impressum', 'agb', 'nutzungsbedingungen', 'datenschutz', 'widerruf'], 'type': 'string', 'description': 'Required. maps corpus: urheberrecht|copyright|impressum. www links only: agb|nutzungsbedingungen|datenschutz|widerruf.'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'doc': {'type': 'string', 'description': 'Resolved doc id'}, 'body': {'type': 'string', 'description': 'maps text window when applicable'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'description': 'www HTML URL when applicable'}, 'note': {'type': 'string', 'description': 'Host split note'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'which': {'type': 'string', 'description': 'Discovery id for maps text docs'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'object', 'properties': {'hub': {'type': 'string', 'format': 'uri'}, 'mcp': {'type': 'string', 'format': 'uri'}, 'npm': {'type': 'string', 'format': 'uri'}, 'card': {'type': 'string', 'format': 'uri'}, 'llms': {'type': 'string', 'format': 'uri'}, 'skills': {'type': 'string', 'format': 'uri'}, 'registry': {'type': 'string', 'format': 'uri'}}, 'description': 'Named absolute URLs'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Public relative path of the file on maps'}, 'text': {'type': 'string', 'description': 'UTF-8 line window (file body before # MCP-META). Same bytes as summary without meta trailer.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'limit': {'type': ['number', 'null'], 'description': 'Applied line limit, or null if omitted'}, 'which': {'type': 'string', 'description': 'Resolved discovery id (ard, ai-catalog, llms, robots, sitemap-txt, llms-mcp-server, …).'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied 0-based line offset'}, 'missing': {'type': 'boolean', 'description': 'true if the discovery file was not found on disk'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'totalUrls': {'type': 'number', 'description': 'http(s) lines in the full file'}, 'truncated': {'type': 'boolean', 'description': 'true if offset+limit left more lines. Also in trailing # MCP-META.'}, 'nextOffset': {'type': ['number', 'null'], 'description': 'Pass as next offset when truncated; else null. Also in # MCP-META.'}, 'totalBytes': {'type': 'number', 'description': 'Full discovery file size in bytes (UTF-8). Also in trailing # MCP-META.'}, 'totalChars': {'type': 'number', 'description': 'Full discovery file character length before offset/limit. Also in # MCP-META.'}, 'totalLines': {'type': 'number', 'description': 'Alias of total_lines'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'total_lines': {'type': 'number', 'description': 'Line count of the full file'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'returnedUrls': {'type': 'number', 'description': 'http(s) lines in this window'}, 'bytesReturned': {'type': 'number', 'description': 'UTF-8 length of text window'}, 'returnedLines': {'type': 'number', 'description': 'Lines in this window (before # MCP-META)'}, 'fetchTruncated': {'type': 'boolean', 'description': 'true if a load cap cut the file before paging (www Cap). maps reads full from disk → always false.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Public relative path of the file on maps'}, 'text': {'type': 'string', 'description': 'UTF-8 line window (file body before # MCP-META). Same bytes as summary without meta trailer.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'limit': {'type': ['number', 'null'], 'description': 'Applied line limit, or null if omitted'}, 'which': {'type': 'string', 'description': 'Resolved discovery id (ard, ai-catalog, llms, robots, sitemap-txt, llms-mcp-server, …).'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied 0-based line offset'}, 'missing': {'type': 'boolean', 'description': 'true if the discovery file was not found on disk'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'totalUrls': {'type': 'number', 'description': 'http(s) lines in the full file'}, 'truncated': {'type': 'boolean', 'description': 'true if offset+limit left more lines. Also in trailing # MCP-META.'}, 'nextOffset': {'type': ['number', 'null'], 'description': 'Pass as next offset when truncated; else null. Also in # MCP-META.'}, 'totalBytes': {'type': 'number', 'description': 'Full discovery file size in bytes (UTF-8). Also in trailing # MCP-META.'}, 'totalChars': {'type': 'number', 'description': 'Full discovery file character length before offset/limit. Also in # MCP-META.'}, 'totalLines': {'type': 'number', 'description': 'Alias of total_lines'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'total_lines': {'type': 'number', 'description': 'Line count of the full file'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'returnedUrls': {'type': 'number', 'description': 'http(s) lines in this window'}, 'bytesReturned': {'type': 'number', 'description': 'UTF-8 length of text window'}, 'returnedLines': {'type': 'number', 'description': 'Lines in this window (before # MCP-META)'}, 'fetchTruncated': {'type': 'boolean', 'description': 'true if a load cap cut the file before paging (www Cap). maps reads full from disk → always false.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Public relative path of the file on maps'}, 'text': {'type': 'string', 'description': 'UTF-8 line window (file body before # MCP-META). Same bytes as summary without meta trailer.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'limit': {'type': ['number', 'null'], 'description': 'Applied line limit, or null if omitted'}, 'which': {'type': 'string', 'description': 'Resolved discovery id (ard, ai-catalog, llms, robots, sitemap-txt, llms-mcp-server, …).'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied 0-based line offset'}, 'missing': {'type': 'boolean', 'description': 'true if the discovery file was not found on disk'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'totalUrls': {'type': 'number', 'description': 'http(s) lines in the full file'}, 'truncated': {'type': 'boolean', 'description': 'true if offset+limit left more lines. Also in trailing # MCP-META.'}, 'nextOffset': {'type': ['number', 'null'], 'description': 'Pass as next offset when truncated; else null. Also in # MCP-META.'}, 'totalBytes': {'type': 'number', 'description': 'Full discovery file size in bytes (UTF-8). Also in trailing # MCP-META.'}, 'totalChars': {'type': 'number', 'description': 'Full discovery file character length before offset/limit. Also in # MCP-META.'}, 'totalLines': {'type': 'number', 'description': 'Alias of total_lines'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'total_lines': {'type': 'number', 'description': 'Line count of the full file'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'returnedUrls': {'type': 'number', 'description': 'http(s) lines in this window'}, 'bytesReturned': {'type': 'number', 'description': 'UTF-8 length of text window'}, 'returnedLines': {'type': 'number', 'description': 'Lines in this window (before # MCP-META)'}, 'fetchTruncated': {'type': 'boolean', 'description': 'true if a load cap cut the file before paging (www Cap). maps reads full from disk → always false.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'tz': {'enum': ['CET', 'CEST'], 'type': 'string', 'description': 'Abbreviation'}, 'iso': {'type': 'string', 'description': 'ISO-8601 with Berlin offset'}, 'plz': {'type': 'string', 'description': 'PLZ when resolved'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD in Berlin'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'name': {'type': 'string', 'description': 'Place name when resolved'}, 'slug': {'type': 'string', 'description': 'Present when a place was resolved'}, 'time': {'type': 'string', 'description': 'HH:MM:SS in Berlin (24h)'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'unix': {'type': 'number', 'description': 'Unix timestamp seconds'}, 'count': {'type': 'number', 'description': '52 when listing all places'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'tz': {'enum': ['CET', 'CEST'], 'type': 'string', 'description': 'Abbreviation'}, 'iso': {'type': 'string', 'description': 'ISO-8601 with Berlin offset'}, 'plz': {'type': 'string'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD in Berlin'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'time': {'type': 'string', 'description': 'HH:MM:SS in Berlin (24h)'}, 'unix': {'type': 'number', 'description': 'Unix timestamp seconds'}, 'stand': {'type': 'string', 'description': "Human clock 'YYYY-MM-DD HH:MM:SS CEST|CET' Europe/Berlin to the second"}, 'whenKey': {'enum': ['day', 'night'], 'type': 'string', 'description': 'Price bucket for www get_invoice_line_items. day = Mo–Fr 08:00–17:59 Berlin except BW holidays; else night. Pass to www MCP — maps has no euro matrix.'}, 'timezone': {'type': 'string', 'const': 'Europe/Berlin', 'description': 'Always Europe/Berlin'}}, 'additionalProperties': True}, 'description': 'All 52 slug/name/plz + clock when called without lookup'}, 'stand': {'type': 'string', 'description': "Human clock 'YYYY-MM-DD HH:MM:SS CEST|CET' Europe/Berlin to the second"}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'whenKey': {'enum': ['day', 'night'], 'type': 'string', 'description': 'Price bucket for www get_invoice_line_items. day = Mo–Fr 08:00–17:59 Berlin except BW holidays; else night. Pass to www MCP — maps has no euro matrix.'}, 'timezone': {'type': 'string', 'const': 'Europe/Berlin', 'description': 'Always Europe/Berlin'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['path'], 'properties': {'path': {'type': 'string', 'description': 'Required. maps path (/pattonville) or www path for pointer fallback.'}, 'slug': {'type': 'string', 'description': 'Alias for path/slug'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'plz': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'description': 'When www pointer'}, 'name': {'type': 'string'}, 'note': {'type': 'string'}, 'slug': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'embed_map': {'type': 'string', 'format': 'uri'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Required Ratgeber slug'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Fallback search string'}, 'url': {'type': 'string', 'description': 'Full maps URL'}, 'path': {'type': 'string', 'description': 'maps path, e.g. /pattonville'}, 'slug': {'type': 'string', 'description': 'Gebiet slug'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'url': {'type': 'string', 'description': 'Matched maps URL'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Matched path'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'matchContext': {'type': 'string', 'description': 'Full SERP markdown block'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'plz': {'type': 'string', 'description': 'German postcode (PLZ). Several Gebiete can share one PLZ (e.g. 71638). For single lookup first match wins; use find_by_plz for all matches.'}, 'name': {'type': 'string', 'description': 'German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted.'}, 'slug': {'type': 'string', 'description': 'URL slug of one of the 52 Einsatzgebiete, e.g. pattonville, bietigheim-bissingen, walheim, gruenbuehl. Matches https://maps.ikeytz.com/{slug}. Lookup order when combined with plz/name: slug first.'}, 'fields': {'type': 'string', 'description': 'Optional field filter: comma-separated names or array. Keeps envelope keys (ok, tool, summary, canonicalUrl, attribution, locale, related, count, total, offset, limit, compact) plus listed fields. Example: slug,name,plz,lat,lng.'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}, 'compact': {'type': 'boolean', 'description': 'If true, omit h1/kicker/blurb/lage/geschichte — coords + URLs + neighbors still present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'h1': {'type': 'string', 'description': 'Visitenkarte H1 when not compact'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number', 'description': 'Place latitude'}, 'lng': {'type': 'number', 'description': 'Place longitude'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'icbm': {'type': 'string', 'description': 'ICBM string'}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'lage': {'type': 'string', 'description': 'Lage text when not compact'}, 'name': {'type': 'string', 'description': 'German name'}, 'slug': {'type': 'string', 'description': 'Resolved slug'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'blurb': {'type': 'string', 'description': 'Short blurb when not compact'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'kicker': {'type': 'string', 'description': 'Kicker when not compact'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'parent': {'type': 'string', 'description': 'Parent label'}, 'walkIn': {'type': 'boolean', 'description': 'Always false'}, 'compact': {'type': 'boolean', 'description': 'Whether compact mode was applied'}, 'geo_api': {'type': 'string', 'format': 'uri'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'maps_nav': {'type': 'object', 'properties': {'hub': {'type': 'string', 'format': 'uri'}, 'buero': {'type': 'string', 'format': 'uri'}, 'mcp_hub': {'type': 'string', 'format': 'uri'}}, 'description': 'MAPS-IL1 mini-chrome URLs'}, 'embed_map': {'type': 'string', 'format': 'uri'}, 'neighbors': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'embed_map': {'type': 'string', 'format': 'uri'}}}, 'description': 'Up to 5 nearest Gebiete (slug/name/embed_map)'}, 'geschichte': {'type': 'string', 'description': 'Geschichte text when not compact'}, 'office_lat': {'type': 'number', 'description': 'Gewerbesitz lat'}, 'office_lng': {'type': 'number', 'description': 'Gewerbesitz lng'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'google_maps': {'type': 'string', 'description': "'lat, lng'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'path': {'type': 'string', 'description': 'Public relative path of the file on maps'}, 'text': {'type': 'string', 'description': 'UTF-8 line window (file body before # MCP-META). Same bytes as summary without meta trailer.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'limit': {'type': ['number', 'null'], 'description': 'Applied line limit, or null if omitted'}, 'which': {'type': 'string', 'description': 'Resolved discovery id (ard, ai-catalog, llms, robots, sitemap-txt, llms-mcp-server, …).'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied 0-based line offset'}, 'missing': {'type': 'boolean', 'description': 'true if the discovery file was not found on disk'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'totalUrls': {'type': 'number', 'description': 'http(s) lines in the full file'}, 'truncated': {'type': 'boolean', 'description': 'true if offset+limit left more lines. Also in trailing # MCP-META.'}, 'nextOffset': {'type': ['number', 'null'], 'description': 'Pass as next offset when truncated; else null. Also in # MCP-META.'}, 'totalBytes': {'type': 'number', 'description': 'Full discovery file size in bytes (UTF-8). Also in trailing # MCP-META.'}, 'totalChars': {'type': 'number', 'description': 'Full discovery file character length before offset/limit. Also in # MCP-META.'}, 'totalLines': {'type': 'number', 'description': 'Alias of total_lines'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'total_lines': {'type': 'number', 'description': 'Line count of the full file'}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'returnedUrls': {'type': 'number', 'description': 'http(s) lines in this window'}, 'bytesReturned': {'type': 'number', 'description': 'UTF-8 length of text window'}, 'returnedLines': {'type': 'number', 'description': 'Lines in this window (before # MCP-META)'}, 'fetchTruncated': {'type': 'boolean', 'description': 'true if a load cap cut the file before paging (www Cap). maps reads full from disk → always false.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'doc': {'type': 'string', 'const': 'urheberrecht'}, 'body': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'description': 'www /urheberrecht'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'which': {'type': 'string'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Required Wissen entry id'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'maps': {'type': 'array', 'description': 'maps-hosted footer links'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'email': {'type': 'string', 'description': 'info@ikeytz.com'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'html_www': {'type': 'array', 'description': 'www HTML footer links (host=www)'}, 'mapsEmail': {'type': 'string', 'description': 'info@maps.ikeytz.com'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'locale': {'type': 'string', 'const': 'de'}}}, 'description': 'Only de'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'slug': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Nav links {label,url,slug?}'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number', 'description': 'Distinct PLZ count'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'plz': {'type': 'string'}, 'count': {'type': 'number'}, 'slugs': {'type': 'array', 'items': {'type': 'string'}}}}, 'description': 'PLZ groups'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius.'}, 'fields': {'type': 'string', 'description': 'Optional field filter: comma-separated names or array. Keeps envelope keys (ok, tool, summary, canonicalUrl, attribution, locale, related, count, total, offset, limit, compact) plus listed fields. Example: slug,name,plz,lat,lng.'}, 'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '0-based index into a list or discovery file lines (split on \\n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number', 'description': 'Items in this page'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'WGS84 latitude of THIS place'}, 'lng': {'type': 'number', 'description': 'WGS84 longitude of THIS place'}, 'plz': {'type': 'string', 'description': 'Postcode'}, 'url': {'type': 'string', 'description': 'Keyword/www page URL when present'}, 'icbm': {'type': 'string', 'description': "ICBM 'lat, lng' (same as google_maps)"}, 'kind': {'type': 'string', 'description': 'stadtteil | ort'}, 'name': {'type': 'string', 'description': 'German place name'}, 'slug': {'type': 'string', 'description': 'maps slug'}, 'parent': {'type': 'string', 'description': 'Ludwigsburg or Landkreis Ludwigsburg'}, 'geo_api': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/api/v1/embed/ort/{slug}'}, 'maps_mcp': {'type': 'string', 'const': 'https://maps.ikeytz.com/mcp', 'format': 'uri', 'description': 'maps MCP endpoint'}, 'embed_map': {'type': 'string', 'format': 'uri', 'description': 'https://maps.ikeytz.com/{slug}'}, 'distance_km': {'type': 'number', 'description': 'Present on geo-ranked results: air distance from query point'}, 'google_maps': {'type': 'string', 'description': "Paste-ready 'lat, lng'"}}, 'description': 'One Einsatzgebiet point card (not a polygon).', 'additionalProperties': True}, 'description': 'Service-area point cards'}, 'limit': {'type': 'number', 'description': 'Applied limit'}, 'total': {'type': 'number', 'description': 'Total Gebiete (52)'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'offset': {'type': 'number', 'description': 'Applied offset'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {}, 'description': 'This tool takes no arguments. Call tools/call with arguments: {}. Extra keys are ignored.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'count': {'type': 'number', 'description': '52'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Slug strings'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'note': {'type': 'string', 'description': 'Link only; Festpreis SSOT remains www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'href': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}}}, 'description': 'Options {id,label,href}'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'npm': {'type': 'string', 'description': 'www CLI package @ikeytz/mcp'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'format': 'uri', 'description': 'Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp'}, 'note': {'type': 'string', 'description': 'maps only points; Volltext/Preise/FAQ live on www'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'www_mcp': {'type': 'string', 'format': 'uri', 'description': 'https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus'}, 'www_tool': {'type': 'string', 'description': 'Same tool name on www MCP that holds the real payload'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string', 'description': 'Locale the caller asked for; maps still returns locale=de'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'required': ['path', 'locale'], 'properties': {'path': {'type': 'string', 'description': 'Required. Path starting with / (e.g. /pattonville) or a maps URL.'}, 'locale': {'type': 'string', 'description': 'Required. Only de is meaningful on maps; others ignored with a note.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'html': {'type': 'string', 'description': 'Present when falling through to www pointer'}, 'note': {'type': 'string'}, 'path': {'type': 'string', 'description': 'Normalized path'}, 'slug': {'type': 'string', 'description': 'When a Gebiet matched'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'type': 'string', 'const': 'de'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'URL or path alias'}, 'url': {'type': 'string', 'description': 'Full https://maps.ikeytz.com/… URL'}, 'path': {'type': 'string', 'description': 'Path e.g. /pattonville'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'plz': {'type': 'string'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'kind': {'enum': ['hub', 'ort'], 'type': 'string', 'description': 'Resolved kind'}, 'name': {'type': 'string', 'description': 'Place name when ort'}, 'slug': {'type': ['string', 'null'], 'description': 'null for hub'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'embed_map': {'type': 'string', 'format': 'uri'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', 'properties': {'locale': {'enum': ['de'], 'type': 'string', 'default': 'de', 'description': 'maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.'}}}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'attribution'], 'properties': {'h1': {'type': 'string'}, 'ok': {'type': 'boolean', 'description': 'true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.'}, 'mcp': {'type': 'string', 'format': 'uri'}, 'hint': {'type': 'string', 'description': 'Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.'}, 'note': {'type': 'string'}, 'tool': {'type': 'string', 'description': 'Echo of the tool name that produced this object (e.g. get_service_area).'}, 'brand': {'type': 'string'}, 'count': {'type': 'number', 'description': '52'}, 'error': {'type': 'string', 'description': 'Present when ok=false. Codes include: unknown_place, unknown_discovery, unknown_doc, q_required, plz_required, coords_required, outside_service_area, url_required, not_maps_host, bad_url, path_or_url_required, serp_not_found, slug_or_coords_required, path_required.'}, 'owner': {'type': 'string'}, 'title': {'type': 'string'}, 'locale': {'enum': ['de'], 'type': 'string', 'description': 'Locale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.'}, 'sister': {'type': 'string', 'description': 'www MCP / npm hint'}, 'walkIn': {'type': 'boolean'}, 'related': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': 'Always includes https://maps.ikeytz.com/llms.txt.'}, 'summary': {'type': 'string', 'description': 'Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.'}, 'registry': {'type': 'string', 'description': 'com.ikeytz/maps'}, 'legalName': {'type': 'string'}, 'attribution': {'type': 'string', 'description': "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'"}, 'canonicalUrl': {'type': 'string', 'description': 'Best URL to show the user: https://maps.ikeytz.com… page, public embed JSON, tel:+49…, mailto:…, https://wa.me/…, or a www pointer. Prefer this over constructing URLs.'}, 'requested_locale': {'type': 'string'}}, 'description': 'Always the same envelope. tools/call returns content[0].text = summary (or JSON) AND structuredContent = this object. On success ok=true with summary + canonicalUrl + extra fields. On failure ok=false with error (snake_case code) and hint (recovery URL). Never writes, never submits forms, never books. Attribution must be kept when quoting. Policy: ai-input yes with attribution; ai-train=no. Host is maps.ikeytz.com (geo/Einsatzgebiet). Prices/FAQ/legal HTML live on www — maps only points.', 'additionalProperties': True}
Cambios recientes en herramientas
Servidores MCP similares
SupplyGraph.AI Data
Provides China-focused location, surrounding-area, company, industry-chain, property, population, retail, and regional business i…
Microburbs Australian Property Data
Provides Australian property, suburb, valuation, sales, rental, zoning, school, risk, geospatial, and census statistics.
gisgp
Provides GIS geocoding, routing, spatial transformations, ArcGIS layer inspection and export, and location due diligence for haza…
Namaste America
Helps users find Indian-American restaurants, temples, events, businesses, professionals, services, movies, offers, and community…
MolTravel
Searches and provides details for flights, hotels, rental cars, ferries, airports, travel experiences, destinations, country info…
EasyTerritory MCP
Builds, balances, analyzes, and edits sales or service territories, with geocoding, routing, scheduling, map visualization, and G…
MapMap
Provides mapping tools for routing, truck and ADR routing, geocoding, distance matrices, and isochrones.
Wmata
Provides Washington Metro rail and bus routes, stops, stations, service incidents, route details, and real-time arrival predictio…