Skip to main content
Glama

ikeytz Einsatzgebiet-Karten

get_business_identity

Read-only

WHO: Inhaber, brand, legalName, hours, NAP, office coords. walkIn=false — mobile only. USE for LocalBusiness / impressum-grade facts on maps. DOES NOT update records. NEXT: get_contact, get_geo_office, get_impressum.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
localeNomaps 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.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.
napNoPublic NAP payload
wwwNo
hintNoPresent when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.
mapsNo
noteNo
toolYesEcho of the tool name that produced this object (e.g. get_service_area).
brandNo
errorNoPresent 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.
hoursNo
ownerNoMahmud Reza Kashani
localeNoLocale actually used for URLs. maps is German-only: always de (MAPS-E8 — no /en on maps). Requested non-de is ignored; payload locale=de.
officeNolat/lng/google_maps/icbm
walkInNoAlways false
relatedNoAlways includes https://maps.ikeytz.com/llms.txt.
summaryNoPrimary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.
legalNameNo
attributionYesRequired citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'
office_noteNo
canonicalUrlNoBest 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / locale / default
      Added value: +"de"
    • addedInput schema / properties / locale / description
      Added value: +"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."
    • addedInput schema / properties / locale / enum
      Added value: +[
      +  "de"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "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.",
      +  "properties": {
      +    "attribution": {
      +      "description": "Required citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'",
      +      "type": "string"
      +    },
      +    "brand": {
      +      "type": "string"
      +    },
      +    "canonicalUrl": {
      +      "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.",
      +      "type": "string"
      +    },
      +    "error": {
      +      "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.",
      +      "type": "string"
      +    },
      +    "hint": {
      +      "description": "Present when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.",
      +      "type": "string"
      +    },
      +    "hours": {
      +      "type": "string"
      +    },
      +    "legalName": {
      +      "type": "string"
      +    },
      +    "locale": {
      +      "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.",
      +      "enum": [
      +        "de"
      +      ],
      +      "type": "string"
      +    },
      +    "maps": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "nap": {
      +      "description": "Public NAP payload",
      +      "type": "object"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "office": {
      +      "description": "lat/lng/google_maps/icbm",
      +      "type": "object"
      +    },
      +    "office_note": {
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "true = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.",
      +      "type": "boolean"
      +    },
      +    "owner": {
      +      "description": "Mahmud Reza Kashani",
      +      "type": "string"
      +    },
      +    "related": {
      +      "description": "Always includes https://maps.ikeytz.com/llms.txt.",
      +      "items": {
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "summary": {
      +      "description": "Primary text for the model. For discovery tools this is the file window. For list tools a compact one-liner. Quote with attribution.",
      +      "type": "string"
      +    },
      +    "tool": {
      +      "description": "Echo of the tool name that produced this object (e.g. get_service_area).",
      +      "type": "string"
      +    },
      +    "walkIn": {
      +      "description": "Always false",
      +      "type": "boolean"
      +    },
      +    "www": {
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "tool",
      +    "attribution"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description reinforces it with 'DOES NOT update records.' It also adds a non-obvious behavioral/data fact: 'walkIn=false — mobile only.' This is useful context beyond the annotation, though it mostly describes the business entity rather than tool behavior.

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 four compact, scannable segments (WHO/USE/DOES NOT/NEXT) with no filler. Each segment earns its place and key information is front-loaded.

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

Completeness4/5

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

Given a single optional parameter, a full output schema, and a readOnly annotation, the description covers the scope of data, use case, exclusivity, and follow-up tools. The only small gap is an explicit statement that the tool can be called with no arguments, but the schema/context already conveys this.

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?

Schema description coverage is 100%; the locale parameter is fully documented in the schema, including its German-only behavior and ignored values. The tool description adds no parameter-level information, so the baseline 3 applies.

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

Purpose4/5

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

The description explicitly lists the returned data fields (Inhaber, brand, legalName, hours, NAP, office coords) and states 'USE for LocalBusiness / impressum-grade facts on maps.' This clearly identifies the tool as a getter for business identity and distinguishes it from update tools with 'DOES NOT update records.' It only misses a direct verb phrase, relying on the name for 'get.'

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

Usage Guidelines3/5

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

It gives an explicit use case ('USE for LocalBusiness / impressum-grade facts on maps') and an exclusion ('DOES NOT update records'). The 'NEXT: get_contact, get_geo_office, get_impressum' hints at related tools but doesn't explicitly state when to choose them over this one, so the guidance is more implied than explicit.

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