Skip to main content
Glama

Parcel GPS (Catastro GPS)

Server Details

Official cadastral parcels from 29 European countries: by reference in 27 and by coordinates in all 29, address search, outlines, neighbours, SIGPAC enclosures, terrain, ground motion, solar and agricultural potential. Pass your API key as ?api_key= or Authorization: Bearer. Free key, 250 calls/month: https://www.parcelgps.com/developers

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 20 tools

Disambiguation4/5

Most tools target clearly distinct resources or actions, and the descriptions explicitly separate parcel lookup, subparcels, SIGPAC, agriculture, and boundaries. A few parcel-layer tools such as get_parcel_subparcels, get_parcel_sigpac, and get_agriculture require careful reading to choose correctly, but they are not truly overlapping.

Naming Consistency5/5

All tool names use consistent snake_case with predictable verb_noun patterns such as get_*, list_*, search_*, resolve_*, and compare_*. There is no mixing of camelCase or vague standalone verbs.

Tool Count4/5

Twenty tools is on the heavy side for the typical 3–15 range, but each maps to a distinct data product or workflow step in a broad cadastral/geospatial API. There is little obvious redundancy, though the surface is larger than ideal.

Completeness5/5

The tool set covers parcel lookup, boundaries, crop and SIGPAC detail, terrain, solar potential, ground motion, neighbors, market and value history, address search, reference resolution, and administrative hierarchy. For a read-only parcel intelligence domain, there are no obvious workflow dead ends.

Available Tools

20 tools
compare_parcelsCompare ParcelsAInspect

Compare 2 or 3 parcels side by side: location, solar potential, agricultural use and investment score (0-100 with rating). Parcels can be in different countries: ES (Spain, common regime), PT, FR, IT and DE. The Basque Country and Navarre are not supported here (use the single-parcel tools). Area, land use and municipality are only filled for Spain. No market prices. A parcel that is not found comes back with an error and the others are still compared. Costs one quota unit per parcel found (0 to 3).

NameRequiredDescriptionDefault
parcelsYesTwo or three parcels to compare

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses quota consumption ('one quota unit per parcel found, 0 to 3'), partial-failure semantics (a not-found parcel returns an error but the others are still compared), per-country field coverage (area/land use/municipality only for Spain), and an explicit data exclusion ('No market prices'). These are exactly the behavioral facts an agent cannot get from the 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?

Purpose is front-loaded in the first clause, followed by a tight sequence of caveats, each of which earns its place. Slightly dense as a single run-on block of constraints, and the cost note (a decision-relevant fact) sits last rather than earlier.

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?

