Skip to main content
Glama

DaedalMap Administrative Boundaries (loc_id to polygon)

Retrieve Shapes for Known loc_ids

get_geometry
Read-onlyIdempotent

Shape availability and bounded coordinate retrieval only: use when you already have exact loc_ids, or one administrative parent_loc_id plus target admin_level. The default fast preflight returns has_shape, shape metadata, centroid, and bounding box; set include_polygon=true only for GeoJSON coordinates. Use get_loc_id_info for hierarchy, identity, catalog coverage, or crosswalk facts; get_geometry does not return those place details. Administrative scope queries stay within the optimized Admin Spine layout, while independent geometry families require exact loc_ids. Historical geometry is returned first and successors are never substituted automatically. Access is selected-material dependent: tools/list metadata gives the lane ceilings, while the chosen geometry bank decides whether payment is required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNo
loc_idNoDaedalMap loc_id, such as USA-CA-037, USA-Z-00601, USA-NWSFZ-AKZ317, EEZ-USA, or IHO1953-240001002.
loc_idsNoExact DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true.
batch_idNoOptional caller-supplied batch id for tracing.
request_idNoOptional caller-supplied request id for tracing.
include_polygonNoWhen true, include the full GeoJSON geometry. Default false.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
errorNo
itemsNo
scopeNo
reasonNo
missingNo
batch_idNo
guidanceNo
warningsNo
availableNo
next_stepNo
requestedNo
selectionNo
request_idNo
clarificationNo
meter_receiptNo
include_polygonNo
settlement_receiptNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": true,
      +  "anyOf": [
      +    {
      +      "required": [
      +        "ok",
      +        "selection",
      +        "items"
      +      ]
      +    },
      +    {
      +      "required": [
      +        "error"
      +      ]
      +    }
      +  ],
      +  "properties": {
      +    "available": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "batch_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "clarification": {
      +      "type": "object"
      +    },
      +    "error": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "code": {
      +          "type": "string"
      +        },
      +        "details": {
      +          "type": "object"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "retry_hint": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message"
      +      ],
      +      "type": "object"
      +    },
      +    "guidance": {
      +      "type": "object"
      +    },
      +    "include_polygon": {
      +      "type": "boolean"
      +    },
      +    "items": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "error": {
      +            "additionalProperties": true,
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "details": {
      +                "type": "object"
      +              },
      +              "message": {
      +                "type": "string"
      +              },
      +              "retry_hint": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "code",
      +              "message"
      +            ],
      +            "type": "object"
      +          },
      +          "id": {
      +            "type": [
      +              "string",
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "ok": {
      +            "type": "boolean"
      +          },
      +          "row_index": {
      +            "type": [
      +              "string",
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "meter_receipt": {
      +      "type": "object"
      +    },
      +    "missing": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "next_step": {
      +      "additionalProperties": true,
      +      "anyOf": [
      +        {
      +          "required": [
      +            "action"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "tool"
      +          ]
      +        }
      +      ],
      +      "properties": {
      +        "action": {
      +          "type": "string"
      +        },
      +        "arguments": {
      +          "type": "object"
      +        },
      +        "tool": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "reason": {
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "requested": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "scope": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "selection": {
      +      "enum": [
      +        "exact_loc_ids",
      +        "admin_scope"
      +      ],
      +      "type": "string"
      +    },
      +    "settlement_receipt": {
      +      "type": "object"
      +    },
      +    "warnings": {
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed7 schema fields changed
    • removedInput schema / anyOf
      Removed value: -[
      -  {
      -    "required": [
      -      "loc_id"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "loc_ids"
      -    ]
      -  }
      -]
    • addedInput schema / oneOf
      Added value: +[
      +  {
      +    "required": [
      +      "loc_id"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "loc_ids"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "scope"
      +    ]
      +  }
      +]
    • removedInput schema / properties / detail
      Removed value: -{
      -  "default": "lite",
      -  "description": "Lite returns shape metadata, bbox, and centroid. Full also includes the attached location-info block.",
      -  "enum": [
      -    "lite",
      -    "full"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / properties / loc_ids / description
      Previous value: -"DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true."New value: +"Exact DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true."
    • addedInput schema / properties / loc_ids / minItems
      Added value: +1
    • addedInput schema / properties / loc_ids / uniqueItems
      Added value: +true
    • addedInput schema / properties / scope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "admin_level": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "integer"
      +        }
      +      ],
      +      "description": "Descendant level to retrieve, such as admin_2, 2, or county."
      +    },
      +    "bbox": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "number"
      +          },
      +          "maxItems": 4,
      +          "minItems": 4,
      +          "type": "array"
      +        },
      +        {
      +          "type": "string"
      +        }
      +      ],
      +      "description": "Optional minLon,minLat,maxLon,maxLat intersection filter."
      +    },
      +    "parent_loc_id": {
      +      "description": "Administrative parent loc_id, such as USA-TX or CAN-BC.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "parent_loc_id",
      +    "admin_level"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "default": "lite",
      +  "description": "Lite returns shape metadata, bbox, and centroid. Full also includes the attached location-info block.",
      +  "enum": [
      +    "lite",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • removedInput schema / properties / include_info
      Removed value: -{
      -  "description": "When true for loc_ids batch mode, include heavier loc_id_info enrichment for each result. Default false for lean bulk geometry responses.",
      -  "type": "boolean"
      -}
  5. Changed1 schema field changed
    • addedInput schema / properties / include_info
      Added value: +{
      +  "description": "When true for loc_ids batch mode, include heavier loc_id_info enrichment for each result. Default false for lean bulk geometry responses.",
      +  "type": "boolean"
      +}
  6. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly/idempotent/non-destructive), and the description adds real behavior: default preflight payload contents, that include_polygon is only for GeoJSON, historical-first with no automatic successor substitution, and an access/payment gate. The access sentence is useful but cryptically worded ('selected-material dependent', 'lane ceilings'), which blunts otherwise strong disclosure.

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

Conciseness3/5

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

The purpose is front-loaded in sentence one, but the remaining text is dense internal jargon ('Admin Spine layout', 'chosen geometry bank', 'lane ceilings') that costs the reader more than it returns. Several clauses could be tightened without losing information.

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?

An output schema exists and the description wisely summarizes the preflight shape rather than re-documenting returns. It covers the access restriction, historical-version policy, and admin-scope constraint, which is thorough for a 6-parameter nested tool; only the opaque payment/access wording leaves a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 83%, so baseline is 3; the description adds meaning beyond it by framing the three oneOf modes (single loc_id, exact loc_ids batch, parent_loc_id+admin_level scope) and clarifying that include_polygon gates the coordinate payload. It does not add syntax detail for batch_id/request_id, but those are trivial.

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+resource with scope: 'Shape availability and bounded coordinate retrieval only', then explicitly names what it does NOT do ('get_geometry does not return those place details'). An agent can separate it from get_loc_id_info without opening either 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 invocation conditions ('use when you already have exact loc_ids, or one administrative parent_loc_id plus target admin_level') and names the alternative for the excluded cases ('Use get_loc_id_info for hierarchy, identity, catalog coverage, or crosswalk facts'). Routing is fully specified.

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.