Skip to main content
Glama

Bhumi MCP: Data Tanah ATR/BPN, RDTR OSS, HGU & Konsesi

Get zoning (RDTR) at a point or by id

Zoning_get
Read-onlyIdempotent

RDTR zoning (detailed spatial plan) at a location, or one zone by id (Parcel_get's zona.ids). Pass query as 'latitude, longitude' (e.g. -6.4601, 107.0093), or id. Each zone has kodzon/namzon (zone, e.g. R Zona Perumahan), kodszn/namszn (sub-zone, e.g. R-2 Perumahan Kepadatan Tinggi), lindung (true = protected zone, false = cultivation zone), the planning hierarchy (kodewp planning area, kodswp sub-area, kodblk block, kodsbl sub-block), kecamatan and desa as the plan names them, luas (m², the whole zone polygon) and rdtr, the plan with its regulation (peraturan) and a link to it (pp). ketentuan holds the special provisions that apply, keyed by code: krb disaster-prone, lp2b protected food farmland, kkop airport flight safety, ksmpdn setback, teb disaster evacuation, tod transit-oriented development, cagbud cultural heritage, resair water catchment, hankam defence, kkarst karst, ptbgmb mining, mgrsat wildlife migration, rdbumi underground space, puslit research centre, tpz zoning technique (TPZ). An empty result at a point means no RDTR plan covers it in this data, not that the land is unzoned: the regional plan (RTRW) still applies. Where plans overlap, more than one zone is returned.

Input Schema

NameRequiredDescriptionDefault
idNoZone id, e.g. 21A5-125300
queryNo'latitude, longitude'
include_geometryNoInclude each zone's boundary as a GeoJSON MultiPolygon

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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/idempotent/non-destructive, and the description goes well beyond them: it explains that an empty point result means no RDTR plan covers the location rather than unzoned land, and that overlapping plans return multiple zones. That is exactly the kind of edge-case behavior an agent cannot infer from structured fields.

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 is front-loaded in the first clause, and almost every sentence carries information an agent needs. The long enumeration of ketentuan codes and hierarchy fields is dense prose that would be more scannable as a list, which keeps it from a 5.

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?

With no output schema, the description takes on the burden of explaining return fields and does so field by field (kodzon/namzon, lindung, hierarchy codes, luas, rdtr/peraturan/pp, ketentuan codes), plus the empty-result and overlap semantics. An agent can interpret the response without further documentation.

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 100%, so the baseline is 3; the description adds value by supplying a concrete coordinate example for the query string and by stating that ids come from Parcel_get's zona.ids. It does not mention include_geometry, leaving that entirely to the schema.

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 — retrieving RDTR zoning at a location or a single zone by id — and distinguishes itself from Parcel_get by referencing its zona.ids for id lookup. The parenthetical '(detailed spatial plan)' disambiguates the domain term RDTR.

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

Usage Guidelines4/5

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

Gives clear invocation guidance for both modes: 'Pass query as latitude, longitude ... or id', and points to Parcel_get as the source of zone ids. It lacks explicit guidance on when to prefer it over the sibling Zoning_summary, so it stops short of full when-not/alternatives coverage.

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.