Skip to main content
Glama

find_locations_near

Read-only

Find locations by exact planar distance; filters before limiting. For text discovery use search_locations; for nearby groups, preservation and highways together use research_area. Example: {"location_name":"Mu Megabase","radius":30000000,"limit":10,"exclude_origin":true}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNoNative X coordinate; provide x/z OR location_id OR exact location_name.
zNoNative Z coordinate, paired with x.
groupNoOptional group name or alias.
limitNoMaximum results, 1–100.
radiusNoNative-dimension radius, 1–30,000,000 blocks.
dimensionNo0 Overworld, 1 Nether, 2 End. Inferred for a named location; defaults to Overworld for coordinates.
has_renderNoRequire or exclude a public render; omit for either.
location_idNoAtlas location ID as the origin; do not combine with x/z or name.
location_nameNoExact location name, case-insensitive. Ambiguous names require an ID.
exclude_originNoExclude the origin location ID when resolved by name/ID.
has_world_downloadNoRequire or exclude a downloadable WDL; omit for either.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed19 schema fields changed
    • changedInput schema / properties / dimension / default
      Previous value: -0New value: +null
    • changedInput schema / properties / dimension / description
      Previous value: -"Minecraft dimension: 0 Overworld, 1 Nether, or 2 End."New value: +"0 Overworld, 1 Nether, 2 End. Inferred for a named location; defaults to Overworld for coordinates."
    • changedInput schema / properties / dimension / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • addedInput schema / properties / exclude_origin
      Added value: +{
      +  "default": false,
      +  "description": "Exclude the origin location ID when resolved by name/ID.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / group
      Added value: +{
      +  "default": null,
      +  "description": "Optional group name or alias.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / has_render
      Added value: +{
      +  "default": null,
      +  "description": "Require or exclude a public render; omit for either.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / has_world_download
      Added value: +{
      +  "default": null,
      +  "description": "Require or exclude a downloadable WDL; omit for either.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum results, from 1 to 100. Defaults to 20."New value: +"Maximum results, 1–100."
    • addedInput schema / properties / location_id
      Added value: +{
      +  "default": null,
      +  "description": "Atlas location ID as the origin; do not combine with x/z or name.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / location_name
      Added value: +{
      +  "default": null,
      +  "description": "Exact location name, case-insensitive. Ambiguous names require an ID.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / radius / default
      Added value: +10000
    • changedInput schema / properties / radius / description
      Previous value: -"Search radius in blocks, from 1 to 30,000,000."New value: +"Native-dimension radius, 1–30,000,000 blocks."
    • addedInput schema / properties / x / default
      Added value: +null
    • changedInput schema / properties / x / description
      Previous value: -"Native-dimension Minecraft X block coordinate."New value: +"Native X coordinate; provide x/z OR location_id OR exact location_name."
    • changedInput schema / properties / x / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • addedInput schema / properties / z / default
      Added value: +null
    • changedInput schema / properties / z / description
      Previous value: -"Native-dimension Minecraft Z block coordinate."New value: +"Native Z coordinate, paired with x."
    • changedInput schema / properties / z / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / required
      Removed value: -[
      -  "x",
      -  "z",
      -  "radius"
      -]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds valuable behavioral context: 'exact planar distance' clarifies the matching method, and 'filters before limiting' discloses the order of operations, which matters for understanding result sets. It doesn't contradict annotations and provides context beyond them, though it doesn't elaborate on edge cases or return format (covered by output schema).

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

Conciseness5/5

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

The description is two concise sentences plus an example. It front-loads the primary purpose and differentiation, and the example is directly useful without being verbose. Every element earns its place.

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?

The tool has a rich input schema (11 parameters, all documented) and an output schema, so the description doesn't need to explain return values. It covers the key behavioral aspects (exact distance, filter order) and provides usage guidance. The only minor gap is not explicitly stating that it is read-only, but that is already in the annotations. Overall, an agent has enough information to call 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?

The schema description coverage is 100%, so each parameter is already well-documented. The description adds a concrete example illustrating parameter usage (location_name, radius, limit, exclude_origin), which is helpful but not essential since the schema carries the full meaning. This aligns with the baseline of 3 for full schema coverage.

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 ('Find'), a resource ('locations'), and the method ('by exact planar distance'). It also distinguishes itself from siblings by explicitly naming search_locations and research_area as alternatives for different use cases, so an agent can tell them apart without inspecting other schemas.

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: it says 'For text discovery use search_locations; for nearby groups, preservation and highways together use research_area.' This clearly routes the agent to the correct tool based on the query type, leaving no ambiguity about when to choose this tool over its siblings.

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.