Zornade MCP - Italian Cadastre, Geospatial & Real Estate Data
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Model Context Protocol server for Italian cadastral, geospatial and real
estate data, powered by the Zornade API v2.
Add it to any MCP client (Claude, Cursor, VS Code Copilot, Cline, ...) and ask
questions about Italian properties in natural language: geocoding, cadastral
parcels, risk layers, valuations, solar potential, administrative lists.
Endpoint
Authentication
A free Zornade API key (zrn_...) from
https://app.zornade.com/api is required. Send it
as x-api-key header, Authorization: Bearer, or ?api_key= query parameter.
Rate limits and scopes are the ones of your key (10,000 requests/hour).
Tools
| Tool | Description |
| --- | --- |
| zornade_geocode_search | Forward geocoding on 18.7M+ Italian addresses (ANNCSU) |
| zornade_geocode_reverse | Reverse geocoding by WGS84 coordinates |
| zornade_parcel_by_id | Enriched cadastral parcel profile (risk, economics, solar, valuations, POI, ...) |
| zornade_parcel_locate | Parcels by point, multiple points, or bounding box |
| zornade_parcel_search | Parcels by comune, foglio, label |
| zornade_admin_lists | Regions, provinces, municipalities |
Connect
Claude Code:
Claude Desktop (claude_desktop_config.json):
Test
Example
A typical conversation, from natural language to a structured answer:
1. The user asks: "Is this parcel at risk of flooding, and what is it worth?"
2. The agent calls zornade_geocode_search with { "query": "via del corso 1, roma" },
then zornade_parcel_by_id with the returned fid.
3. The answer comes back as compact JSON with English field names:
(abridged for brevity; geometry is omitted from tool replies). Field names are
English across the API (area_m2, pga, risk_label, ...). A few official
cadastral terms stay in Italian on purpose (foglio, sezione), and values
like street, municipality and region names are proper names and stay as they
are.
Architecture
- functions/mcp/index.ts - Supabase Edge Function (Deno), built with
mcp-lite + Hono, streamable HTTP
transport. Pattern from the official Supabase MCP guide.
- netlify.toml + public/ - Netlify reverse proxy for the clean hostname
mcp.zornade.com (no build step).
Documentation
- API docs: api.zornade.com
- API keys: app.zornade.com/api
- Main site: zornade.com
Known limitations
- The HTTP transport is stateless: no persistent SSE sessions. Some modern
SDK clients open a persistent SSE GET after initialize and receive a 400;
request/response calls work normally and that error is harmless.
- Protocol revision negotiation: the server supports the 2025 MCP revisions
(2025-03-26 and 2025-06-18). A client requesting a newer or unknown
revision is answered with the oldest supported revision instead of an
error.
- Tool responses are text-only: geometries are omitted to keep the LLM
context light.
- Tool calls require a free Zornade API key. Direct API v2 calls are the
right tool for batch pipelines, see api.zornade.com.