Skip to main content
Glama

ikeytz Einsatzgebiet-Karten

Get Review Url

get_review_url
Read-only

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.

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.
npmNowww CLI package @ikeytz/mcp
hintNoPresent when ok=false. Absolute URL or short recovery hint the agent should open or pass to another tool.
htmlNoAbsolute www.ikeytz.com URL — open there or call @ikeytz/mcp
noteNomaps only points; Volltext/Preise/FAQ live on www
toolYesEcho of the tool name that produced this object (e.g. get_service_area).
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.
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.
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.
www_mcpNohttps://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus
www_toolNoSame tool name on www MCP that holds the real payload
attributionYesRequired citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://maps.ikeytz.com/.well-known/ai.txt'
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.
requested_localeNoLocale the caller asked for; maps still returns locale=de

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"
      +    },
      +    "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"
      +    },
      +    "html": {
      +      "description": "Absolute www.ikeytz.com URL — open there or call @ikeytz/mcp",
      +      "format": "uri",
      +      "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"
      +    },
      +    "note": {
      +      "description": "maps only points; Volltext/Preise/FAQ live on www",
      +      "type": "string"
      +    },
      +    "npm": {
      +      "description": "www CLI package @ikeytz/mcp",
      +      "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"
      +    },
      +    "related": {
      +      "description": "Always includes https://maps.ikeytz.com/llms.txt.",
      +      "items": {
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "requested_locale": {
      +      "description": "Locale the caller asked for; maps still returns locale=de",
      +      "type": "string"
      +    },
      +    "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"
      +    },
      +    "www_mcp": {
      +      "description": "https://www.ikeytz.com/mcp — sister machine for prices/FAQ/corpus",
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "www_tool": {
      +      "description": "Same tool name on www MCP that holds the real payload",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "tool",
      +    "attribution"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

readOnlyHint=true already declares the safe-read profile, but the description adds meaningful context beyond it: the return is only a URL, not a review payload, and it 'DOES NOT post a review'. That clarifies side-effect absence beyond the annotation. It doesn't add rate-limit/auth detail, keeping it at a 4.

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 WHAT/USE/DOES-NOT structure is easy to scan, and each clause carries routing or behavioral information. Slightly verbose, with 'not a review payload' and 'DOES NOT post a review' being near-adjacent reassurances, but nothing is wasted outright.

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?

An output schema exists, so return-value explanation is not required, and the description covers purpose, trigger, alternative, and non-mutation. Nothing an agent needs to invoke it correctly 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?

Schema coverage is 100% and the schema's own locale description already explains the de-only enum and the www-unused caveat. The description adds no parameter-level meaning, 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 and resource ('Returns only a URL ... not a review payload') and explicitly scopes it to the maps variant versus the www MCP get_review_url. An agent can tell exactly what it yields and how it differs from the similarly-named sibling.

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?

Names the trigger condition ('when the user asks where to leave a Google review while already on maps') and the alternative ('Prefer www MCP get_review_url when connected to www for the canonical review-link payload'). Both when-to-use and routing are 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