Skip to main content
Glama

ikeytz - Schlüsseldienst Ludwigsburg

Get Geo Office

get_geo_office
Read-only

WHAT: Firmensitz / registered office once (SITE.geo = Adalbert-Stifter-Str. 14, 71638 Ludwigsburg). RETURNS: street, postal, city, lat/lng, icbm, walkIn=false, firmensitz_url=https://maps.ikeytz.com/buero, embed_map=same, embed_map_compact=?embed=1, geo_api=/api/v1/embed/office, google_business=GBP share (external click only). canonicalUrl = firmensitz map. NOT a shop — never send customers to walk in. NOT a service-area place map (use list_service_areas / get_service_area for Ort slugs). NEXT: get_contact, get_legal(doc=impressum), or maps MCP get_geo_office on maps.ikeytz.com/mcp.

Input Schema

NameRequiredDescriptionDefault
localeNoHTML locale for canonicalUrl and path prefixes. de = default, URLs have no prefix (https://www.ikeytz.com/preise). en|fr|ru|fa|ar|tr = prefix /{locale}/ (https://www.ikeytz.com/en/preise). Omit or empty = de. Does not change prices, phone numbers, or legal German names. Not a maps.ikeytz.com locale (maps is German-only).de

Output Schema

NameRequiredDescriptionDefault
okYestrue = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.
latNoWGS84 latitude of THIS place or the office. Unique per slug — never a silent Pattonville fallback. Example Pattonville ≈ 48.863.
lngNoWGS84 longitude of THIS place or the office. Example Pattonville ≈ 9.185.
cityNoOffice city (Ludwigsburg).
hintNoPresent when ok=false. Absolute URL the agent should open or pass to get_ai_page / get_discovery.
icbmNoICBM 'lat, lng' string (same as google_maps).
noteNoBüro · kein Walk-in · nicht Einsatzgebiet.
toolYesEcho of the tool name that produced this object (e.g. get_service_area).
errorNoPresent when ok=false. Codes include: unknown_tool, unknown_place, unknown_auswahl, unknown_ratgeber, unknown_doc, unknown_discovery, faq_not_found, wissen_not_found, serp_not_found, q_required, bad_datetime, bad_when_key, plus HTTP errors from fetch.
localeNoLocale actually used for URLs (args.locale or de).
postalNoOffice PLZ.
streetNoOffice street line.
walkInNoAlways false.
geo_apiNohttps://maps.ikeytz.com/api/v1/embed/office JSON.
relatedNoAlways includes https://www.ikeytz.com/llms.txt. Geo tools also include https://maps.ikeytz.com/llms.txt.
summaryNoPrimary text for the model. For discovery tools this is the file window (possibly thousands of characters). For list tools a compact one-liner. Quote with attribution.
maps_mcpNomaps machine MCP endpoint.
embed_mapNoSame as firmensitz_url (iframe-capable page).
attributionYesRequired citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://www.ikeytz.com/.well-known/ai.txt'
google_mapsNoPaste-ready 'lat, lng' for Google Maps search (same digits as lat/lng).
canonicalUrlNoBest URL to show the user: https://www.ikeytz.com… page, or tel:+49…, mailto:…, https://wa.me/…. Prefer this over constructing URLs.
firmensitz_urlNohttps://maps.ikeytz.com/buero — Firmensitz map (not an Ort slug).
google_businessNoGoogle Business Profile share link (external).
embed_map_compactNohttps://maps.ikeytz.com/buero?embed=1 — map-only embed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedOutput schema / properties / embed_map
      Added value: +{
      +  "description": "Same as firmensitz_url (iframe-capable page).",
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / embed_map_compact
      Added value: +{
      +  "description": "https://maps.ikeytz.com/buero?embed=1 — map-only embed.",
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / firmensitz_url
      Added value: +{
      +  "description": "https://maps.ikeytz.com/buero — Firmensitz map (not an Ort slug).",
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / geo_api
      Added value: +{
      +  "description": "https://maps.ikeytz.com/api/v1/embed/office JSON.",
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / google_business
      Added value: +{
      +  "description": "Google Business Profile share link (external).",
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / maps_mcp
      Added value: +{
      +  "const": "https://maps.ikeytz.com/mcp",
      +  "description": "maps machine MCP endpoint.",
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "Büro · kein Walk-in · nicht Einsatzgebiet.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true the safety profile is already covered, but the description adds meaningful non-schema behavior: walkIn=false, 'never send customers to walk in', and google_business being an 'external click only' share. It does not discuss rate limits or caching, but the added behavioral constraints are substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and organized with WHAT / RETURNS / NOT / NEXT markers, and the routing constraints come early. However the RETURNS list enumerates many fields that the output schema already carries, which is mild redundancy against a 10% dimension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-param, read-only geography tool with a full output schema, the description plus annotations cover everything an agent needs to call it and to route away from it correctly. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one optional parameter and schema description coverage is 100%, so the schema fully owns locale semantics (prefix behavior, defaults, what it does not change). The description adds no locale-specific detail itself, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (retrieves the registered office / Firmensitz geo record) and even gives the concrete value (Adalbert-Stifter-Str. 14). It explicitly distinguishes itself from related siblings, saying it is 'NOT a service-area place map (use list_service_areas / get_service_area for Ort slugs)'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-not conditions ('NOT a shop — never send customers to walk in', 'never send customers to walk in') and names the alternative sibling tools for service-area lookups. It also points to plausible next calls (get_contact, get_legal(doc=impressum), or the maps MCP).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources