Skip to main content
Glama

MarketCode

One parcel: owner, units, plot, constraints

parcel_lookup
Read-onlyIdempotent
One land parcel in full: its INSPIRE id, title number and OS id, area and
land use, the registered proprietor where a title links, the units
standing on it, plot utilisation, and every constraint flag.

Address it by `parcel_id`, `inspire_id`, `title_number` or `uprn` —
whichever handle you have. Use `land_assembly` instead when you want the
neighbours.

CONSTRAINTS ARE THREE-VALUED. `in_zone`, `checked_false` and `not_checked`
are three different answers, and a parcel with unchecked flags is
UNASSESSED, not unconstrained. Never report an unchecked flag as clear.

Plot coverage is built footprint over parcel area: a ground-plane measure
that says nothing about storeys, so it is not a density. The unbuilt ground
it implies is an upper bound before any constraint, access or amenity test
— not a developable area, and not a capacity.

Restrictive covenants read `not_available`: the register holds them per
title and the title-to-parcel link is partial.
UK only. Costs 5 credits (5p). Keyed on a UPRN, not an address: call `address_autocomplete` (free) to narrow, then `address_resolve` to get one.

Input Schema

NameRequiredDescriptionDefault
uprnNo
parcel_idNo
inspire_idNo
title_numberNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and closed-world, so the description focuses on what annotations cannot express: credit cost, UK-only scope, and the three-valued constraint semantics (unchecked != clear). The note that covenants return not_available because the title-to-parcel link is partial is genuinely valuable behavioural context. Slightly short of 5 only because the response shape/pagination behaviour is left to the 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.

Conciseness4/5

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

Front-loaded with the returned fields, then addressing, then the semantic traps. Most sentences carry weight — the three-valued constraint warning and the plot-coverage-as-ground-plane caveat prevent concrete misreporting. The plot coverage paragraph is the longest block and could be tightened, but it is substantive rather than filler.

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, yet the description still summarises the payload sensibly; combined with cost, region, identifier workflow, and the three misreading traps (unchecked flags, footprint ratio as density, covenants as absent), an agent has everything needed to call and interpret this correctly for a four-optional-param tool.

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 0%, so the description must carry the parameters, and it names all four handles (parcel_id, inspire_id, title_number, uprn) and frames them as alternatives — 'whichever handle you have'. That adds real meaning over bare titles like 'Uprn' and 'Parcel Id'. It does not state whether multiple identifiers may be combined or which takes precedence, nor any format constraints, leaving a small gap.

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?

Opens with a specific verb and resource (one land parcel) and enumerates exactly what comes back: INSPIRE id, title number, OS id, area/land use, proprietor, units, plot utilisation, constraint flags. It explicitly distinguishes itself from land_assembly for neighbour queries, so an agent can separate it from siblings without opening 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?

Gives explicit routing: use land_assembly for neighbours, and call address_autocomplete (free) then address_resolve when only an address is available because this tool is keyed on a UPRN. It also states the geographic scope (UK only) and the cost (5 credits / 5p), which are exactly the conditions an agent needs before invoking.

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