gaff-check
gaff-check
Debida diligencia sobre cualquier propiedad irlandesa, para agentes de IA.
gaff-check es un servidor MCP (Model Context Protocol) de código abierto que proporciona a los asistentes de IA — Claude, Cursor, ChatGPT o cualquier agente compatible con MCP — información veraz a partir de los dispersos conjuntos de datos públicos de propiedades de Irlanda.
Pregúntale a tu asistente:
"¿Debería pujar por este bungalow en Killiney? Cuéntame todo lo que debería preocuparme."
…y puede verificar, en una sola conversación:
🏗️ Solicitudes de planificación cerca de la propiedad (ese bloque de apartamentos pendiente detrás del jardín trasero)
💶 Precios de venta en la calle y en la zona (Registro de Precios de la Propiedad)
🌊 Riesgo de inundación (mapas de inundación de OPW / GSI)
☢️ Riesgo de radón (zonas de riesgo de radón de la EPA)
🗺️ Zonificación (zonificación generalizada del uso del suelo de Myplan)
⚡ Contexto de BER / calificación energética y señales de subvenciones para rehabilitación
🚓 Contexto de delitos registrados para el subdistrito de Garda correspondiente: recuentos por categoría y tasas cuidadosamente calificadas, nunca una puntuación de seguridad
Todo a partir de conjuntos de datos públicos oficiales irlandeses. Sin extracción de datos de sitios comerciales de listados. Registros y contexto derivado claramente etiquetado, nunca certeza inventada.
Por qué
Comprar (o reformar, o simplemente curiosear) una casa en Irlanda implica recorrer seis o más sitios web gubernamentales, cada uno con su pésima experiencia de usuario, y ninguno se comunica con los demás. Los datos son públicos. La síntesis no. gaff-check es el pegamento: una capa de herramientas única, aburrida y fiable para que el razonamiento ocurra en tu asistente de IA.
Related MCP server: homedata-mcp
Lo que no es
No es un motor de valoración. Devuelve registros; tu agente hace el análisis.
No es un extractor de Daft/MyHome. Solo datos públicos del estado.
No es un sitio web. Es una utilidad que mejora herramientas que ya usas.
Inicio rápido
gaff-check se ejecuta como un servidor MCP stdio y requiere Node.js 20 o superior. No ejecutes npx -y gaff-check por sí solo: esperará a que un cliente MCP envíe solicitudes, por lo que la terminal parecerá colgada. Añádelo a tu asistente en su lugar; no se necesitan claves API ni instalación de paquetes adicionales.
Claude Code:
claude mcp add --transport stdio --scope user gaff-check -- npx -y gaff-checkEjecuta /mcp en Claude Code para confirmar que gaff-check está conectado. --scope user lo hace disponible en todos los proyectos; omite esa opción si prefieres la configuración local por proyecto predeterminada de Claude Code.
Codex:
codex mcp add gaff-check -- npx -y gaff-checkEjecuta codex mcp list para confirmar que el servidor está configurado, luego inicia una nueva sesión de Codex y usa /mcp para inspeccionar las herramientas activas.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"gaff-check": { "command": "npx", "args": ["-y", "gaff-check"] }
}
}Cómo se ve
Tú: Estoy pensando en una casa cerca de Fitzwilliam Square en Dublín 2, construida en los años 80. ¿Qué debería saber?
Claude (llamando a
resolve_location,planning_applications,sold_prices,radon_risk,zoning,flood_risk,ber_context,recorded_crime_context):Esto es lo que dicen los registros públicos sobre esa zona:
Planificación: 5+ solicitudes en un radio de 300 m — la más reciente una modificación de estructura protegida aprobada en febrero de 2025 (Ayuntamiento de Dublín, ref WEB1305/25, a 81 m). Varios precedentes de estructuras protegidas en la propia plaza.
Precios de venta: las ventas registradas recientes cercanas varían ampliamente; el registro muestra los precios declarados exactos por dirección (p. ej., 1,8 millones de € por un adosado en Howth Road en junio de 2026 — cada registro lleva su fecha, dirección e indicador de IVA).
Radón: la zona está en la banda de "aproximadamente 1 de cada 20 hogares" de la EPA — no es un Área de Alto Radón designada, pero la EPA recomienda realizar pruebas en cualquier hogar (~50 €).
Zonificación: la plaza en sí está zonificada como espacio abierto según el Plan de Desarrollo de la Ciudad de Dublín 2022–2028; las calles circundantes son residenciales/mixtas.
Inundación: no hay aguas subterráneas mapeadas ni extensiones históricas de inundación en el punto — pero ten en cuenta que los modelos fluviales/costeros de OPW tienen restricciones de licencia y no se han verificado; confirma en floodinfo.ie.
Contexto BER: las viviendas de 1978–1999 en Dublín 2 tienden a C/D. Si el anuncio afirma una B, pide ver el certificado. Subvenciones actuales de SEAI: 12.500 € máximo para una bomba de calor, 1.300 € para aislamiento de ático en un adosado (verificado en julio de 2026).
Delitos registrados: recuentos anuales por categoría de la CSO para el subdistrito de Garda correspondiente, más una tendencia de división más amplia etiquetada por separado. Estos son totales de área administrativa, no incidentes en la dirección; los homicidios y delitos sexuales no se publican a nivel de subdistrito.
Cada cifra anterior proviene de un conjunto de datos oficial, con fuente, licencia, antigüedad y advertencias adjuntas en el payload.
Hackearlo
git clone https://github.com/iarfhlaith/gaff-check.git
cd gaff-check
npm install && npm run buildEl repositorio incluye un .mcp.json para Claude Code y un .codex/config.toml para Codex, ambos con ámbito de proyecto. Después de compilar, abre y confía en el repositorio, luego aprueba o reinicia el servidor configurado cuando se te solicite. npm test ejecuta las pruebas unitarias basadas en fixtures; RUN_E2E=1 npm run test:e2e y npm run eval acceden a los servicios en vivo.
Consulta CONTRIBUTING.md para el estilo del proyecto, docs/HANDOVER.md para el resumen operativo conciso, y SPEC.md más docs/DATA_SOURCES.md para las fuentes detalladas de verdad.
Estado
Publicado en npm como gaff-check@0.2.0. Funcionando hoy:
Herramienta | Qué responde | Fuente |
| "¿Dónde está exactamente esta dirección?" | OpenStreetMap Nominatim |
| "¿Qué se ha solicitado/decidido cerca de este punto?" | National Planning Application Database (DHLGH) |
| "¿A qué precio se vendieron realmente las casas aquí?" | Property Price Register (PSRA, CSVs oficiales) |
| "¿Es esta una zona de alto radón?" | EPA Radon Risk Map |
| "¿Para qué está zonificado este terreno?" | Myplan generalised zoning (DHLGH) |
| "¿Hay alguna inundación histórica o de aguas subterráneas mapeada aquí?" | GSI flood mapping (más una referencia a floodinfo.ie de OPW para modelos fluviales/costeros, que tienen restricciones de licencia) |
| "¿Qué BER es típico para una casa de esta edad aquí, y qué subvenciones existen?" | CSO BER statistics (EBA02) + datos de referencia de subvenciones de SEAI |
| "¿Qué categorías de delitos registrados se publican para esta área más amplia de Garda?" | CSO CJA11/CJA39/CJQ10/CJQ11 + límites de Garda + denominador del Censo 2022 |
Las ocho herramientas están implementadas. Las prioridades actuales son la fiabilidad posterior al lanzamiento, la detección de desviaciones en fuentes upstream y mantener actualizados los metadatos de fuente/licencia/subvenciones; consulta docs/LAUNCH.md para la lista de vigilancia.
Nota sobre los Eircodes: La consulta de Eircode es propietaria, por lo que no existe una forma oficial gratuita de convertir un Eircode en coordenadas. Si solo tienes un Eircode, proporciona también la dirección a tu asistente (o una ubicación aproximada) — resolve_location se encarga del resto.
Trabajo previo
irishmcp.ie aloja un servidor MCP solo para PPR basado en la API de price-register de CivicTech Ireland — buen trabajo, échale un vistazo si solo necesitas precios de venta. El alcance de gaff-check es más amplio (planificación, inundaciones, radón, zonificación, contexto BER) y lee los CSVs oficiales de PSRA directamente.
Licencia
MIT. Los datos devueltos por las herramientas están sujetos a las licencias de los conjuntos de datos públicos subyacentes (principalmente CC-BY 4.0 / PSI); consulta DATA_SOURCES.md.
Available Tools
1 toolresolve_locationA
Resolve a free-text Irish address or place name to geographic coordinates (WGS84 lat/lng), returning ranked candidate matches.
Use this first when the user gives an address, street, townland, or place name in Ireland, to confirm the correct location before calling other gaff-check tools — every candidate echoes its full resolved name so you (and the user) can sanity-check the match. If you already have exact lat/lng coordinates, you do not need this tool.
Geocoding uses OpenStreetMap Nominatim and is best-effort: rural addresses and new estates may match poorly, and Eircodes only resolve where OSM mappers happen to have added them (there is no licensed Eircode lookup — if the user has only an Eircode, ask for the address or an approximate location instead). The confidence score ranks candidates within one query; it is not an absolute probability. Coordinates are WGS84 decimal degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of candidate matches to return (1–10, default 5) | |
| query | Yes | Free-text Irish address or place name, e.g. '25 Fitzwilliam Square, Dublin 2' or 'Salthill, Galway' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses use of OpenStreetMap Nominatim, best-effort nature, relative confidence score, candidate echoing for sanity-check, and Eircode limitations. Does not explicitly state it is read-only or has no side effects, but the nature of geocoding implies read-only. Minor omission prevents a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise (~120 words) and well-structured: front-loaded purpose, then usage guidance, then behavioral details. Every sentence adds value. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and no siblings, the description covers all essential aspects: purpose, when to use, limitations, confidence score, coordinate system, and candidate format. It provides enough context for an agent to use the tool correctly without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. Description adds value by explaining that candidates echo full resolved name for sanity-check, which goes beyond the schema's parameter descriptions. However, the parameter descriptions in the schema are already quite clear, so the addition is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it resolves free-text Irish addresses/place names to WGS84 coordinates, returning ranked candidates. The verb 'resolve' and specific resource are explicit, and the description distinguishes it as a first step before other tools, though no sibling tools are listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: when user gives an address/place name in Ireland, before other gaff-check tools. Also tells when not to use: if exact lat/lng known. Provides caveats about rural addresses, new estates, and Eircode limitations, offering guidance on alternative actions.
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 tool update
v0.1.0- First observed
resolve_location
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or overlap between tools.
The single tool uses a clear verb_noun pattern (resolve_location), which is consistent and descriptive.
One tool is minimal but may be appropriate for a focused geocoding server; however, it feels thin for a comprehensive address service.
The server only offers forward geocoding, missing reverse geocoding, address validation, or Eircode lookup, which are obvious gaps for an Irish address tool.
Maintenance
Related MCP Connectors
Read-only Irish public data for AI assistants: stats, weather, transport, law, property and maps.
UK area & property intelligence for AI agents: reports, EPC, comparables, with source provenance.
UK property research tools - crime stats, schools, demographics, valuations for AI.
Paid intelligence tools for AI agents across risk, finance, property, logistics and more.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides AI access to Korea's land use planning, urban regulations, and permit information through natural language queries. It integrates tools for land analysis, regulation verification, and public notice scraping to prevent hallucinations in property-related AI applications.818MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to query UK property data including EPCs, sale history, planning, flood risk, council tax, demographics, and more via the Homedata API.1821 PyPIMIT
- AlicenseAqualityCmaintenanceUK planning application data for AI agents. Search, look up, and geo-query every UK planning application from Claude, Cursor, or any MCP client — conversationally.4176 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and analyze Korean property data—court auctions, actual transactions, subscription announcements, price trends, and loan/tax calculations—through MCP tools.MIT