catastro
Catastro espanol en JSON limpio: inmuebles por referencia catastral, coordenadas o direccion.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen consultar_inmueble_por_coordenadas
- LOWen consultar_inmueble_por_direccion
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"catastro": {
"url": "https://api.prediohq.com/mcp"
}
}
}Puntos de conexión remotos
https://api.prediohq.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (3)
🟢consultar_inmueble_catastro(referenciaCatastral)
Devuelve datos catastrales no protegidos de un inmueble espanol a partir de su referencia catastral: clase (urbano/rustico), uso principal, superficie construida (m2), anio de construccion, direccion normalizada y desglose de construcciones (urbano) o cultivos (rustico). Traduce el servicio SOAP/XML de la Direccion General del Catastro (OVC) a JSON denso. Acepta referencias de 14/18/20 caracteres; si la de 14 (parcela) resuelve a varios inmuebles, devuelve la lista de candidatos para desambiguar.
Esquema de entrada
{
"type": "object",
"properties": {
"referenciaCatastral": {
"type": "string",
"minLength": 14,
"maxLength": 20,
"pattern": "^[0-9A-Za-z]{14}(?:[0-9A-Za-z]{4}(?:[0-9A-Za-z]{2})?)?$",
"description": "Referencia catastral espanola de 14 (parcela), 18 o 20 (inmueble) caracteres alfanumericos. Ejemplo: 9872023VH5797S0001WX"
}
},
"required": [
"referenciaCatastral"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"multiple"
]
},
"property": {
"anyOf": [
{
"type": "object",
"properties": {
"reference": {
"type": "object",
"properties": {
"full": {
"type": "string",
"description": "Referencia catastral completa (20 caracteres) si esta disponible"
},
"parcel": {
"type": "string",
"description": "14 primeros caracteres: identifican la parcela/finca"
},
"parts": {
"type": "object",
"properties": {
"pc1": {
"type": "string"
},
"pc2": {
"type": "string"
},
"car": {
"type": "string"
},
"cc1": {
"type": "string"
},
"cc2": {
"type": "string"
}
},
"additionalProperties": false,
"description": "Descomposicion tal cual la devuelve la OVC"
}
},
"required": [
"full",
"parcel",
"parts"
],
"additionalProperties": false
},
"class": {
"type": "string",
"enum": [
"urban",
"rustic"
],
"description": "Clase del inmueble: urbano (UR) o rustico (RU)"
},
"use": {
"type": [
"string",
"null"
],
"description": "Uso principal (campo `luso`): Residencial, Agrario, Industrial..."
},
"builtAreaM2": {
"type": [
"number",
"null"
],
"description": "Superficie construida total en m2 (campo `sfc`). 0/null en rustico sin construccion"
},
"yearBuilt": {
"type": [
"number",
"null"
],
"description": "Anio de construccion (campo `ant`). null en rustico"
},
"participationPct": {
"type": [
"number",
"null"
],
"description": "Coeficiente de participacion en % (campo `cpt`)"
},
"address": {
"type": "object",
"properties": {
"full": {
"type": [
"string",
"null"
],
"description": "Domicilio descriptivo completo (campo `ldt` de la OVC)"
},
"province": {
"type": [
"string",
"null"
]
},
"municipality": {
"type": [
"string",
"null"
]
},
"postalCode": {
"type": [
"string",
"null"
]
},
"streetType": {
"type": [
"string",
"null"
],
"description": "Tipo de via (CL, AV, PZ...)"
},
"streetName": {
"type": [
"string",
"null"
]
},
"streetNumber": {
"type": [
"string",
"null"
]
},
"block": {
"type": [
"string",
"null"
],
"description": "Bloque/escalera/planta/puerta si aplica"
},
"polygon": {
"type": [
"string",
"null"
],
"description": "Poligono (solo rustico)"
},
"plot": {
"type": [
"string",
"null"
],
"description": "Parcela dentro del poligono (solo rustico)"
},
"place": {
"type": [
"string",
"null"
],
"description": "Paraje (solo rustico)"
}
},
"required": [
"full",
"province",
"municipality",
"postalCode",
"streetType",
"streetName",
"streetNumber",
"block",
"polygon",
"plot",
"place"
],
"additionalProperties": false
},
"constructions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"use": {
"type": [
"string",
"null"
],
"description": "Uso del local (VIVIENDA, ALMACEN, OTROS USOS...)"
},
"floor": {
"type": [
"string",
"null"
]
},
"door": {
"type": [
"string",
"null"
]
},
"areaM2": {
"type": [
"number",
"null"
],
"description": "Superficie del local en m2 (campo `stl`)"
}
},
"required": [
"use",
"floor",
"door",
"areaM2"
],
"additionalProperties": false
},
"description": "Desglose de construcciones (urbano)"
},
"cultivations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
],
"description": "Codigo de clase de cultivo (campo `ccc`)"
},
"description": {
"type": [
"string",
"null"
],
"description": "Descripcion del cultivo (campo `dcc`)"
},
"intensity": {
"type": [
"string",
"null"
],
"description": "Intensidad productiva (campo `ip`)"
},
"areaM2": {
"type": [
"number",
"null"
],
"description": "Superficie de la subparcela en m2 (campo `ssp`)"
}
},
"required": [
"code",
"description",
"intensity",
"areaM2"
],
"additionalProperties": false
},
"description": "Desglose de cultivos/subparcelas (rustico)"
}
},
"required": [
"reference",
"class",
"use",
"builtAreaM2",
"yearBuilt",
"participationPct",
"address",
"constructions",
"cultivations"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"candidates": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"reference": {
"$ref": "#/properties/property/anyOf/0/properties/reference"
},
"use": {
"type": [
"string",
"null"
]
},
"builtAreaM2": {
"type": [
"number",
"null"
]
},
"address": {
"type": [
"string",
"null"
],
"description": "Domicilio resumido del candidato"
}
},
"required": [
"reference",
"use",
"builtAreaM2",
"address"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"message": {
"type": [
"string",
"null"
]
},
"source": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"reference": {
"type": "string"
},
"retrievedAt": {
"type": "string"
},
"dataAsOf": {
"type": [
"string",
"null"
]
},
"cached": {
"type": "boolean",
"description": "true si la respuesta se sirvio de cache (hit fresco o serve-stale), no de una llamada en vivo al OVC"
},
"stale": {
"type": "boolean",
"description": "true si el OVC no respondio y se sirvio un valor cacheado, posiblemente caducado (serve-stale-on-error, ADR-0010): el dato puede estar desactualizado"
}
},
"required": [
"provider",
"reference",
"retrievedAt",
"dataAsOf",
"cached",
"stale"
],
"additionalProperties": false
}
},
"required": [
"status",
"property",
"candidates",
"message",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢consultar_inmueble_por_coordenadas(lat, lon, srs)
Resuelve y devuelve los datos catastrales no protegidos de un inmueble espanol a partir de unas coordenadas geograficas (latitud/longitud). Util para resolver el inmueble desde un punto de un mapa cuando no se tiene la referencia catastral. SRS soportados: EPSG:4326 (WGS84, por defecto) y EPSG:4258 (ETRS89). Devuelve el MISMO JSON normalizado que la consulta por referencia catastral (clase urbano/rustico, uso, superficie construida, anio, direccion); si el punto cae en una parcela con varios inmuebles, devuelve la lista de candidatos. Cobertura: territorio comun (excluye Pais Vasco y Navarra).
Esquema de entrada
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitud en grados decimales (WGS84/ETRS89). Rango -90..90. Ej: 41.3915"
},
"lon": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitud en grados decimales (WGS84/ETRS89). Rango -180..180. Ej: 2.1620"
},
"srs": {
"type": "string",
"description": "Codigo EPSG del sistema de referencia. Soportados: EPSG:4326 (WGS84, por defecto) y EPSG:4258 (ETRS89)."
}
},
"required": [
"lat",
"lon"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"multiple"
]
},
"property": {
"anyOf": [
{
"type": "object",
"properties": {
"reference": {
"type": "object",
"properties": {
"full": {
"type": "string",
"description": "Referencia catastral completa (20 caracteres) si esta disponible"
},
"parcel": {
"type": "string",
"description": "14 primeros caracteres: identifican la parcela/finca"
},
"parts": {
"type": "object",
"properties": {
"pc1": {
"type": "string"
},
"pc2": {
"type": "string"
},
"car": {
"type": "string"
},
"cc1": {
"type": "string"
},
"cc2": {
"type": "string"
}
},
"additionalProperties": false,
"description": "Descomposicion tal cual la devuelve la OVC"
}
},
"required": [
"full",
"parcel",
"parts"
],
"additionalProperties": false
},
"class": {
"type": "string",
"enum": [
"urban",
"rustic"
],
"description": "Clase del inmueble: urbano (UR) o rustico (RU)"
},
"use": {
"type": [
"string",
"null"
],
"description": "Uso principal (campo `luso`): Residencial, Agrario, Industrial..."
},
"builtAreaM2": {
"type": [
"number",
"null"
],
"description": "Superficie construida total en m2 (campo `sfc`). 0/null en rustico sin construccion"
},
"yearBuilt": {
"type": [
"number",
"null"
],
"description": "Anio de construccion (campo `ant`). null en rustico"
},
"participationPct": {
"type": [
"number",
"null"
],
"description": "Coeficiente de participacion en % (campo `cpt`)"
},
"address": {
"type": "object",
"properties": {
"full": {
"type": [
"string",
"null"
],
"description": "Domicilio descriptivo completo (campo `ldt` de la OVC)"
},
"province": {
"type": [
"string",
"null"
]
},
"municipality": {
"type": [
"string",
"null"
]
},
"postalCode": {
"type": [
"string",
"null"
]
},
"streetType": {
"type": [
"string",
"null"
],
"description": "Tipo de via (CL, AV, PZ...)"
},
"streetName": {
"type": [
"string",
"null"
]
},
"streetNumber": {
"type": [
"string",
"null"
]
},
"block": {
"type": [
"string",
"null"
],
"description": "Bloque/escalera/planta/puerta si aplica"
},
"polygon": {
"type": [
"string",
"null"
],
"description": "Poligono (solo rustico)"
},
"plot": {
"type": [
"string",
"null"
],
"description": "Parcela dentro del poligono (solo rustico)"
},
"place": {
"type": [
"string",
"null"
],
"description": "Paraje (solo rustico)"
}
},
"required": [
"full",
"province",
"municipality",
"postalCode",
"streetType",
"streetName",
"streetNumber",
"block",
"polygon",
"plot",
"place"
],
"additionalProperties": false
},
"constructions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"use": {
"type": [
"string",
"null"
],
"description": "Uso del local (VIVIENDA, ALMACEN, OTROS USOS...)"
},
"floor": {
"type": [
"string",
"null"
]
},
"door": {
"type": [
"string",
"null"
]
},
"areaM2": {
"type": [
"number",
"null"
],
"description": "Superficie del local en m2 (campo `stl`)"
}
},
"required": [
"use",
"floor",
"door",
"areaM2"
],
"additionalProperties": false
},
"description": "Desglose de construcciones (urbano)"
},
"cultivations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
],
"description": "Codigo de clase de cultivo (campo `ccc`)"
},
"description": {
"type": [
"string",
"null"
],
"description": "Descripcion del cultivo (campo `dcc`)"
},
"intensity": {
"type": [
"string",
"null"
],
"description": "Intensidad productiva (campo `ip`)"
},
"areaM2": {
"type": [
"number",
"null"
],
"description": "Superficie de la subparcela en m2 (campo `ssp`)"
}
},
"required": [
"code",
"description",
"intensity",
"areaM2"
],
"additionalProperties": false
},
"description": "Desglose de cultivos/subparcelas (rustico)"
}
},
"required": [
"reference",
"class",
"use",
"builtAreaM2",
"yearBuilt",
"participationPct",
"address",
"constructions",
"cultivations"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"candidates": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"reference": {
"$ref": "#/properties/property/anyOf/0/properties/reference"
},
"use": {
"type": [
"string",
"null"
]
},
"builtAreaM2": {
"type": [
"number",
"null"
]
},
"address": {
"type": [
"string",
"null"
],
"description": "Domicilio resumido del candidato"
}
},
"required": [
"reference",
"use",
"builtAreaM2",
"address"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"message": {
"type": [
"string",
"null"
]
},
"source": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"reference": {
"type": "string"
},
"retrievedAt": {
"type": "string"
},
"dataAsOf": {
"type": [
"string",
"null"
]
},
"cached": {
"type": "boolean",
"description": "true si la respuesta se sirvio de cache (hit fresco o serve-stale), no de una llamada en vivo al OVC"
},
"stale": {
"type": "boolean",
"description": "true si el OVC no respondio y se sirvio un valor cacheado, posiblemente caducado (serve-stale-on-error, ADR-0010): el dato puede estar desactualizado"
}
},
"required": [
"provider",
"reference",
"retrievedAt",
"dataAsOf",
"cached",
"stale"
],
"additionalProperties": false
}
},
"required": [
"status",
"property",
"candidates",
"message",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢consultar_inmueble_por_direccion(province, municipality, streetType, streetName, streetNumber, ...)
Resuelve y devuelve los datos catastrales no protegidos de un inmueble urbano espanol a partir de su DIRECCION (provincia, municipio, via y numero). Util para resolver el inmueble desde el texto de un anuncio cuando no se tiene la referencia catastral. Provincia y municipio van por NOMBRE (no codigo); `streetType` es la sigla de la via (CL, AV, PZ...) y se recomienda para acertar. Devuelve el MISMO JSON normalizado que la consulta por referencia (clase urbano/rustico, uso, superficie construida, anio, direccion); si el numero corresponde a varios inmuebles (propiedad horizontal), devuelve la lista de candidatos para desambiguar (afina con bloque/escalera/planta/puerta). Solo direcciones urbanas; cobertura: territorio comun (excluye Pais Vasco y Navarra).
Esquema de entrada
{
"type": "object",
"properties": {
"province": {
"type": "string",
"minLength": 1,
"description": "Provincia por NOMBRE (no codigo), p. ej. 'CIUDAD REAL', 'MADRID'. Obligatorio. Territorio comun (excluye Pais Vasco y Navarra)."
},
"municipality": {
"type": "string",
"minLength": 1,
"description": "Municipio por NOMBRE, p. ej. 'SANTA CRUZ DE MUDELA', 'MADRID'. Obligatorio."
},
"streetType": {
"type": "string",
"description": "Tipo/sigla de via del Catastro: CL (calle), AV (avenida), PZ (plaza), CR (carretera), CM (camino)... Opcional pero recomendado para acertar la via."
},
"streetName": {
"type": "string",
"minLength": 1,
"description": "Nombre de la via SIN la sigla, p. ej. 'GLORIA', 'ALCALA'. Obligatorio."
},
"streetNumber": {
"type": "string",
"minLength": 1,
"description": "Numero de policia, p. ej. '51'. Obligatorio."
},
"block": {
"type": "string",
"description": "Bloque, si aplica (propiedad horizontal). Opcional: afina a un inmueble concreto."
},
"stairway": {
"type": "string",
"description": "Escalera, si aplica. Opcional: afina a un inmueble concreto."
},
"floor": {
"type": "string",
"description": "Planta, si aplica. Opcional: afina a un inmueble concreto."
},
"door": {
"type": "string",
"description": "Puerta, si aplica. Opcional: afina a un inmueble concreto."
}
},
"required": [
"province",
"municipality",
"streetName",
"streetNumber"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"multiple"
]
},
"property": {
"anyOf": [
{
"type": "object",
"properties": {
"reference": {
"type": "object",
"properties": {
"full": {
"type": "string",
"description": "Referencia catastral completa (20 caracteres) si esta disponible"
},
"parcel": {
"type": "string",
"description": "14 primeros caracteres: identifican la parcela/finca"
},
"parts": {
"type": "object",
"properties": {
"pc1": {
"type": "string"
},
"pc2": {
"type": "string"
},
"car": {
"type": "string"
},
"cc1": {
"type": "string"
},
"cc2": {
"type": "string"
}
},
"additionalProperties": false,
"description": "Descomposicion tal cual la devuelve la OVC"
}
},
"required": [
"full",
"parcel",
"parts"
],
"additionalProperties": false
},
"class": {
"type": "string",
"enum": [
"urban",
"rustic"
],
"description": "Clase del inmueble: urbano (UR) o rustico (RU)"
},
"use": {
"type": [
"string",
"null"
],
"description": "Uso principal (campo `luso`): Residencial, Agrario, Industrial..."
},
"builtAreaM2": {
"type": [
"number",
"null"
],
"description": "Superficie construida total en m2 (campo `sfc`). 0/null en rustico sin construccion"
},
"yearBuilt": {
"type": [
"number",
"null"
],
"description": "Anio de construccion (campo `ant`). null en rustico"
},
"participationPct": {
"type": [
"number",
"null"
],
"description": "Coeficiente de participacion en % (campo `cpt`)"
},
"address": {
"type": "object",
"properties": {
"full": {
"type": [
"string",
"null"
],
"description": "Domicilio descriptivo completo (campo `ldt` de la OVC)"
},
"province": {
"type": [
"string",
"null"
]
},
"municipality": {
"type": [
"string",
"null"
]
},
"postalCode": {
"type": [
"string",
"null"
]
},
"streetType": {
"type": [
"string",
"null"
],
"description": "Tipo de via (CL, AV, PZ...)"
},
"streetName": {
"type": [
"string",
"null"
]
},
"streetNumber": {
"type": [
"string",
"null"
]
},
"block": {
"type": [
"string",
"null"
],
"description": "Bloque/escalera/planta/puerta si aplica"
},
"polygon": {
"type": [
"string",
"null"
],
"description": "Poligono (solo rustico)"
},
"plot": {
"type": [
"string",
"null"
],
"description": "Parcela dentro del poligono (solo rustico)"
},
"place": {
"type": [
"string",
"null"
],
"description": "Paraje (solo rustico)"
}
},
"required": [
"full",
"province",
"municipality",
"postalCode",
"streetType",
"streetName",
"streetNumber",
"block",
"polygon",
"plot",
"place"
],
"additionalProperties": false
},
"constructions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"use": {
"type": [
"string",
"null"
],
"description": "Uso del local (VIVIENDA, ALMACEN, OTROS USOS...)"
},
"floor": {
"type": [
"string",
"null"
]
},
"door": {
"type": [
"string",
"null"
]
},
"areaM2": {
"type": [
"number",
"null"
],
"description": "Superficie del local en m2 (campo `stl`)"
}
},
"required": [
"use",
"floor",
"door",
"areaM2"
],
"additionalProperties": false
},
"description": "Desglose de construcciones (urbano)"
},
"cultivations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
],
"description": "Codigo de clase de cultivo (campo `ccc`)"
},
"description": {
"type": [
"string",
"null"
],
"description": "Descripcion del cultivo (campo `dcc`)"
},
"intensity": {
"type": [
"string",
"null"
],
"description": "Intensidad productiva (campo `ip`)"
},
"areaM2": {
"type": [
"number",
"null"
],
"description": "Superficie de la subparcela en m2 (campo `ssp`)"
}
},
"required": [
"code",
"description",
"intensity",
"areaM2"
],
"additionalProperties": false
},
"description": "Desglose de cultivos/subparcelas (rustico)"
}
},
"required": [
"reference",
"class",
"use",
"builtAreaM2",
"yearBuilt",
"participationPct",
"address",
"constructions",
"cultivations"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"candidates": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"reference": {
"$ref": "#/properties/property/anyOf/0/properties/reference"
},
"use": {
"type": [
"string",
"null"
]
},
"builtAreaM2": {
"type": [
"number",
"null"
]
},
"address": {
"type": [
"string",
"null"
],
"description": "Domicilio resumido del candidato"
}
},
"required": [
"reference",
"use",
"builtAreaM2",
"address"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"message": {
"type": [
"string",
"null"
]
},
"source": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"reference": {
"type": "string"
},
"retrievedAt": {
"type": "string"
},
"dataAsOf": {
"type": [
"string",
"null"
]
},
"cached": {
"type": "boolean",
"description": "true si la respuesta se sirvio de cache (hit fresco o serve-stale), no de una llamada en vivo al OVC"
},
"stale": {
"type": "boolean",
"description": "true si el OVC no respondio y se sirvio un valor cacheado, posiblemente caducado (serve-stale-on-error, ADR-0010): el dato puede estar desactualizado"
}
},
"required": [
"provider",
"reference",
"retrievedAt",
"dataAsOf",
"cached",
"stale"
],
"additionalProperties": false
}
},
"required": [
"status",
"property",
"candidates",
"message",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia