Zornade MCP - Italian Cadastre, Geospatial and Real Estate Data

Italian cadastral parcels, geocoding, OMI valuations, risk and demographic data. 85M parcels.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
98%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,296Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.01% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "zornade-mcp": {
      "url": "https://mcp.zornade.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.zornade.com/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢zornade_geocode_search(q, city, limit)

Forward geocoding for Italian addresses. Searches the ANNCSU street archive (18.7+ million addresses) by street name and optional municipality. Returns matches with WGS84 coordinates, postal code, municipality, province and region. Does NOT find points of interest: search by street name instead.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Street name or search text, min 2 chars. Example: \"Via del Corso\"",
      "type": "string"
    },
    "city": {
      "description": "Municipality name filter. Example: \"Roma\"",
      "type": "string"
    },
    "limit": {
      "description": "Max results, default 10",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "q"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢zornade_geocode_reverse(lat, lng, radius, limit)

Reverse geocoding: find Italian addresses near WGS84 coordinates. Returns the closest ANNCSU addresses with distance in meters.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Latitude WGS84, Italy bounds 35.5-47.5",
      "type": "number",
      "minimum": 35.5,
      "maximum": 47.5
    },
    "lng": {
      "description": "Longitude WGS84, Italy bounds 6.0-19.0",
      "type": "number",
      "minimum": 6,
      "maximum": 19
    },
    "radius": {
      "description": "Search radius in meters, default 100, max 500",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "limit": {
      "description": "Max results, default 5",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢zornade_parcel_by_id(fid, include)

Enriched cadastral parcel profile by FID or GML ID. Returns municipality, area, cadastral reference, and the requested data sections (risk, subsidence, terrain, buildings, economics, demographics, valuation, valuation_history, solar, POI, etc.). Geometry is omitted to keep the reply compact.

Input Schema

{
  "type": "object",
  "properties": {
    "fid": {
      "description": "Parcel FID number (example \"28009975\") or GML ID",
      "type": "string"
    },
    "include": {
      "description": "Comma-separated sections: risk,subsidence,terrain,population,buildings,economics,demographics,land_cover,land_use,valuation,valuation_history,coastal_erosion,cultural_heritage,poi,solar,nightlights. Default: risk,economics,solar,valuation",
      "type": "string"
    }
  },
  "required": [
    "fid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢zornade_parcel_locate(lat, lng, points, bbox, limit)

Find cadastral parcels by coordinates or bounding box. Three modes: single point (lat+lng), multiple points (points="lat,lng;lat,lng", max 10), or bounding box (bbox="minLng,minLat,maxLng,maxLat", max 0.05 degrees per side). Returns matching parcels with FID, municipality and centroid.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Latitude for single-point mode",
      "type": "number"
    },
    "lng": {
      "description": "Longitude for single-point mode",
      "type": "number"
    },
    "points": {
      "description": "Multiple points as \"lat,lng;lat,lng\", max 10 pairs",
      "type": "string"
    },
    "bbox": {
      "description": "Bounding box as \"minLng,minLat,maxLng,maxLat\", max 0.05 degrees per side",
      "type": "string"
    },
    "limit": {
      "description": "Max results, default 50",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢zornade_parcel_search(comune, foglio, label, sezione, limit)

Search cadastral parcels by cadastral reference: municipality (fuzzy match), sheet number (foglio), parcel label, optional section. Returns matching parcels with FID, municipality, sheet, area and centroid.

Input Schema

{
  "type": "object",
  "properties": {
    "comune": {
      "description": "Municipality name, required. Example: \"Roma\"",
      "type": "string"
    },
    "foglio": {
      "description": "Cadastral sheet number. Example: \"481\"",
      "type": "string"
    },
    "label": {
      "description": "Parcel label. Example: \"A\" or \"123\"",
      "type": "string"
    },
    "sezione": {
      "description": "Administrative section. Example: \"A\"",
      "type": "string"
    },
    "limit": {
      "description": "Max results, default 20",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "comune"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢zornade_admin_lists(type, region, province)

Italian administrative reference data: regions, provinces, or municipalities. Provinces can be filtered by region; municipalities by province or region.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "description": "Which administrative list to return",
      "type": "string",
      "enum": [
        "regions",
        "provinces",
        "municipalities"
      ]
    },
    "region": {
      "description": "Filter by region name (provinces, municipalities)",
      "type": "string"
    },
    "province": {
      "description": "Filter by province name (municipalities)",
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools