Skip to main content
Glama

search_place

Read-only

Löst den NAMEN einer Stadt, Region oder eines Bezirks in Koordinaten und OSM-Ids auf — der erste Schritt, wenn ein GEBIET verortet werden muss („was kann ich in unternehmen", „wie ist das Wetter in "). Für eine HALTESTELLE ist dieses Werkzeug fast immer falsch: es kennt Gebiete, keine Bahnsteige — auf einen Bahnhofs-Namen antwortet es mit keinem Ort, und die Id, die es liefert, ist eine OSM-Id und keine fahrbare Halte-Id. Trägt die Anfrage Bahnhof, Hauptbahnhof, Hbf oder Bf, gehört sie an die Ortsauflösung — „Köln Hauptbahnhof" und „Hannover Bahnhof" also dorthin: hier antworten beide mit einer leeren Liste. Dasselbe für Adresse und POI — alles, was Start, Ziel oder Abfahrtsort einer Fahrt sein kann; eine Stadt als Fahrt-Endpunkt („von Hannover nach Celle") ebenfalls. Von einer Koordinate zurück zum Namen geht reverse_geocode, die Umgebung einer Koordinate listet nearby. Pflicht: name. Optional: lang (derzeit ohne Wirkung). score: 1 = derselbe Name, ab 0,5 als ganzes Wort; liegt der erste Treffer darunter, trägt er den Namen nicht (Namensvetter, oder der Ort unter eigenem Namen: „Luxemburg" → Luxembourg) — Koordinate prüfen, sonst Ortsauflösung. Anleitung: get_usage_guide mit tool='search_place' — Abgrenzung, Ketten, score, mehrdeutige Namen. Anti-Fab: nur die zurückgegebenen Namen und Ids nutzen, keine Bauch-Geographie.

Input Schema

NameRequiredDescriptionDefault
langNoOptional ISO language code (e.g. "de", "en"). Currently without effect: the places are named as the map names them, whatever is asked for. Kept in the signature so a multilingual answer needs no new argument.
nameYesName of the area to search for, matched against the places of the map behind this endpoint, countries down to parts of towns (e.g. "Hannover", "Linden", "Wangerland").
formatNoAnswer serialisation: `"toon"` (default) or `"json"` — the detail is in `get_usage_guide`. **An agent leaves this out.**

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Optional ISO language code (e.g. \"de\", \"en\"). Currently advisory: the\nplace names are the German ones the data carries, whatever is asked for.\nKept in the signature so a multilingual answer needs no new argument."New value: +"Optional ISO language code (e.g. \"de\", \"en\"). Currently without effect:\nthe places are named as the map names them, whatever is asked for. Kept in\nthe signature so a multilingual answer needs no new argument."
    • changedInput schema / properties / name / description
      Previous value: -"Name of the area to search for. Free-text fuzzy match against the place\nindex behind this endpoint (e.g. \"Hannover\", \"Linden\", \"Wangerland\")."New value: +"Name of the area to search for, matched against the places of the map\nbehind this endpoint, countries down to parts of towns (e.g. \"Hannover\",\n\"Linden\", \"Wangerland\")."
  2. Changed1 schema field changed
    • changedInput schema / properties / name / description
      Previous value: -"Name of the place to search for. Free-text fuzzy match against the place\nindex behind this endpoint (e.g. \"Hannover\", \"Maschsee\", \"Wangerland\")."New value: +"Name of the area to search for. Free-text fuzzy match against the place\nindex behind this endpoint (e.g. \"Hannover\", \"Linden\", \"Wangerland\")."
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/non-destructive, but the description adds real behavioral detail beyond them: failure mode (empty list for station names), the nature of the returned id (OSM id, not a drivable stop id), and how to read the `score` field including the threshold and the Luxembourg/Luxembourg edge case. The anti-fabrication instruction ('only use returned names and ids') further constrains agent 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?

Purpose and the area-vs-stop distinction are front-loaded, and every block (exclusions, alternatives, params, score, guide, anti-fabrication) carries information. The heavy capitalization and bold markers make it dense and slightly repetitive with the schema on `lang`, but nothing is padding.

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?

There is no output schema, so the description must explain what comes back — it does, covering the coordinate/id pair, the score semantics and the empty-list case. Combined with the explicit routing rules to siblings, an agent has everything needed to call it correctly or avoid it.

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%, so the schema already documents name, lang and format; the description mostly restates that name is required and lang has no effect, which the schema also says. Its substantive additions concern the returned `score` value rather than input parameters, 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 — resolving the NAME of a city, region or district into coordinates and OSM ids — and frames it as the first step for locating an AREA, with concrete query examples. It explicitly distinguishes itself from resolve_location, reverse_geocode and nearby, so an agent can route without opening a schema.

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 guidance: for a Haltestelle this tool is 'almost always wrong', it answers station names with an empty list, and any query containing Bahnhof/Hauptbahnhof/Hbf/Bf belongs to the Ortsauflösung. It also names the alternatives with their conditions (reverse_geocode for coordinate→name, nearby for surroundings) and points to get_usage_guide for deeper disambiguation.

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