io.github.CloudCorpRecords/areaguide
OCI · GHCR.IO/CLOUDCORPRECORDS/AREAGUIDE · 2 COMPONENTS
Forwarding client for the ikeytz maps read/link service: service areas, places and site pages.
Available components
Last scanned (13 hours ago)
Scores higher than 39% of OCI servers
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 12681 tokens (~186/item across 68 items; 68 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses.Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 68 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 2 categories
Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 39
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed oci/ghcr.io/cloudcorprecords/areaguide@0.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compose_mailto Compose Mailto ~68
WHAT: Returns mailto:info@ikeytz.com and mapsEmail info@maps.ikeytz.com (mapsHref). Call with {}. USE for email CTAs. Prefer compose_whatsapp or compose_tel_mobile when the user wants chat or a phone call instead. DOES NOT send mail.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
compose_tel_landline Compose Tel Landline ~42
WHAT: tel: href for the public landline. Call with {}. RETURNS href + display. USE as secondary call CTA. NEXT: compose_tel_mobile.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
compose_tel_mobile Compose Tel Mobile ~54
WHAT: tel: href for the public mobile number. Call with {}. RETURNS href + display. USE as the primary call CTA. DOES NOT place the call. NEXT: compose_tel_landline, list_whatsapp_options.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
compose_whatsapp Compose Whatsapp ~139
WHAT: wa.me link with prefab. option = one of 12 www contactOption ids (opening_slam_day … cylinder_only_night, cylinder_mount, beratung). Deprecated aliases zugefallen|abgeschlossen|zylinder map to *day* and set ambiguous=true — prefer explicit day/night ids. Omit → bare wa.me. Unknown → ok:false unknown_option + hint ids. Link only — no form. USE to open WhatsApp with a prefab. NEXT: compose_mailto, get_contact.
| Name | Type | Req | Description |
|---|---|---|---|
| option | string | – | Optional situation id from list_whatsapp_options (12 www ids; aliases deprecated). Unknown → ok:false. |
No output schema declared.
No examples provided.
distance_to_office Distance To Office ~268
WHAT: Air distance (km) from a Gebiet (slug|plz|name) or lat/lng/icbm to the Gewerbesitz. walkIn=false. RETURNS from, office, distance_km. USE for rough proximity — not driving time. DOES NOT route via OSRM. NEXT: get_geo_office, find_by_geo.
| Name | Type | Req | Description |
|---|---|---|---|
| icbm | string | – | Optional 'lat, lng' instead of place lookup |
| lat | number | – | Optional query latitude instead of place lookup |
| lng | number | – | Optional query longitude |
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
find_by_area Find By Area ~203
WHAT: Multi-match Einsatzgebiete by q, name, or slug (substring, umlauts ok). RETURNS all matching point cards. Same match rules as find_by_gebiet — prefer this name when the agent thinks in 'area' wording. USE for fuzzy place names. DOES NOT require an exact slug. Prefer find_by_plz for postcode-only queries. NEXT: get_service_area, get_embed_map.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| q | string | – | Name or slug query |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
find_by_gebiet Find By Gebiet ~175
WHAT: Multi-match Gebiete by q, name, or slug (substring, umlauts ok). RETURNS all matching point cards. USE for fuzzy place names. DOES NOT require exact slug. NEXT: get_service_area for one, or get_grenze.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| q | string | – | Name or slug query (preferred) |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
find_by_geo Find By Geo ~255
WHAT: Rank Einsatzgebiete by lat/lng (or icbm). Optional radius_km; else nearest N (limit, default 5). (0,0) and far points → ok=false outside_service_area. RETURNS items with distance_km. USE for 'near this coordinate'. DOES NOT route or drive-time. NEXT: get_service_area, get_grenze, distance_to_office.
| Name | Type | Req | Description |
|---|---|---|---|
| icbm | string | – | ICBM or paste 'lat, lng' (comma-separated). Alternative to lat+lng. |
| lat | number | – | WGS84 latitude. Required with lng unless icbm is set. (0,0) → outside_service_area. |
| limit | integer | – | 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. |
| lng | number | – | WGS84 longitude. Required with lat unless icbm is set. |
| radius_km | number | – | Optional air-radius filter in km. Omit = return nearest N (limit). Far points / (0,0) → outside_service_area. |
No output schema declared.
No examples provided.
find_by_google_maps Find By Google Maps ~254
WHAT: Paste Google Maps / ICBM coordinates (q or icbm or lat/lng) → nearest ikeytz Gebiete (same ranking as find_by_geo). (0,0) → outside_service_area. USE when the user pastes a Maps pin. NEXT: get_service_area, get_embed_map.
| Name | Type | Req | Description |
|---|---|---|---|
| icbm | string | – | ICBM or paste 'lat, lng' (comma-separated). Alternative to lat+lng. |
| lat | number | – | WGS84 latitude. Required with lng unless icbm is set. (0,0) → outside_service_area. |
| limit | integer | – | 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. |
| lng | number | – | WGS84 longitude. Required with lat unless icbm is set. |
| q | string | – | Paste string containing 'lat, lng' |
| radius_km | number | – | Optional air-radius filter in km. Omit = return nearest N (limit). Far points / (0,0) → outside_service_area. |
No output schema declared.
No examples provided.
find_by_icbm Find By Icbm ~275
WHAT: Rank Einsatzgebiete by an ICBM 'lat, lng' string (optional lat/lng, radius_km, limit). RETURNS items with distance_km. USE when the user pastes ICBM metadata. Prefer find_by_geo instead for plain lat/lng without an ICBM string. (0,0) and far points → ok=false outside_service_area. DOES NOT route or drive-time. NEXT: get_service_area, get_embed_map, get_grenze.
| Name | Type | Req | Description |
|---|---|---|---|
| icbm | string | – | ICBM or paste 'lat, lng' (comma-separated). Alternative to lat+lng. |
| lat | number | – | WGS84 latitude. Required with lng unless icbm is set. (0,0) → outside_service_area. |
| limit | integer | – | 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. |
| lng | number | – | WGS84 longitude. Required with lat unless icbm is set. |
| radius_km | number | – | Optional air-radius filter in km. Omit = return nearest N (limit). Far points / (0,0) → outside_service_area. |
No output schema declared.
No examples provided.
find_by_keyword Find By Keyword ~212
WHAT: Search maps llms-keywords.txt (keyword → maps URL). q required. RETURNS matching keyword/url rows (clamped limit). USE for SEO/keyword → Gebiet page. DOES NOT search www keywords. NEXT: get_service_area / get_embed_map with the slug from the URL.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | 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 | string | – | 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… |
| q | string | yes | Required search string matched against keyword and URL (substring, case-insensitive). |
No output schema declared.
No examples provided.
find_by_plz Find By Plz ~91
WHAT: All Einsatzgebiete with this PLZ (not only the first). plz required (or q as PLZ). RETURNS items[] point cards + count. USE when several Stadtteile share a postcode. NEXT: get_service_area(slug) for one card.
| Name | Type | Req | Description |
|---|---|---|---|
| plz | string | yes | Required German postcode. |
| q | string | – | Alias for plz if plz omitted |
No output schema declared.
No examples provided.
find_by_serp Find By Serp ~199
WHAT: Search maps llms-serp.txt blocks by q, path, url, or slug. RETURNS path/url/snippet items. DOCS/API: https://maps.ikeytz.com/llms-serp.txt (source catalog). USE for title/H1/description SERP cards on maps. DOES NOT scrape live HTML. NEXT: get_serp_snippet for one full block.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | 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. |
| path | string | – | maps path fragment, e.g. /pattonville |
| q | string | – | Free-text search in SERP blocks |
| slug | string | – | Gebiet slug |
| url | string | – | Full https://maps.ikeytz.com/… URL |
No output schema declared.
No examples provided.
get_about Get About ~135
WHAT: About maps.ikeytz.com (same core card as site_overview — 52 maps, not www Über-uns corpus). USE for 'what is this host'. DOES NOT return www about body. NEXT: site_overview, get_links, get_business_identity.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_agb Get Agb ~76
WHAT: Returns only a URL to www.ikeytz.com/agb — not AGB clause text. USE when the user asks for AGB while on maps and you only need the link. Prefer www MCP get_legal(doc=agb) or www get_agb when you need the legal corpus. DOES NOT invent legal clauses.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_ai_page Get Ai Page ~225
WHAT: Reads maps /ai-pages/de/{slug}.txt when the path is a maps Gebiet/ai-page; otherwise returns a www HTML hand-off for non-maps paths. path or slug. DOCS/API: https://maps.ikeytz.com/ai-pages/de/{slug}.txt (plain text corpus) and https://maps.ikeytz.com/{slug} (HTML). USE for agent-ready maps Gebiet prose — not for site-wide crawl policy (that is get_ai_txt). DOES NOT invent page bodies. NEXT: get_service_area, get_lage, get_ai_txt.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
| path | string | – | Path or ai-pages path fragment |
| slug | string | – | Gebiet or ai-page slug |
No output schema declared.
No examples provided.
get_ai_txt Get Ai Txt ~189
WHAT: Alias get_discovery(which=ai-txt) — maps /.well-known/ai.txt 1:1. USE for crawl/train policy (ai-train=no). NEXT: get_llms_txt.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_auswahl_item Get Auswahl Item ~165
WHAT: Returns only a URL to www /auswahl/{slug} — not the Auswahl article body. slug required. USE when the user names a specific Auswahl slug on maps. Prefer list_auswahl for the hub link; prefer www MCP get_auswahl_item({slug}) when you need the full article. DOES NOT return article text.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
| slug | string | yes | Required Auswahl slug on www |
No output schema declared.
No examples provided.
get_business_identity Get Business Identity ~193
WHAT: Returns Inhaber, brand, legalName, hours, NAP, and office coords for LocalBusiness / impressum-grade facts on maps. Call with {} or locale=de. walkIn=false — mobile locksmith only. USE when you need the identity card (who owns the business, hours, legal name). Prefer get_contact for phone/email/WhatsApp CTAs; prefer get_geo_office for the /buero pin and embed; prefer get_impressum for the full imprint text file. DOES NOT update records or accept walk-in bookings.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_contact Get Contact ~155
WHAT: Public NAP — mobile, landline, fax, email, mapsEmail (info@maps.ikeytz.com), WhatsApp, address, office coords. walkIn=false. USE for call/WhatsApp/mail CTAs. DOES NOT open tickets or send messages. NEXT: compose_tel_mobile, compose_whatsapp, compose_mailto, list_whatsapp_options.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_copyright Get Copyright ~183
WHAT: English map copyright text from maps /llms-copyright.txt. Optional offset/limit. USE for EN citations of map authorship. NEXT: get_urheberrecht.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_datenschutz Get Datenschutz ~62
WHAT: Returns only a URL to www Datenschutz — not the privacy-policy body. USE when the user asks for Datenschutz while on maps and you only need the link. Prefer www MCP get_datenschutz or get_legal for the corpus. DOES NOT invent privacy clauses.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_discovery Get Discovery ~513
WHAT: 1:1 mirror of a maps discovery file (UTF-8 text/JSON). summary ≡ line window + trailing # MCP-META (truncated, totalUrls, nextOffset) — not a one-line stub. which is required — common ids: ard, ai-catalog, ai-txt, ai-plugin, answer-engine, agent-skills, llms, llms-full, llms-index, llms-keywords, llms-serp, llms-jsonld, llms-navigation, llms-impressum-kontakt, llms-orte-geo, llms-grenzen-koordinaten, llms-urheberrecht, llms-copyright, llms-mcp-server, llms-mcp-web, robots, sitemap-txt, sitemap-xml. Omit limit: if remaining >~30KB → first ~30KB window + nextOffset (O9); explicit limit keeps line window 1..10000 (not forced to 30KB). USE for agent-ready catalogs and robots/sitemap. DOES NOT invent missing files (missing=true). NEXT: find_by_keyword / find_by_serp for structured search; get_llms_txt / get_ai_txt aliases.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
| which | string | yes | 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-jsonld, llms-navigation, llms-impressum-k… |
No output schema declared.
No examples provided.
get_embed_map Get Embed Map ~237
WHAT: Canonical map page URL https://maps.ikeytz.com/{slug} for iframe/src and Visitenkarte. Lookup slug|plz|name. RETURNS area card + maps_nav + neighbors (MAPS-IL1/IL2) + canonicalUrl. USE for embedding or linking a Gebiet map. NEXT: get_geo_api, get_grenze, get_lage, get_service_area.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_emergency Get Emergency ~163
WHAT: Returns only a URL to the www Notfall-Türöffnung page — not a dispatch. USE for emergency lockout context on maps when you only need the link. Prefer maps get_contact or compose_tel_mobile for phone CTAs here; prefer www MCP get_emergency for the full Notfall body. Optional locale selects the www URL language only. DOES NOT dispatch technicians or claim a van was sent.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_faq Get Faq ~179
Returns only a maps HTML hand-off to www /faq (optional id/q are for www symmetry, not answered here). Does not return the FAQ answer body. USE when the user asks one FAQ while on maps; use list_faq for the hub. Prefer www MCP get_faq({id}|{q}) for the real answer. NEXT: www get_faq.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | FAQ id on www |
| locale | string | – | 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… |
| q | string | – | FAQ question search on www |
No output schema declared.
No examples provided.
get_geo_api Get Geo Api ~287
WHAT: Public Geo-API URL pointers for one Einsatzgebiet. Ort JSON: https://maps.ikeytz.com/api/v1/embed/ort/{slug}. Grenze GeoJSON: …/grenze. Punkt GeoJSON: …/punkt. Sammel: /api/v1/embed/orte · /orte/grenzen · /orte/punkte. Lookup slug|plz|name. RETURNS geo_api, grenze_api, punkt_api, Sammel URLs + area card; MCP payload is not the polygon. USE to fetch/open public JSON/GeoJSON. NEXT: get_grenze for polygon inside MCP, or GET grenze_api / punkt_api.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_geo_office Get Geo Office ~230
WHO/WHAT: Gewerbesitz (registered office) pin on maps.ikeytz.com/buero. walkIn=false always — mobile locksmith, not a shop counter. RETURNS street, postal, city, lat, lng, google_maps/icbm (same 'lat, lng' string), embed_map, geo_api (/api/v1/embed/office), note, walkIn, and einsatzgebiete (the same 52 name/slug/url links as the HTML list on /buero). USE for NAP/schema or Footer iframe. DOES NOT accept walk-in customers or bookings. The office is not a 53rd place. NEXT: get_contact, distance_to_office, get_business_identity, list_service_areas.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_geschichte Get Geschichte ~206
WHAT: Geschichte (history) text for one Einsatzgebiet Visitenkarte. Lookup slug|plz|name. RETURNS slug, name, geschichte. USE for place history prose on the map page. NEXT: get_lage, get_ai_page.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_grenze Get Grenze ~289
WHAT: OSM Gebietspolygon for one Einsatzgebiet as GeoJSON FeatureCollection inside the MCP result. Same geometry as public GET https://maps.ikeytz.com/api/v1/embed/ort/{slug}/grenze (application/geo+json). Lookup slug|plz|name. RETURNS hasPolygon, polygon, point, osmRelationId/osmWayId, via, grenze_api, punkt_api. USE when the agent needs the boundary geometry. DOES NOT replace get_geo_api (URL pointers) or get_grenze_koordinaten (full embed blob). NEXT: get_grenze_koordinaten, get_lage, get_embed_map.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_grenze_koordinaten Get Grenze Koordinaten ~333
WHAT: Full public Ort-Embed JSON for one Einsatzgebiet — same fields as GET https://maps.ikeytz.com/api/v1/embed/ort/{slug} (part=full): phone/NAP, style, point, featureCollection (Polygon+Punkt), OSM ids, embed paths (ort/grenze/punkt), iframe. Separate GeoJSON also at …/grenze and …/punkt; Sammel /api/v1/embed/orte/grenzen and /orte/punkte. No separate polygon/points keys (L-16). Lookup slug|plz|name. USE when the agent needs coordinates+boundary+NAP in one MCP call. DOES NOT change the HTTP embed API. DOES NOT replace slim get_grenze (polygon-only) or get_geo_api (URL pointers). NEXT: get_grenze, get_contact, get_embed_map.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_hub Get Hub ~67
WHAT: maps hub card https://maps.ikeytz.com/ — title/h1 + 52 Gebiet links (not a single Visitenkarte). Call with {}. USE as the maps landing overview. DOES NOT include www prices. NEXT: get_service_area, list_service_areas.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_impressum Get Impressum ~199
WHAT: Impressum/Kontakt text from maps /llms-impressum-kontakt.txt. Optional offset/limit. USE for NAP/legal imprint on maps. NEXT: get_contact, get_business_identity; www /impressum for HTML.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_invoice_line_items Get Invoice Line Items ~220
WHAT: www pointer only — invoice line items are computed on www MCP. maps accepts situationKey/whenKey/breakdown for symmetry but returns html link to /preise, not totals. DOES NOT return totalEur. NEXT: @ikeytz/mcp get_invoice_line_items; get_ort_datetime here for Berlin clock/whenKey.
| Name | Type | Req | Description |
|---|---|---|---|
| breakdown | boolean | – | www flag; ignored for maps pointer payload. |
| locale | string | – | 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… |
| situationKey | string | yes | Required for www. Situation id (opening_slam, opening_locked, pkg_key_*, cylinder_only, cylinder_mount, aliases). |
| whenKey | string | – | day|night|now — used on www; maps only points. |
No output schema declared.
No examples provided.
get_lage Get Lage ~218
WHAT: Returns Lage (location description) prose for one Einsatzgebiet Visitenkarte. Lookup slug|plz|name. RETURNS slug, name, lage. USE for human-readable geography prose. Prefer get_geschichte for place history; prefer get_service_area for the full point card/embed. DOES NOT return polygons.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_legal Get Legal ~311
WHAT: Legal doc router. doc enum: urheberrecht|copyright|impressum (maps text via discovery) or agb|nutzungsbedingungen|datenschutz|widerruf (www URL pointer only). Optional offset/limit for maps text. USE for citations. DOES NOT serve www legal HTML body on maps. NEXT: get_urheberrecht / get_impressum shortcuts; www for AGB body.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Required. maps corpus: urheberrecht|copyright|impressum. www links only: agb|nutzungsbedingungen|datenschutz|widerruf. |
| limit | integer | – | 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 | string | – | 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… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_links Get Links ~161
WHAT: Returns the maps machine bookmark set of discovery URLs (hub, mcp, server-card, agent-skills, llms, registry search, npm @ikeytz/maps-mcp). USE to open known well-known endpoints by URL. Prefer get_discovery when you need file contents or line windows; prefer get_llms_txt for the primary llms index body. DOES NOT fetch discovery file bodies.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_llms_mcp_server Get Llms Mcp Server ~204
WHAT: Alias of get_discovery(which=llms-mcp-server) — machine/catalog text for the maps MCP server. Optional offset/limit. USE when an agent needs the server-side llms MCP catalog. NEXT: get_llms_mcp_web, get_links.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_llms_mcp_web Get Llms Mcp Web ~224
WHAT: Returns the web/UI-oriented MCP catalog text on maps (alias of get_discovery(which=llms-mcp-web)). Optional offset/limit. USE for browser/agent web discovery copy. Prefer get_llms_mcp_server for the server-side catalog; prefer get_llms_txt for the primary maps index. DOES NOT replace the live /mcp tools/list.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_llms_txt Get Llms Txt ~196
WHAT: Alias get_discovery(which=llms) — maps /llms.txt 1:1 with optional offset/limit. USE as the primary maps machine index. NEXT: get_ai_txt, get_sitemap_txt, get_links.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
get_nutzungsbedingungen Get Nutzungsbedingungen ~68
Returns only a maps HTML hand-off to www Nutzungsbedingungen. Does not return the terms body. USE when the user asks for Nutzungsbedingungen on maps; prefer www MCP for the corpus. DOES NOT invent clauses. NEXT: www get_nutzungsbedingungen / get_legal.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_ort_datetime Get Ort Datetime ~284
WHAT: Europe/Berlin wall clock to the second (stand YYYY-MM-DD HH:MM:SS CEST|CET) for pricing whenKey context. Optional slug|plz|name like get_service_area; omit = all 52 places with the same clock. RETURNS timezone, stand, iso, unix, date, time, tz, and whenKey day|night for www invoicing. USE before quoting via www get_invoice_line_items. DOES NOT return euro amounts (no price matrix on maps). NEXT: www @ikeytz/mcp get_invoice_line_items({situationKey, whenKey}) or get_prices.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_page_summary Get Page Summary ~205
WHAT: Short summary for a maps Gebiet (path/slug → area card) or www pointer for non-maps paths. path required (or slug). DOCS/API: https://maps.ikeytz.com/{slug} (HTML Visitenkarte) and https://maps.ikeytz.com/api/v1/embed/ort/{slug} (public embed JSON). USE to decide maps vs www. NEXT: get_ai_page, get_service_area.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
| path | string | yes | Required. maps path (/pattonville) or www path for pointer fallback. |
| slug | string | – | Alias for path/slug |
No output schema declared.
No examples provided.
get_partner_info Get Partner Info ~162
Returns only a maps HTML hand-off to www Partner-werden (/partner-werden). Does not return partnerEmail corpus or submit the partner form. USE when the user asks about becoming a partner while on maps. Prefer www MCP get_partner_info if already connected to www. formSubmit=false — never claim a form was sent. NEXT: www get_partner_info; or maps compose_mailto after opening www.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_prices Get Prices ~161
WHAT: Returns only a URL/note pointing to the Festpreis matrix on www.ikeytz.com/preise — no euro rows. USE to hand the agent from maps to www pricing. Prefer www MCP get_prices for the real matrix; call maps get_ort_datetime first if you need whenKey (day|night) for a later www invoice. DOES NOT invent prices or return totalEur.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_ratgeber Get Ratgeber ~157
WHAT: Returns only a URL to www /ratgeber/{slug} — not the article body. slug required. USE when the user names a Ratgeber slug on maps. Prefer list_ratgeber for the hub link when the slug is unknown; prefer www MCP get_ratgeber for fulltext. DOES NOT return article text.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
| slug | string | yes | Required Ratgeber slug |
No output schema declared.
No examples provided.
get_review_url Get Review Url ~146
WHAT: Returns only a URL to www.ikeytz.com/review (Google-review entry page) — not a review payload. USE when the user asks where to leave a Google review while already on maps. Prefer www MCP get_review_url when connected to www for the canonical review-link payload. DOES NOT post a review.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | 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… |
No output schema declared.
No examples provided.
get_serp_snippet Get Serp Snippet ~144
WHAT: One SERP block from maps llms-serp.txt via path, url, slug, or q. RETURNS path, url, matchContext (full block). DOCS/API: https://maps.ikeytz.com/llms-serp.txt (one block from that file). USE for a single page's SERP copy. DOES NOT invent meta tags. NEXT: get_ai_page or get_page_summary for body.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | – | maps path, e.g. /pattonville |
| q | string | – | Fallback search string |
| slug | string | – | Gebiet slug |
| url | string | – | Full maps URL |
No output schema declared.
No examples provided.
get_service_area Get Service Area ~449
WHAT: One Einsatzgebiet by slug → plz (first match) → name substring. RETURNS point card + maps_nav (hub/buero/mcp-hub) + neighbors (5 nearest by airline, MAPS-IL2) + optional Lage texts (h1, kicker, blurb, lage, geschichte) unless compact=true. fields= filters keys. USE when the user names a town/district in Landkreis Ludwigsburg. DOES NOT geocode free addresses outside the 52; unknown → ok=false unknown_place. NEXT: get_lage, get_geschichte, get_grenze, get_embed_map, distance_to_office.
| Name | Type | Req | Description |
|---|---|---|---|
| compact | boolean | – | If true, omit h1/kicker/blurb/lage/geschichte — coords + URLs + neighbors still present. |
| fields | string | – | 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. Ex… |
| locale | string | – | 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… |
| name | string | – | German place name substring (case-insensitive, umlauts ok), e.g. Grünbühl, Pattonville. Used when slug/plz omitted. |
| plz | string | – | 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. |
| slug | string | – | 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. |
No output schema declared.
No examples provided.
get_sitemap_txt Get Sitemap Txt ~238
WHAT: Reads maps /sitemap.txt 1:1 (alias of get_discovery(which=sitemap-txt)); summary is a line window plus trailing # MCP-META. Optional offset/limit. USE to list public maps embed URLs including /buero. Prefer get_discovery for other discovery ids; prefer site_overview for the brand card, not a URL list. NEXT: resolve_maps_url, get_embed_map, get_geo_office.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..… |
| offset | integer | – | 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. |
No output schema declared.
No examples provided.
How do I install the io.github.CloudCorpRecords/areaguide MCP server?
io.github.CloudCorpRecords/areaguide runs locally as a container image, launched with docker run --rm -i ghcr.io/cloudcorprecords/areaguide:0.1.0. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/cloudcorprecords/areaguide
claude mcp add cloudcorprecords-areaguide -- docker run --rm -i ghcr.io/cloudcorprecords/areaguide:0.1.0
What is the io.github.CloudCorpRecords/areaguide MCP server?
io.github.CloudCorpRecords/areaguide is an MCP server listed in the public MCP registry as io.github.CloudCorpRecords/areaguide. Forwarding client for the ikeytz maps read/link service: service areas, places and site pages. This page covers its container image (ghcr.io/cloudcorprecords/areaguide).
Is the io.github.CloudCorpRecords/areaguide MCP server safe to use?
io.github.CloudCorpRecords/areaguide scores 39 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.CloudCorpRecords/areaguide MCP server expose?
io.github.CloudCorpRecords/areaguide exposes 68 tools: list_service_areas, get_service_area, get_ort_datetime, get_geo_office, get_contact, and 63 more. Their descriptions and schemas cost roughly 12,681 tokens of context every time the server is loaded.
Is the io.github.CloudCorpRecords/areaguide MCP server still maintained?
io.github.CloudCorpRecords/areaguide is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.CloudCorpRecords/areaguide MCP server under?
io.github.CloudCorpRecords/areaguide declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.