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

TableJSON 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

TableJSON 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.6/5.0
Behavior5/5

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

Annotations already mark readOnlyHint=true, and the description adds meaningful behavioral context beyond that: it returns a specific fixed office, walkIn=false, external GBP click only, and embed/API URLs. It also explicitly warns that this is not a shop or a service-area map, which prevents misinvocation. No contradiction with annotations.

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?

The description is front-loaded with WHAT and RETURNS, then boundaries, then next steps. It is dense and slightly noisy with all-caps labels and inline URLs, but every sentence earns its place and no information is wasted.

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?

Given an output schema and a readOnlyHint annotation, the description still adds essential context: the exact address, non-shop status, service-area exclusion, external-click behavior, and follow-up tool suggestions. An agent has everything needed to decide when and how to invoke it correctly.

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 parameter, locale, and the input schema documents it comprehensively (enum values, default, URL prefix behavior, exclusions). The description does not need to add parameter detail; baseline 3 applies because the schema does the heavy lifting.

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?

The description states a specific verb and resource: it returns the registered office (Firmensitz) for a fixed SITE.geo address. It clearly distinguishes itself from shop and service-area place maps, even naming sibling alternatives. An agent can immediately tell this tool apart from related get/list tools.

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?

The description gives explicit when-to-use guidance: use this for the registered office, never send customers to walk in, and use list_service_areas / get_service_area for Ort slugs instead. It also names likely next tools (get_contact, get_legal). This gives the agent clear routing and exclusion criteria.

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