For a comparison tool with no output schema and no annotations, the description covers geography, field availability, cost, and error behavior. The remaining gap is the shape of the comparison result (how each parcel's row is keyed/labeled), which the agent must infer.

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 coverage is 100% and the single parameter's shape (array of 2-3 objects with country enum and reference) is fully documented in the schema itself. The description restates '2 or 3 parcels' and the supported country list, which duplicates minItems/maxItems and the enum rather than adding new semantics.

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 ('Compare 2 or 3 parcels side by side') and enumerates the compared dimensions: location, solar potential, agricultural use, investment score. It is clearly distinct from the single-parcel siblings (get_parcel, get_solar_potential, etc.), which it implicitly contrasts by being the multi-parcel aggregate.

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 explicit when-to-use context (2-3 parcels, cross-country) and an exclusion: the Basque Country and Navarre are not supported, and it routes to 'the single-parcel tools'. The routing is slightly vague since the sibling set contains several single-parcel tools, but the condition that triggers the alternative is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agricultureGet Agricultural DataAInspect

Agricultural context for a rural parcel: land use and main crop from the agricultural parcel registry (SIGPAC in Spain, with slope, altitude and irrigation), vegetation index (NDVI) and a reference crop price when available. Richest in Spain; also Portugal, France, Italy and Germany. Values from official registries (land use, crop) stay in the source language.

NameRequiredDescriptionDefault
countryNoOptional country code: ES, PV, NA, PT, FR, IT or DE. Omit to auto-detect.
referenceYesOfficial cadastral reference of a rural parcel

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it names the underlying source (SIGPAC official registries), warns that values stay in the source language, and hedges availability ('when available'), which signals partial/null returns. It omits error behavior for invalid or non-rural references and says nothing about cost or rate limits.

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?

Two sentences, each carrying distinct information: the first enumerates the returned data, the second covers geographic coverage and the localization caveat. The most important framing, what the tool returns, is front-loaded, and there is no filler.

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?

For a two-parameter read tool with no output schema this covers the essentials: the returned fields, the data source, the geographic coverage gradient and the language handling. The one remaining gap is failure behavior for non-rural parcels or references outside the covered countries, which combined with 'when available' leaves return completeness slightly underspecified.

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 both parameters are already documented in the schema, establishing a baseline of 3. The description does add context for the country field by listing which countries are richest in data, but adds nothing on the reference format beyond 'official cadastral reference' already present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Agricultural context for a rural parcel') and enumerates exactly what comes back: land use, main crop, slope, altitude, irrigation, NDVI and a reference crop price. That said, it never distinguishes itself from the sibling get_parcel_sigpac, which by name alone appears to overlap with the SIGPAC registry data this tool returns.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'for a rural parcel' narrows the input domain, and 'Richest in Spain; also Portugal, France, Italy and Germany' hints at geographic applicability. There is no explicit when-to-use, no exclusion such as 'use get_crop_catalog for price lookups by crop', and no alternative named among the many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_boundariesGet Parcel BoundariesAInspect

Get the outline of a cadastral parcel as GeoJSON and/or a [lat, lng] ring, plus its centroid and area, for mapping and GIS work. Accepts references from the same 30 codes as get_parcel (every covered country except the United Kingdom, which is coordinates only).

NameRequiredDescriptionDefault
countryNoOptional country code. Omit to auto-detect from the reference format.
referenceYesOfficial cadastral reference

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses output formats and country-code coverage, including the UK coordinates-only exception. But it does not state read-only nature, permission requirements, or error behavior; for a read tool this is adequate but not rich.

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?

Two dense sentences with no waste. The purpose and outputs come first, followed by input compatibility constraints, making it well front-loaded and easy to scan.

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 is simple, has full schema coverage, and no output schema. The description appropriately explains return values (GeoJSON, ring, centroid, area) and input coverage. Minor gaps like coordinate reference system or precision are not critical for selection.

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 meaning by clarifying that references use the same 30 codes as get_parcel and that the UK is coordinates-only, which goes beyond the schema's generic 'Official cadastral reference' and country auto-detect notes.

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 gives a specific verb (get) and resource (parcel boundaries) and states the exact outputs: outline as GeoJSON and/or [lat, lng] ring, plus centroid and area. It clearly distinguishes the tool from get_parcel by focusing on geometry rather than parcel attributes.

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?

It provides clear context for use ('for mapping and GIS work') and specifies input compatibility with get_parcel references, including the UK exception. However, it stops short of explicitly saying when to choose this tool over alternatives like get_parcel or compare_parcels.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_crop_catalogGet Crop CatalogAInspect

Free and without quota: every crop or land-use code that can appear as crop_code (Spanish Catastro codes, the foral codes of Alava, Bizkaia, Gipuzkoa and Navarre, and the Austrian, Estonian and Greek catalogues) with its name in the requested language, the original label and its common use_class. Use it to translate or group crop codes; pass code to look one up.

NameRequiredDescriptionDefault
codeNoReturn only this crop code (e.g. G-, NA:1501, AT:53)
langNoLanguage of the names (default English)
sourceNoReturn only codes of this catalogue: ES, AL, BI, GI, NA, AT, EE or GR

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does solid work: it declares the operation free with no quota, enumerates the source catalogues, and lists the returned fields. It does not state pagination, response size, or whether results are sorted, which keeps it out of the 5 band.

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?

Two sentences, both dense and useful, with the usage directive separated clearly at the end. The opener 'Free and without quota' is a slightly odd lead but is genuine value; overall there is very little waste.

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?

There is no output schema, so the description compensates by naming the returned fields (name, original label, use_class). Combined with the free/no-quota note and catalogue enumeration, an agent has enough to call it correctly, though return shape details like ordering or grouping are unstated.

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 earns a bump by explaining that 'code' is a lookup filter and by enumerating which catalogues the 'source' parameter draws from (Spanish, foral, Austrian, Estonian, Greek), plus clarifying that 'lang' controls the returned names.

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 resource (the full crop/land-use code catalog) and what it contains (name in requested language, original label, common use_class). It also scopes the code domains covered, which lets an agent tell it apart from parcel-level siblings like get_parcel or get_agriculture.

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?

Explicitly names two use cases (translate or group crop codes) and gives an invocation hint ('pass code to look one up'). It stops short of naming an alternative sibling or stating when not to use it, so it lands just below the top band.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ground_motionGet Ground Motion (Subsidence)AInspect

Whether the ground under the parcel sinks or rises and how fast, measured by satellite radar (Copernicus European Ground Motion Service, EGMS L3 Ortho, Sentinel-1 InSAR, 100 m grid, 2020-2024): mean vertical velocity in mm/year over the parcel outline (negative = sinking), fastest-sinking cell, east-west velocity, class from stable to severe_subsidence, cells with data and the mean displacement of each year. status no_data with reason no_reflectors means the satellite found nothing stable to measure (fields, forest, water): there is no figure, not a zero. Carries the source, licence and the attribution to show. Every covered country inside EGMS coverage: in ES, PV, NA, PT, FR, IT and DE the reference is enough; elsewhere also pass latitude and longitude (from get_parcel). Costs 1 quota unit.

NameRequiredDescriptionDefault
countryNoOptional country code. Omit to auto-detect from the reference.
latitudeNoLatitude of the parcel point (WGS84). Required outside ES, PV, NA, PT, FR, IT and DE
longitudeNoLongitude of the parcel point (WGS84). Required outside ES, PV, NA, PT, FR, IT and DE
referenceYesOfficial cadastral reference

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so well: it discloses the data source and vintage, the 100 m grid, the meaning of negative values, the no_data/no_reflectors semantics, and the quota cost of 1 unit. It also notes that the response carries source, licence, and attribution, which are important behavioral details for downstream use.

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?

The description is front-loaded with the core measurement and its output fields, then follows with data provenance, no_data semantics, and coverage rules. It is dense but mostly earns its length; the single long paragraph is slightly harder to scan than a structured format would be.

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 and no annotations, so the description must explain return values and behavior, which it does comprehensively: vertical velocity, fastest-sinking cell, east-west velocity, subsidence class, yearly displacement, and no_data status are all named. It also covers coverage rules, attribution, and quota cost, leaving little an agent needs missing.

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 reference, country, latitude, and longitude thoroughly, including the same country list for when lat/lon are required. The description reinforces the reference-versus-coordinates rule and points to get_parcel as the source of coordinates, but adds little syntax or format detail beyond 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?

The description states a precise verb and resource: measuring whether the ground under a parcel sinks or rises, using satellite radar, with specific outputs like mean vertical velocity in mm/year. It is clearly distinguishable from sibling tools such as get_terrain, get_solar_potential, and get_agriculture.

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?

It gives concrete usage conditions: in ES, PV, NA, PT, FR, IT and DE the reference alone is enough, while elsewhere latitude and longitude must also be passed from get_parcel. It does not explicitly name alternatives or when not to use the tool, but the required-data guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_investment_scoreGet Investment ScoreAInspect

Investment score (0-100) for a parcel with a rating (excellent, good, moderate, low, very_low or no_data) and qualitative factor levels (high/medium/low/not_available), never the formula. Built from the data the API can gather for that country: solar potential (PVGIS) and agricultural use in ES, PV, NA, PT, FR, IT and DE; the market factor only in France, Italy and Germany (North Rhine-Westphalia). Accessibility and risk are not computed yet and come back as not_available, so the score is relative to the factors that were available. Other countries are not supported. One API call.

NameRequiredDescriptionDefault
countryNoOptional country code: ES, PV, NA, PT, FR, IT or DE. Omit to auto-detect.
referenceYesOfficial cadastral reference

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses that accessibility and risk are not computed and return not_available, that the score is relative to available factors, that the formula is never exposed, and that market data exists only in FR/IT/DE(NRW). It does not state what happens on an unsupported country (error vs. empty) or confirm read-only semantics, which are the remaining gaps.

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-loads the output definition before the coverage caveats, which is the right order. Slight redundancy in both enumerating countries and then saying other countries are unsupported, but every sentence otherwise adds information.

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?

No output schema exists, and the description fully compensates by defining the score range, the rating enum values, and the factor-level values the caller will receive. Combined with the country coverage caveats, an agent has everything needed to call and interpret the result.

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 coverage is 100% and the enum already lists ES/PV/NA/PT/FR/IT/DE, so the schema does the heavy lifting. The description restates country support but adds no syntax or behavior for 'reference' or for what auto-detect does when country is omitted — 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+resource ('Investment score (0-100) for a parcel'), the exact return shape (score, rating enum, factor levels), and how it relates to sibling data tools (solar potential via PVGIS, market data). An agent can distinguish it from get_solar_potential or get_market_data because this one composes them into a single score.

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?

Clearly bounds applicability: supported countries are enumerated and 'Other countries are not supported' is stated explicitly, plus 'One API call' sets cost expectations. It stops short of naming alternatives (e.g., call get_solar_potential directly if the score is unavailable), so it is clear context without explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_dataGet Market DataAInspect

Paid API plans only (Developer, Startup, Growth, Enterprise): with a Free-plan key it answers KEY_PLAN_001 and nothing is charged. Rural land only: prices agricultural parcels in Spain (ES, PV, NA), small agricultural buildings allowed (sheds, farm stores, ponds, greenhouses), with crop_prices (EUR per hectare for each crop group of the parcel, with the number of sales behind it) and zone_prices.rural (the province farmland price per hectare). It is the price of the land; buildings are not valued (price_note). Housing, industrial or any other non-agricultural property is not supported and answers MKT_001 with nothing charged; so does rural land without a price, and any other country. One API call, charged only when a price comes back.

NameRequiredDescriptionDefault
countryNoOptional country code. Rural land prices exist for ES, PV and NA; other countries answer MKT_001. Omit to auto-detect.
referenceYesOfficial cadastral reference

TDQS

A4.3/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does so: it discloses the billing model (one API call, charged only when a price comes back), the exact error codes and their non-charging behavior, and the valuation caveat that buildings inside the parcel are not priced (price_note). This is above-and-beyond behavioral disclosure for a tool with zero annotation coverage.

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?

Nearly every clause earns its place (billing, supported regions, excluded property types, error codes), but the front-loading is off: the first sentence leads with plan/billing policy rather than the tool's purpose, which only arrives in the second sentence. The heavy parenthetical nesting also makes it harder to scan than it needs to be.

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?

With no output schema and no annotations, the description must cover return semantics, and it does name the meaningful response fields (crop_prices per crop group with sales counts, zone_prices.rural, price_note). It leaves the full response shape and the error-payload format only partially described, but an agent has enough to predict outcomes and interpret pricing 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?

Schema coverage is 100% and both parameters are already documented in the schema, including the country enum and the ES/PV/NA restriction, so the baseline is 3. The description reinforces the country constraint but adds no new syntax or format details for 'reference' beyond calling it a cadastral reference.

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 names a specific resource and scope: agricultural/rural land pricing in Spain (ES, PV, NA), returning crop_prices in EUR per hectare and zone_prices.rural. It also draws a sharp boundary by stating that housing, industrial and other non-agricultural property is out of scope, which lets an agent distinguish it from parcel/agriculture siblings without inspecting schemas.

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?

Use conditions are explicit and concrete: rural land only, three supported country codes, paid plan required, and the specific failure paths (MKT_001 for non-agricultural property, missing price, or other countries; KEY_PLAN_001 for Free-plan keys). It stops short of naming which sibling tool an agent should call instead for urban or non-agricultural valuation, so 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_neighborsGet Neighboring ParcelsAInspect

Parcels that touch or surround a parcel (up to 60), each with its cadastral reference and centre point. Spain from the official cadastre; other countries from our own copy where we hold one. Where neighbours cannot be listed it answers supported=false with an empty list, free. One API call.

NameRequiredDescriptionDefault
countryNoOptional country code. Omit to auto-detect.
referenceYesOfficial cadastral reference of the parcel

TDQS

A4.5/5.0
Behavior5/5

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

Since there are no annotations, the description carries the entire burden. It discloses critical behavioral traits like the data source limitations (Spain vs. other countries), the hard limit on output (up to 60 neighbors), and the precise failure response format.

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 dense but highly efficient. It front-loads the primary function and then quickly lists constraints (count, source, failure mode) without unnecessary prose.

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?

Given the lack of an output schema, the description is extremely complete, detailing both the nature of the data returned (reference, center point) and the operational constraints (max 60, API usage).

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 coverage is 100%, meaning the inputs are well-defined. The description provides no additional semantic meaning to the parameters beyond what is already present in the input schema, meeting the baseline for high 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 clearly defines the action ('Parcels that touch or surround a parcel') and the content of the result (cadastral reference and center point). This immediately tells the agent exactly what information the tool returns.

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?

It provides strong operational context regarding the data source: 'Spain from the official cadastre; other countries from our own copy.' It also clearly specifies the failure mechanism (returning supported=false when neighbors cannot be found).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_parcelGet ParcelAInspect

Look up a cadastral parcel in 29 European countries (including the Basque Country and Navarre foral cadastres) by its official cadastral reference or by WGS84 coordinates. Returns the reference, location, address, municipality, area, land use and the parcel outline when the official source provides them. The country is detected from the reference format or the point when omitted. Where the parcel has crop or land-use parts it also returns their count and a crop summary (crop and share of the area); the full list with outlines is get_parcel_subparcels. United Kingdom: coordinates only. Codes: ES Spain, PV Basque Country, NA Navarre, PT Portugal, FR France, IT Italy, DE Germany, AT Austria, CH Switzerland, LI Liechtenstein, BE Belgium, NL Netherlands, LU Luxembourg, PL Poland, CZ Czechia, SK Slovakia, SI Slovenia, HR Croatia, BG Bulgaria, GR Greece, CY Cyprus, DK Denmark, SE Sweden, NO Norway, FI Finland, IS Iceland, EE Estonia, LV Latvia, LT Lithuania, IE Ireland, UK United Kingdom.

NameRequiredDescriptionDefault
langNoLanguage of crop names (default English)
countryNoOptional country code. Omit to auto-detect. PV and NA are the Spanish foral cadastres.
latitudeNoLatitude in WGS84 (use with longitude instead of reference)
longitudeNoLongitude in WGS84 (use with latitude instead of reference)
referenceNoOfficial cadastral reference as written in the country (e.g. 9872023VH5797S0001WX, 750560000AB0001)

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations present, the description carries the burden and does substantial work: it lists what is returned (reference, location, address, municipality, area, land use, outline) and hedges availability with 'when the official source provides them'. It also discloses the crop-summary truncation and where the complete data lives. It stops short of stating error behavior when a lookup fails or the parcel is not found, which is the remaining gap for a lookup tool with zero annotation coverage.

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?

The most important facts (lookup mode, return fields, sibling routing, UK restriction) are front-loaded in the first three sentences. The trailing enumeration of 31 country codes is bulky and partly duplicative of the enum, though it does add human-readable names the enum lacks. A tighter version would trim the code list or move it to a schema-level note.

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 and no annotations, but the description fully compensates by enumerating return fields, qualifying when optional fields like the outline and crop summary appear, and routing to the sibling that returns the expanded subparcel list. Nothing an agent needs to call this correctly or interpret the result is missing.

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, and the description adds meaning on top: it spells out the country-code-to-name mapping (the schema only lists codes, aside from a note on PV/NA), restates the reference-vs-coordinates exclusivity, and notes that country may be omitted due to format/point detection. The language parameter's effect is only covered in the schema ('Language of crop names'), so the description contributes no additional semantics there.

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 and resource ('Look up a cadastral parcel') and immediately bounds the scope: 29 European countries, lookup by official reference or WGS84 coordinates. It explicitly distinguishes itself from the closest sibling by naming get_parcel_subparcels as the tool for the full part list, so an agent can route correctly 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?

It gives concrete selection conditions: use the reference when you have one, coordinates otherwise, and defer to get_parcel_subparcels when the full subparcel list with outlines is needed. It also flags an exclusion ('United Kingdom: coordinates only') and explains that the country param can be omitted because it is auto-detected, which is the main usage ambiguity for this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_parcel_sigpacGet Parcel SIGPAC EnclosuresAInspect

Every SIGPAC enclosure (recinto) of a Spanish parcel, the CAP land parcel identification system: SIGPAC id, land-use code (TA, OV, VI, FY, PS...) with its name in the requested language, area in hectares, irrigation coefficient, mean slope, altitude, CAP pasture eligibility and region, incidents with their official text and, with include_geometry, the GeoJSON outline. Spain, the Basque Country and Navarre only; other countries answer CNV_COVERAGE. match tells whether the SIGPAC parcel was found by the cadastral reference or under the parcel's point. Source FEGA SIGPAC: cite 'Fuente: FEGA - SIGPAC'. One API call; free when there are no enclosures. If SIGPAC does not answer it returns SIG_001: nothing is charged, retry in a few seconds.

NameRequiredDescriptionDefault
langNoLanguage of land-use names (default English)
countryNoOptional: ES, PV (Basque Country) or NA (Navarre). Omit to auto-detect.
referenceYesOfficial Spanish cadastral reference of the parcel or unit
include_geometryNoInclude the GeoJSON outline of each enclosure (large). Default false.

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations the description carries the full burden and does so: it discloses the cost model ('free when there are no enclosures'), the error path (SIG_001, nothing charged, retry in a few seconds), the call count ('one API call'), and the attribution obligation ('cite Fuente: FEGA - SIGPAC'). That is unusually rich operational context for a read tool.

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 resource and its returned fields, then operational constraints. The long field enumeration is information-dense rather than filler, though it could be broken up for readability.

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, and the description compensates by enumerating return fields, explaining the `match` flag, coverage limits, and failure behavior. An agent has everything needed to call it and interpret the result.

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 baseline would be 3, but the description adds value beyond the schema: it explains that land-use names are localized to the requested language, that include_geometry returns a 'large' GeoJSON outline, and it documents the 'match' output semantics. `country` and `reference` add nothing beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('every SIGPAC enclosure (recinto) of a Spanish parcel') and enumerates the returned fields precisely, so the agent knows exactly what it gets. It does not name siblings like get_parcel or get_parcel_subparcels, so the boundary with those tools is inferred rather than stated.

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

Usage Guidelines3/5

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

Gives a clear when-not condition ('Spain, the Basque Country and Navarre only; other countries answer CNV_COVERAGE') and a conditional for include_geometry, which is useful routing context. However, it never says when to pick this over get_parcel or get_parcel_subparcels, leaving the main sibling choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_parcel_subparcelsGet Parcel SubparcelsAInspect

What is on each part of a parcel: every crop or land-use subparcel with a stable crop_code, the crop name in the requested language, the original label of the source, area in m2, kind (cadastral, declaredCrop, landCover), a common use_class (arable, vineyard, olive, forest...), intensity, land type and class, source and, with include_geometry, its GeoJSON outline. Spain (Catastro, including Bizkaia, Alava, Navarre; Gipuzkoa without outlines), Austria, Germany, Czechia, the Netherlands, France, Portugal, Sweden, Switzerland, Finland, Belgium, Ireland, Slovenia, Estonia and Greece. One API call; free when the parcel has none. If the source does not answer it returns SUB_001: nothing is charged, retry in a few seconds. Translate codes with get_crop_catalog.

NameRequiredDescriptionDefault
langNoLanguage of crop names (default English)
countryNoOptional country code (ES, PV, NA, AT, EE, GR...). Omit to auto-detect.
referenceYesOfficial cadastral reference of the parcel
include_geometryNoInclude the GeoJSON outline of each subparcel (large). Default false.

TDQS

A4.4/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden, and it does: billing semantics (free when empty, nothing charged on SUB_001), an error code with a retry prescription, per-country source coverage including the Gipuzkoa-no-outlines caveat, and a size warning on include_geometry. That is exactly the behavioral context an agent needs before calling.

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?

The identifying purpose and the returned-field list are front-loaded, followed by coverage, billing, and error handling. One sentence is long and enumerative, but nearly every clause carries actionable information; no 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?

With no output schema, the description must explain return contents, and it enumerates the fields fully, plus geometry opt-in behavior, country coverage edge cases, billing, and failure/recovery. An agent can call this correctly and 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.

Parameters3/5

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

Schema coverage is 100%, so lang, country, reference, and include_geometry are already documented. The description restates what lang controls (crop name language) and what include_geometry adds (GeoJSON outline), adding little syntax or constraint detail beyond the schema, though the enumerated kind/use_class values do aid interpretation of results. 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?

The description opens with a concrete framing — 'What is on each part of a parcel' — then enumerates exactly what is returned (crop_code, localized crop name, source label, area in m2, kind, use_class, intensity, land type/class, source, optional GeoJSON outline). This lets an agent distinguish it from get_parcel (whole-parcel data) and route code translation to get_crop_catalog 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 Guidelines4/5

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

It states the operational context — one API call, free when the parcel has no subparcels, retry in a few seconds on SUB_001 — and explicitly routes code interpretation to get_crop_catalog. It stops short of an explicit when-not-to-use-this-tool-vs-get_parcel or get_parcel_sigpac statement, so it is clear context rather than full exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_solar_potentialGet Solar PotentialAInspect

Estimate the photovoltaic potential of a parcel from PVGIS (European Commission JRC): installable kWp, yearly production, savings, payback, CO2 avoided, optimal tilt and orientation. Available for Spain (ES, PV, NA), Portugal, France, Italy and Germany.

NameRequiredDescriptionDefault
countryNoOptional country code: ES, PV, NA, PT, FR, IT or DE. Omit to auto-detect.
referenceYesOfficial cadastral reference

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the external data source (PVGIS, European Commission JRC) and the output set, but says nothing about it being a read-only computation, latency of the external call, or what happens for out-of-coverage references.

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?

Two tight sentences, front-loaded with the capability and source, followed by the concrete deliverables and coverage. No filler or redundancy beyond the country list, which itself is useful scoping.

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?

With no output schema, the description's enumeration of returned metrics (kWp, production, savings, payback, CO2, tilt/orientation) does the necessary work of setting expectations. Only edge behavior outside the supported countries is left unaddressed.

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 both parameters are already documented in schema, including the enum and the auto-detect fallback. The description's country list merely repeats the enum and adds no syntax or format detail for 'reference'.

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 (estimate) and resource (photovoltaic potential of a parcel), names the authoritative source (PVGIS / EC JRC), and enumerates the concrete outputs returned. No sibling tool touches solar data, and the stated country scope further pins down the capability.

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

Usage Guidelines3/5

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

The supported-country list implicitly tells the agent when the tool is applicable, but there is no explicit 'use this when...' framing and no named alternative among the parcel siblings. Usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_terrainGet Terrain, Protected Areas and ClimateAInspect

Relief of the parcel computed over its outline from Copernicus DEM GLO-30 (30 m): mean/min/max elevation, mean and maximum slope with class and distribution, share steeper than 10 %, dominant orientation. Whether it lies in Natura 2000 (EEA) or a nationally designated protected area (CDDA), with each site's name, code, type (SPA/SCI) and the share of the parcel inside it. Climate normals at the parcel point from ERA5-Land (mean temperature, precipitation, frost and hot days, and the recent change against the baseline). Every block carries its source and licence; status is ok, no_data or unavailable. In ES, PV, NA, PT, FR, IT and DE the reference is enough; in every other covered country also pass latitude and longitude (from get_parcel). Costs 1 quota unit.

NameRequiredDescriptionDefault
countryNoOptional country code. Omit to auto-detect from the reference.
latitudeNoLatitude of the parcel point (WGS84). Required outside ES, PV, NA, PT, FR, IT and DE
longitudeNoLongitude of the parcel point (WGS84). Required outside ES, PV, NA, PT, FR, IT and DE
referenceYesOfficial cadastral reference

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it names data sources and licences, discloses possible statuses ('ok, no_data or unavailable'), and states the quota cost. It does not cover authentication, rate limits beyond quota, or failure modes in detail, so it is strong but not fully exhaustive.

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?

It is a single dense paragraph with no filler, and each clause carries functional information about a returned block, source, status, or prerequisite. The semicolon-chained structure makes it slightly heavier than an ideal front-loaded summary, but it is appropriately sized for the amount of functionality covered.

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?

No output schema or annotations are present, so the description must be self-sufficient. It explains the returned data blocks, sources and licences, status values, country-specific parameter requirements, and quota cost, leaving no material gap for an agent preparing the call.

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 practical meaning by tying latitude/longitude to 'from get_parcel' and restating the country-specific requirement pattern, which helps an agent know where to source coordinates.

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+resource ('Relief of the parcel computed over its outline') and enumerates the three data blocks returned: terrain metrics, protected-area membership, and climate normals. An agent can distinguish this from siblings like get_solar_potential or get_ground_motion without opening another schema.

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?

It gives clear operational context: reference alone suffices in ES/PV/NA/PT/FR/IT/DE, while other countries additionally require latitude and longitude 'from get_parcel'. No alternatives or explicit exclusions are named, so it stops short of the exhaustive when/when-not guidance that earns a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_unitsGet Units of a Building (Spain)AInspect

Every unit (dwelling, shop, garage, storage) of a Spanish building (finca), up to 200 per page, with stair, floor, door, use, area, participation coefficient and year. Spain only: ES (14-character finca reference, e.g. from search_address), PV (Basque Country) and NA (Navarre) with the foral reference of any unit or the finca key; the foral data carry no participation coefficient. When truncated is true, call again with cursor = next_cursor. Costs one quota unit per unit served (minimum 1 per page), so a 120-dwelling building costs 120 units; repeat pages within the plan's per-finca cap (Startup/Growth contracts) are free.

NameRequiredDescriptionDefault
cursorNonext_cursor of the previous page
countryNoES (default), PV or NA. Optional for foral references detected by their shape
referenceYesES: 14-character finca reference. PV/NA: foral unit reference or finca key

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so: quota cost is one unit per unit served with a per-page minimum, a worked example (120 dwellings = 120 units), and the per-finca cap/repeat-page-free rule for Startup/Growth plans. It also discloses a data-shape caveat that foral records carry no participation coefficient.

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?

The purpose and the return fields are front-loaded, and the pagination and quota sentences each carry distinct operational value. The final cost sentence is long and packs two rules (per-unit cost and per-finca cap waiver), which is dense but not wasteful.

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 and no annotations, yet the description covers what is returned, the truncation/cursor loop, the quota economics, and the country-specific data caveat. An agent has everything needed to call it correctly and to predict its cost.

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, but the description adds real meaning: cursor is tied to the truncated flag flow, and country is explained as defaulting to ES with foral references auto-detectable by shape. The 14-character finca reference format and its origin are reinforced beyond the schema text.

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 ('Every unit ... of a Spanish building') and enumerates exactly what a unit is (dwelling, shop, garage, storage) plus the fields returned. It also scopes the geography and names search_address as the source of the reference, so it is distinguishable from siblings like get_parcel or resolve_reference.

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 conditions: Spain only, the three valid country codes, where to obtain the reference (e.g. from search_address), and the exact pagination rule (when truncated is true, call again with cursor = next_cursor). It does not state any when-not or point to a sibling that covers non-Spanish or aggregate use cases, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_value_historyGet Parcel HistoryAInspect

Paid API plans only: with a Free-plan key it answers KEY_PLAN_001 and nothing is charged. Snapshots of a parcel as the official cadastre reported it over time: area and land use, at most one snapshot every 30 days. History starts the first time anyone looks the parcel up through CatastroGPS (get_parcel) and grows from there, so a parcel never queried before returns an empty list. The official cadastral value is not recorded yet (always null). change_pct is the area change between the oldest and newest snapshot. Recorded for ES, PV, NA, PT, FR, IT, DE and AT. One API call.

NameRequiredDescriptionDefault
countryNoOptional country code: ES, PV, NA, PT, FR, IT, DE or AT. Omit to auto-detect.
referenceYesOfficial cadastral reference

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full load and does so: plan gating with the exact error code KEY_PLAN_001 and no charge, the empty-list case for never-queried parcels, the always-null cadastral value, the 30-day snapshot cap, and the definition of change_pct. That is exactly the behavior an agent cannot get from the 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?

Dense and mostly front-loaded, with the plan/error caveat leading so an agent does not waste a call. A few clauses are compressed to the point of terseness (the opening colon construction), but no sentence is filler.

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?

For a tool with no annotations and no output schema, the description covers return content reasonably (snapshots, area, land use, change_pct, null cadastral value). It does not say whether the snapshot list is bounded or what the full record shape looks like, which leaves a modest gap for a read tool without an output schema.

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 both reference and country are already documented, including the auto-detect behavior on country. The description restates the supported country list but adds no new semantics for the parameters themselves; 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 resource (parcel snapshots as reported by the official cadastre) with the fields carried (area, land use), and its cadence (at most one snapshot every 30 days). This clearly separates it from get_parcel, which returns current state rather than history.

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 a decisive precondition: history only exists for parcels previously looked up via get_parcel, so an unqueried parcel returns an empty list — that steers the agent away from calling this cold. It also flags the paid-plan requirement. It stops short of explicitly naming get_parcel as the prerequisite call to run first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_municipalitiesList Spanish MunicipalitiesAInspect

Municipalities of one Spanish province, with the cadastre code and the INE code. Spain only (common territory). Take the province name from list_provinces. One API call.

NameRequiredDescriptionDefault
regionYesProvince name as returned by list_provinces (e.g. CIUDAD REAL)

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral load; it discloses the return fields and the cost hint 'One API call', which is genuinely useful. However, it says nothing about whether the call is read-only, permission needs, rate limits, or failure behavior for unsupported territories (e.g. Canary Islands, Navarra), leaving real gaps for an unannotated tool.

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?

Four compact fragments, front-loaded with what the tool returns before the usage constraint. Every clause carries information; nothing is repeated from the title or schema.

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?

For a single-parameter read tool with full schema coverage and no output schema, the description covers scope, value source, returned fields, and call cost. It stops short of explaining matching behavior for the province string or what happens outside the common territory, which would matter for correct invocation.

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% and the single parameter is already documented with a format example, so the baseline is 3. The description adds value by tying the value to list_provinces and by restricting the accepted values to common-territory provinces, which the schema alone does not convey.

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 names the exact resource (municipalities of one Spanish province) and states what comes back (cadastre code, INE code) plus the geographic scope (Spain only, common territory). It is distinguishable at a glance from the sibling list_provinces, which supplies provinces rather than municipalities.

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?

'Take the province name from list_provinces' establishes the prerequisite call and the correct value source explicitly, and 'Spain only (common territory)' excludes unsupported regions. It does not spell out a when-not-to-use case or an alternative tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_provincesList Spanish ProvincesAInspect

Provinces of the Spanish cadastre, with the names that list_municipalities and list_streets expect as region. Spain only (common territory: the Basque Country and Navarre have their own cadastres and are not listed). One API call.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses that the tool makes one API call (efficiency) and clarifies the territorial scope and exclusions, which are important behavioral traits. It does not describe return format, but no output schema exists, so the gap is minor for a simple list.

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 sentences plus a parenthetical, front-loaded with the core purpose. Every clause adds useful information: the resource, the sibling compatibility, the geographic scope, and the single-call nature.

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?

For a zero-parameter list tool with no output schema, the description covers what is returned (province names), how they relate to other tools, and the key geographic limitation. Nothing an agent needs to call it correctly is missing.

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?

The tool has zero parameters, so there is no parameter semantics to explain. The baseline score of 4 applies, and the description appropriately avoids irrelevant parameter details.

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 clearly states it lists provinces of the Spanish cadastre and explicitly links the output to what sibling tools list_municipalities and list_streets expect as region. It also scopes the data to Spain only, excluding Basque Country and Navarre, which differentiates it from a generic list.

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?

It implies the tool should be used to obtain region names for list_municipalities and list_streets, and notes that Basque Country and Navarre are not covered. However, it does not explicitly state a workflow or say when not to use it beyond the geographic exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_streetsList Spanish StreetsAInspect

Streets of one Spanish municipality as the cadastre writes them (type code such as CL or AV, name and full name), optionally filtered by part of the name. Spain only (common territory). Take region from list_provinces and municipality from list_municipalities. One API call.

NameRequiredDescriptionDefault
nameNoPart of the street name to filter by
regionYesProvince name as returned by list_provinces
municipalityYesMunicipality name as returned by list_municipalities

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden; it discloses returned street fields, optional filtering, Spain-only scope, and that it is one API call. It omits authentication needs, pagination, error behavior, and result-completeness details, leaving meaningful gaps for a tool with no annotation coverage.

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 dense but front-loaded, opening with the resource and returned field shape. The Spain-only constraint and prerequisite source guidance are compact, and no sentence is filler.

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?

Because there is no output schema, the description appropriately explains the returned street fields and filtering behavior. For a simple 3-parameter list tool it covers scope and prerequisite lookups, though pagination and ordering are not specified.

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%, and the schema already documents the region/municipality provenance and the optional name filter. The description restates 'Take region from list_provinces and municipality from list_municipalities' and 'part of the street name' without adding syntax or format details beyond what the schema provides.

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?

It states a specific verb and resource: streets of one Spanish municipality, with returned fields (type code, name, full name) and an optional name filter. It also scopes the tool to Spain and points to sibling list tools for prerequisite names, making it clearly distinguishable from alternatives.

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?

It gives clear context by saying to take region from list_provinces and municipality from list_municipalities, and that the name filter is optional. It does not explicitly name when not to use it or an alternative such as search_address, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_referenceIdentify a ReferenceAInspect

Free and without quota: tell what a piece of text is before looking it up. Classifies it as a cadastral reference, a coordinate pair or a place name, for each country it could belong to, with confidence (0-1), the normalised form and whether that country is supported. ambiguous=true means bare digits that fit several countries: pick one and pass it as country to get_parcel. Use it when get_parcel answers CNV_AMBIGUOUS, or to find the country of an unknown reference.

NameRequiredDescriptionDefault
hintNoOptional country hint; it only reorders the candidates
textYesReference, coordinates or place name as typed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it: it discloses cost/quota ('free and without quota'), the confidence scale (0-1), normalisation, the per-country supported flag, and the meaning of ambiguous=true. The gaps are what happens on no match or invalid input, and the exact response shape, which it only gestures at.

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 key distinction and trigger, and every sentence carries information. It is tightly compressed to the point of being telegraphic in places, which slightly hurts scanability but wastes no words.

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?

For a two-parameter classification tool with no annotations and no output schema, the description covers purpose, when to call, ambiguity handling, key return fields and the follow-up call. Only failure/no-match behavior is left implicit.

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 coverage is 100%, including the hint enum description ('it only reorders the candidates'), so the schema already does the parameter work. The description's only added input insight is that bare digits are what trigger ambiguity; it says nothing extra about hint or the 200-character text limit.

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: classify a piece of text as a cadastral reference, coordinate pair or place name, per candidate country. It names what the output carries (confidence, normalised form, supported flag), so an agent can distinguish it from get_parcel 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?

Explicit triggers: use it when get_parcel answers CNV_AMBIGUOUS, or to find the country of an unknown reference. It also closes the loop on the ambiguous=true branch by instructing the agent to pick a candidate and pass it as country to get_parcel.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_addressSearch AddressAInspect

Turn a postal address typed as free text into cadastral parcels, ranked by confidence (0 to 1; 0.75 or more means the house number and the municipality match). Spain (default, CartoCiudad; Basque Country and Navarre entrances come back with country ES and their foral reference) and 26 more countries: FR, IT, DE (not Bavaria), AT, NL, BE, PL, CH, CZ, DK, NO, FI, EE, LV, LT, SI, SK, BG, GR, CY, LU, LI, IS, IE, UK (Scotland only) and PT (not Lisbon, Porto or Coimbra). Sweden and Croatia answer CNV_COVERAGE. Include the street number and the municipality or postcode, e.g. 'Calle Gran Via 31, Madrid' or '8 boulevard du Port, Amiens'. In Spain the 14-character reference is the building (finca): call get_units for its dwellings or get_parcel for the outline. Costs 1 quota unit when it returns candidates; misses are free.

NameRequiredDescriptionDefault
limitNoMaximum candidates (1-10, default 5)
addressYesFree-text address: street and number, then municipality and/or postcode
countryNoCountry of the address. Default ES (also returns Basque Country and Navarre).

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses coverage limits per country (DE not Bavaria, UK Scotland only, PT excludes Lisbon/Porto/Coimbra), the CNV_COVERAGE outcome for Sweden and Croatia, the ES handling of Basque Country and Navarre, and the cost model ('1 quota unit when it returns candidates; misses are free'). These are exactly the non-obvious traits an agent cannot infer from the 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?

Purpose and confidence semantics are front-loaded, and every sentence is informational. The 27-country enumeration is long and largely mirrors the country enum already present in the schema, so that run of text is the least efficient part, though the inline caveats partly justify it.

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?

No output schema exists, and the description compensates well by explaining ranking, the confidence scale, the 14-character Spanish reference meaning, and the next tools to call. It stops short of describing the actual response fields (parcel reference, coordinates, address components), which is the remaining gap for a no-output-schema 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 100%, so the schema already documents all three parameters and the baseline is 3. The description earns a bump by adding format guidance for 'address' beyond the schema's one-liner (street + number, then municipality and/or postcode, with examples) and by restating the default country plus its regional exceptions.

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: turn free-text postal address into cadastral parcels ranked by confidence. It also defines the confidence scale semantics (>=0.75 means house number and municipality match), which lets an agent judge result quality without opening anything else.

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 concrete input requirements ('include the street number and the municipality or postcode') with two worked examples, and routes the follow-up step clearly: 'call get_units for its dwellings or get_parcel for the outline'. It does not, however, say when to prefer this over siblings like resolve_reference or list_streets when those might also fit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updates
    • First observedcompare_parcels
    • First observedget_agriculture
    • First observedget_boundaries
    • First observedget_crop_catalog
    • First observedget_ground_motion
    • First observedget_investment_score
    • First observedget_market_data
    • First observedget_neighbors
    • First observedget_parcel
    • First observedget_parcel_sigpac
    • First observedget_parcel_subparcels
    • First observedget_solar_potential
    • First observedget_terrain
    • First observedget_units
    • First observedget_value_history
    • First observedlist_municipalities
    • First observedlist_provinces
    • First observedlist_streets
    • First observedresolve_reference
    • First observedsearch_address

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources