Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Cadastral parcels from 29 European countries, by reference in 27 and by coordinates in all 29
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
CATASTROGPS_API_KEY, CATASTROGPS_TIMEOUT, CATASTROGPS_API_URL, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"catastro-gps": {
"command": "npx",
"args": [
"-y",
"catastro-gps-mcp"
],
"env": {
"CATASTROGPS_API_KEY": "your-value",
"CATASTROGPS_TIMEOUT": "your-value",
"CATASTROGPS_API_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http catastro-gps https://mcp.parcelgps.com/mcp --header 'Authorization: your-value'claude mcp add catastro-gps --env CATASTROGPS_API_KEY=your-value --env CATASTROGPS_TIMEOUT=your-value --env CATASTROGPS_API_URL=your-value -- npx -y catastro-gps-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"catastro-gps": {
"url": "https://mcp.parcelgps.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"catastro-gps": {
"command": "npx",
"args": [
"-y",
"catastro-gps-mcp"
],
"env": {
"CATASTROGPS_API_KEY": "your-value",
"CATASTROGPS_TIMEOUT": "your-value",
"CATASTROGPS_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"catastro-gps": {
"type": "http",
"url": "https://mcp.parcelgps.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"catastro-gps": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"catastro-gps-mcp"
],
"env": {
"CATASTROGPS_API_KEY": "your-value",
"CATASTROGPS_TIMEOUT": "your-value",
"CATASTROGPS_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
CATASTROGPS_TIMEOUT envCATASTROGPS_API_URL envAuthorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
get_parcelLook 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 offic
search_addressTurn 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) a
get_boundariesGet 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).
get_solar_potentialEstimate 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.
get_terrainRelief 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 a
get_ground_motionWhether 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), fastes
get_agricultureAgricultural 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 Germ
get_market_dataPaid 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), wi
get_investment_scoreInvestment 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 agricul
get_value_historyPaid 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
compare_parcelsCompare 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-pa
get_unitsEvery 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) wi
resolve_referenceFree 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=t
get_parcel_subparcelsWhat 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...), i
get_parcel_sigpacEvery 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 r
get_crop_catalogFree 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
get_neighborsParcels 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. On
list_provincesProvinces 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.
list_municipalitiesMunicipalities 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.
list_streetsStreets 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.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The publisher (parcelgps.com) is not the repo owner (TheHiddenPandaDev); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 392 ms (HTTP 200)
No sign-in needed
Read 20 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: CATASTROGPS_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (2.2.1) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Signoff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Official cadastral parcels for AI agents from 29 European countries (including the Basque Country and Navarre foral cadastres), with one API key: by cadastral reference in 27, by coordinates in all 29. In Croatia (ARKOD agricultural parcels), Sweden (agricultural blocks) and Scotland (by coordinates) the source is not a full cadastre.
Ask your agent for a parcel by its cadastral reference, by a point on the map or by a postal address. It gets back the reference, location, area, land use and the parcel outline; it can list every dwelling of a Spanish building, read relief, protected areas, climate normals and satellite ground motion, estimate solar and agricultural potential, read aggregated market prices, and score and compare parcels.
ES, PT, FR, IT, DE, PL, NL, CH... and the two Spanish foral cadastres (PV, NA) that the central Catastro does not serve.CNV_AMBIGUOUS) and resolve_reference tells you which ones, for free."Calle Gran Via 31, Madrid", "8 boulevard du Port, Amiens" or "Damrak 1, 1012 LG Amsterdam" become ranked parcels.get_units lists every dwelling, shop and garage of a Spanish building with floor, door, area and participation coefficient.Get a key at [parcelgps.com/developers](https://www.parcelgps.com/developers).
The server runs at `https://mcp.parcelgps.com/mcp` (Streamable HTTP). Every tool call runs on your own key, so it counts against your own quota. Listing the tools needs no key.
Claude Code
claude mcp add --transport http parcel-gps https://mcp.parcelgps.com/mcp --header "Authorization: Bearer pk_live_your_key_here"
Cursor, VS Code, Windsurf (mcp.json)
{
"mcpServers": { "parcel-gps": { "url": "https://mcp.parcelgps.com/mcp", "headers": { "Authorization": "Bearer pk_live_your_key_here" } } } }
Claude.ai and ChatGPT custom connectors, or any client that only takes a URL: put the key in the URL and keep that URL private.
https://mcp.parcelgps.com/mcp?api_key=pk_live_your_key_here
The key is also accepted in an X-API-Key header.
{
"mcpServers": { "catastro-gps": { "command": "npx", "args": ["-y", "catastro-gps-mcp"], "env": { "CATASTROGPS_API_KEY": "pk_live_your_key_here" } } } }
claude mcp add catastro-gps --env CATASTROGPS_API_KEY=pk_live_your_key_here -- npx -y catastro-gps-mcp
Use the same npx -y catastro-gps-mcp command with CATASTROGPS_API_KEY in the environment.
| Tool | What it does | Countries |
|---|---|---|
get_parcel | Parcel by cadastral reference or WGS84 coordinates: reference, location, address, municipality, area, land use, outline, number of crop subparcels and a crop summary (lang for crop names) | All 29 countries, Basque Country and Navarre included (UK and HR: coordinates only) |
search_address | Postal address in free text to ranked parcels, with confidence and whether the number and municipality match | ES (with PV and NA entrances) and FR, IT, DE, AT, NL, BE, PL, CH, CZ, DK, NO, FI, EE, LV, LT, SI, SK, BG, GR, CY, LU, LI, IS, IE, UK, PT |
get_units | Every unit (dwelling, shop, garage, storage) of a Spanish building: stair, floor, door, use, area, participation, year. Paginated, 200 per page | ES, PV, NA |
resolve_reference | Free, no quota: is this text a reference, coordinates or a place name, and of which country | All |
get_parcel_subparcels | Every crop or land-use part of the parcel: crop code, crop name in 10 languages, original label, area, land-use class, source and (optionally) outline. A source failure is SUB_001, not charged | ES (with Bizkaia, Álava, Navarre, Gipuzkoa), AT, DE, CZ, NL, FR, PT, SE, CH, FI, BE, IE, SI, EE, GR |
get_parcel_sigpac | Every SIGPAC enclosure (recinto) of a Spanish parcel: land-use code and name in 10 languages, area in ha, irrigation coefficient, slope, altitude, CAP pasture eligibility and region, incidents and (optionally) outline. Cite "Fuente: FEGA — SIGPAC". A SIGPAC failure is SIG_001, not charged | ES, PV, NA |
get_crop_catalog | Free, no quota: every crop code with its name in the chosen language and its land-use class | All crop catalogues |
get_neighbors | Parcels that touch or surround the parcel (up to 60) with reference and centre point | ES from the cadastre; elsewhere from our own copy (supported: false when not) |
list_provinces, list_municipalities, list_streets | Spanish cadastre provinces, municipalities (with INE code) and streets of a municipality | ES (common territory) |
get_boundaries | Parcel outline as GeoJSON / [lat, lng] ring, centroid and area | 30 codes (all but UK) |
get_terrain | Relief over the parcel outline (Copernicus DEM GLO-30), Natura 2000 / protected areas (EEA) and ERA5-Land climate normals with the recent change | Every reference country but HR; outside ES, PV, NA, PT, FR, IT, DE pass latitude/longitude |
get_ground_motion | Ground motion measured by satellite (Copernicus EGMS, 2020-2024): subsidence or uplift in mm/year, fastest-sinking cell, east-west motion, yearly displacement; says so when there are no radar reflectors | Same as get_terrain |
get_solar_potential | PVGIS photovoltaic estimate: kWp, kWh/year, savings, payback, CO2, tilt | ES, PV, NA, PT, FR, IT, DE |
get_agriculture | Land use, main crop, NDVI and a reference crop price (SIGPAC detail in Spain) | ES, PV, NA, PT, FR, IT, DE |
get_market_data | Rural land prices, paid API plans only. Never individual sales or housing figures | ES, PV, NA: rural parcels only, small agricultural buildings allowed (crop_prices, zone_prices.rural); anything else answers MKT_001, not charged |
get_investment_score | Score 0-100 with a rating and qualitative factor levels (high / medium / low / not available) | ES, PV, NA, PT, FR, IT, DE |
get_value_history | Area and land-use snapshots of the parcel over time | ES, PV, NA, PT, FR, IT, DE, AT |
compare_parcels | Two or three parcels side by side: location, solar, agriculture, score | ES, PT, FR, IT, DE (not PV or NA) |
CNV_COVERAGE, CNV_AMBIGUOUS, a 5xx and an answer without data (available: false) are free. resolve_reference and get_crop_catalog never spend; get_parcel_subparcels and get_parcel_sigpac are free when the parcel has none.get_units (one unit per unit served in the page, minimum 1) and compare_parcels (one per parcel found).quota object read from that same response: remaining, limit, resets_at, plan, and when they apply prepaid_overage, prepaid_balance_eur, overage_units_left, per_minute_remaining, and on get_units with a contract per-finca cap finca_cap / finca_cap_used.KEY_AUTH_004 (HTTP 429, never 402) and the error says whether to top up or upgrade, and when the quota resets.KEY_RATE_002 with the seconds to wait.KEY_PLAN_001, not charged) and only prices rural land: agricultural parcels in Spain (Basque Country and Navarre included), small agricultural buildings (sheds, farm stores, ponds, greenhouses) allowed; the figure is the land price, buildings are not valued. It returns crop_prices (price 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). 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.not_available, so the score is relative to the factors that were available. You get the score, the rating and qualitative factor levels, never the weights.cadastral_value_eur is always null and change_pct is the change in area.What each code answers today (measured against production on 1 October 2026). "Partial" means the official source does not cover the whole territory.
| Code | Country / region | By reference | By coordinates | Address search | Notes |
|---|---|---|---|---|---|
ES | Spain (central Catastro) | yes | yes | yes | Buildings and dwellings with get_units |
PV | Basque Country (Araba, Bizkaia, Gipuzkoa) | yes | yes | with country: ES | Foral cadastres; get_units without participation coefficient |
NA | Navarre | yes | yes | with country: ES | Foral cadastre; get_units |
FR | France | yes | yes | yes | |
IT | Italy | yes | yes | yes | |
DE | Germany | partial | partial | partial | 15 of 16 Lander: not Bavaria |
AT | Austria | yes | yes | yes | |
NL | Netherlands | yes | yes | yes | |
BE | Belgium | yes | yes (slow source) | yes | |
PL | Poland | yes | yes | yes | TERYT parcel IDs |
CH | Switzerland | yes | partial | yes | Not in cantons that publish no parcels (e.g. Vaud) |
CZ DK NO FI EE | Czechia, Denmark, Norway, Finland, Estonia | yes | yes | yes | |
LT SI SK BG | Lithuania, Slovenia, Slovakia, Bulgaria | yes | yes | yes | |
LU LI IS | Luxembourg, Liechtenstein, Iceland | yes | yes | yes | |
CY | Cyprus | yes | yes | yes, low confidence | Few house numbers mapped |
LV | Latvia | with country: LV | yes | yes | |
GR | Greece | with country: GR | yes | yes | |
PT | Portugal | yes | partial | partial | The cadastre does not cover Lisbon, Porto or Coimbra; the DGT source is often down |
IE | Ireland | with country: IE (SP_ID) | partial | partial | |
UK | United Kingdom | no | Scotland only | Scotland only | England, Wales and Northern Ireland not yet |
| HR | Croatia | no | ARKOD agricultural parcels only | no | No open cadastr
Only the beginning is shown; read the rest in the repo