NYC Property Intel

Servidor MCP que otorga a Claude AI acceso a más de 22 bases de datos de registros públicos de NYC (violaciones de DOB, quejas de HPD, escrituras de ACRIS, ventas de DOF, 311, FDNY, NYPD, desalojos, PLUTO) para la debida diligencia inmobiliaria. Prueba gratuita. Pruébelo sin instalación en nycpropertyintel.com/chat.

Documentación

NYC Property Intel

Servidor MCP que le da a Claude AI acceso a más de 20 conjuntos de datos de registros públicos de la ciudad de Nueva York para la debida diligencia inmobiliaria. Pregúntale a Claude sobre cualquier propiedad en NYC en inglés sencillo: infracciones, gravámenes, historial de ventas, propiedad, permisos, estabilización de renta, zonificación, historial de incendios, datos delictivos y más.

Esta es una herramienta de debida diligencia, no una herramienta de tasación. Solo muestra datos de registros públicos; no estima valores de propiedad.

Inicio rápido — Chat web (sin configuración)

La forma más rápida de probarlo: abre nycpropertyintel.com/chat y pregunta sobre cualquier propiedad en NYC en inglés sencillo. 3 consultas gratuitas, sin registro — sin instalar, sin token y sin necesidad de cliente de Claude.

"What violations does 123 Atlantic Ave, Brooklyn have?"

Guías y consultas gratuitas

Inicio rápido — Claude Code / Escritorio (MCP alojado)

Regístrate en nycpropertyintel.com para obtener un token de prueba gratuito (10 consultas/día durante 30 días, incluidos hasta 5 informes completos de debida diligencia). Luego:

Claude Code — ejecuta una vez en tu terminal:

claude mcp add --transport http nyc-property-intel \
  "https://nyc-property-intel-production.up.railway.app/mcp" \
  --header "Authorization: Bearer YOUR_TOKEN" \
  --scope user

Claude Desktop — agrega a claude_desktop_config.json (Configuración → Desarrollador → Editar configuración):

{
  "mcpServers": {
    "nyc-property-intel": {
      "type": "http",
      "url": "https://nyc-property-intel-production.up.railway.app/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

Luego pregúntale a Claude:

"Look up 350 5th Ave, Manhattan"
"What violations does 123 Atlantic Ave, Brooklyn have?"
"Full due diligence on 123 Atlantic Ave, Brooklyn"

Autoalojamiento

Requisitos previos

  • Python 3.12+
  • Administrador de paquetes uv
  • PostgreSQL 16+
  • CLI de nycdb (pip install nycdb)

1. Clonar e instalar

git clone https://github.com/ccedacero/nyc-property-intel.git
cd nyc-property-intel
uv sync

2. Configurar el entorno

cp .env.example .env
# Edit .env:
#   DATABASE_URL=postgresql://nycdb:nycdb@localhost:5432/nycdb
#   NYC_GEOCLIENT_SUBSCRIPTION_KEY=your_key  (optional, improves address resolution)
#   SOCRATA_APP_TOKEN=your_token             (optional, higher rate limits for 311/FDNY/NYPD)

3. Configurar la base de datos

Opción A: Restaurar desde el volcado (~10 minutos)

createuser -s nycdb 2>/dev/null; createdb -O nycdb nycdb 2>/dev/null
pg_restore -U nycdb -d nycdb --no-owner --jobs=4 data/nycdb.dump

Opción B: Cargar desde la fuente (~2.5 horas)

createuser -s nycdb 2>/dev/null; createdb -O nycdb nycdb 2>/dev/null
chmod +x scripts/seed_nycdb.sh
./scripts/seed_nycdb.sh              # all phases
# or incrementally:
./scripts/seed_nycdb.sh --phase A    # core data (~30 min)
./scripts/seed_nycdb.sh --phase B    # sales + DOB (~45 min)
./scripts/seed_nycdb.sh --phase C    # ACRIS + permits (~90 min)

Luego crea índices y vistas materializadas:

psql -U nycdb -d nycdb -f scripts/create_indexes.sql
psql -U nycdb -d nycdb -f scripts/create_views.sql

4. Añadir a Claude Desktop

{
  "mcpServers": {
    "nyc-property-intel": {
      "command": "uv",
      "args": ["run", "nyc-property-intel"],
      "cwd": "/absolute/path/to/nyc-property-intel",
      "env": {
        "DATABASE_URL": "postgresql://nycdb:nycdb@localhost:5432/nycdb"
      }
    }
  }
}

5. Añadir a Claude Code

El .mcp.json en la raíz del proyecto se registra automáticamente al abrir este directorio. O agrégalo manualmente a ~/.claude.json:

{
  "mcpServers": {
    "nyc-property-intel": {
      "command": "uv",
      "args": ["run", "nyc-property-intel"],
      "cwd": "/absolute/path/to/nyc-property-intel"
    }
  }
}

18 herramientas

HerramientaDescripción
lookup_propertyResuelve cualquier dirección o BBL de NYC a un perfil completo de propiedad: propietario, clase de edificio, zonificación, FAR, valor tasado, dimensiones del lote. Llama a esto siempre primero.
get_property_issuesViolaciones de vivienda de HPD (Clases A/B/C), violaciones del código de construcción de DOB y sanciones monetarias de ECB/OATH. Filtra por gravedad, estado y fecha.
get_property_historyRegistros de ventas de DOF y transferencias de escrituras de ACRIS. Trayectoria de precios, nombres de compradores/vendedores, tipos de documento desde 2003.
get_hpd_complaintsQuejas de inquilinos reportadas a HPD — indicadores tempranos de deterioro del edificio antes de que se emitan violaciones formales.
get_hpd_litigationsCasos judiciales de vivienda de HPD, sentencias abiertas y hallazgos de acoso contra propietarios de edificios.
get_hpd_registrationRegistros de registro del propietario legal, agente administrador y oficial principal.
get_building_permitsPresentaciones de trabajo de DOB: edificios nuevos, alteraciones, demoliciones, permisos de letreros. Estado, costo estimado, nombre del solicitante.
get_liens_and_encumbrancesEntradas de la lista de venta de gravámenes fiscales de DOF y registros de hipotecas de ACRIS. Gravámenes pendientes, nombres de prestamistas, montos, cancelaciones.
get_tax_infoAvalúos de impuestos, estimaciones de valor de mercado, valor imponible y exenciones activas (421a, J-51, STAR).
get_rent_stabilizationConteos de unidades estabilizadas por año (2007–2017). Análisis de tendencias para señales de desregulación.
search_compsVentas comparables por código postal. Filtra por clase de edificio, precio, fecha. Incluye estadísticas trimestrales de mercado.
search_neighborhood_statsAgregados a nivel de área: inventario de propiedades, precios de venta medianos, tasas de violaciones, participación de estabilización de renta.
get_fdny_fire_incidentsHistorial de incidentes de incendios y emergencias de FDNY. Tipo de fuego, nivel de alarma, propagación, víctimas, duración. Desde 2013 hasta el presente, cargado desde NYC Open Data.
get_311_complaintsSolicitudes de servicio al 311 en o cerca de una propiedad. Ruido, roedores, calefacción, vertido ilegal y más de 200 tipos. Desde 2010 hasta el presente, cargado desde NYC Open Data.
get_evictionsDesalojos ejecutados por Marshal según dirección. Residenciales y comerciales. Desde 2017 hasta el presente, cargado desde NYC Open Data.
get_dob_complaintsQuejas de DOB presentadas antes de las violaciones formales — la señal pública más temprana de problemas de construcción o seguridad.
get_nypd_crimeQuejas delictivas de NYPD dentro de un radio configurable (predeterminado 300 m ≈ 3 cuadras). Desglose por felonía/delito menor, principales delitos, tendencia año tras año.
analyze_propertyResumen completo de debida diligencia — ejecuta todas las subconsultas en paralelo. Perfil de propiedad, análisis de FAR, finanzas, factores de riesgo, estabilización de renta, ventas comparables y observaciones clave.

Fuentes de datos

Los datos principales (~19 millones de filas) se cargan desde nycdb. Todos los conjuntos de datos se cargan en PostgreSQL. La API de Socrata se usa solo como respaldo.

Conjunto de datosAgenciaNotas
PLUTODCPPerfiles de propiedad, zonificación, FAR, clase de edificio
PADDCPResolución dirección-BBL
Violaciones de HPDHPDViolaciones del código de vivienda por clase y estado
Quejas de HPDHPDRegistros de quejas de inquilinos
Registros de HPDHPDRegistro de propietario/agente/oficial
Litigios de HPDHPDCasos judiciales de vivienda
Violaciones de DOBDOBViolaciones del código de construcción
Violaciones de ECBOATH/ECBSanciones de la Junta de Control Ambiental
Ventas rotativas de DOFDOFVentas recientes de propiedades
Ventas anuales de DOFDOFVentas históricas desde 2003 hasta el presente
Avalúos de DOFDOFValoraciones fiscales y registros de evaluación
Exenciones de DOFDOFRegistros de exención fiscal (421a, J-51, STAR)
Gravámenes fiscales de DOFDOFLista anual de venta de gravámenes
Estabilización de rentaDOFConteos de unidades estabilizadas por edificio, 2007–2017 (derivados de facturas fiscales de DOF a través de taxbills.nyc / JustFix)
ACRISDOFEscrituras, hipotecas, gravámenes, cancelaciones, presentaciones UCC
Incidentes de incendios de FDNYFDNYDesde 2013 hasta el presente
Solicitudes de servicio al 311311/DOITTDesde 2010 hasta el presente
Desalojos de MarshalDOIDesde 2017 hasta el presente
Quejas de DOBDOBCargado desde NYC Open Data
Datos delictivos de NYPDNYPDDesde 2006 hasta el presente, radio geoespacial

Arquitectura

src/nyc_property_intel/
  app.py              # FastMCP instance + system prompt
  server.py           # Entry point: lifespan, auth middleware, tool registration
  config.py           # pydantic-settings (reads .env / environment variables)
  db.py               # asyncpg connection pool + query helpers
  auth.py             # Token validation, rate limiting, usage logging
  analytics.py        # PostHog event capture (fire-and-forget)
  geoclient.py        # NYC GeoClient API + PAD fallback for address resolution
  socrata.py          # Socrata Open Data API client — fallback for FDNY, 311, NYPD, evictions
  loops_webhook.py    # Loops.so webhook → auto-provision trial tokens on signup
  tools/
    lookup.py         # lookup_property
    issues.py         # get_property_issues
    history.py        # get_property_history
    hpd_complaints.py # get_hpd_complaints
    hpd_litigations.py# get_hpd_litigations
    hpd_registration.py# get_hpd_registration
    permits.py        # get_building_permits
    liens.py          # get_liens_and_encumbrances
    tax.py            # get_tax_info
    rentstab.py       # get_rent_stabilization
    comps.py          # search_comps
    neighborhood.py   # search_neighborhood_stats
    fdny.py           # get_fdny_fire_incidents
    complaints_311.py # get_311_complaints
    evictions.py      # get_evictions
    dob_complaints.py # get_dob_complaints
    nypd_crime.py     # get_nypd_crime
    analysis.py       # analyze_property
scripts/
  seed_nycdb.sh         # Downloads and loads all nycdb datasets
  create_indexes.sql    # Performance indexes on critical columns
  create_views.sql      # Materialized views for fast property lookup
  manage_tokens.py      # CLI for provisioning and managing customer tokens

Desarrollo

uv run pytest tests/test_utils.py -q          # unit tests (no DB needed)
uv run pytest tests/ -m integration -q        # integration tests (needs live DB)
uv run ruff check src/                         # lint
uv run nyc-property-intel                      # run server locally (stdio)

Vivienda justa

NYC Property Intel proporciona datos de edificios y propiedades solo de registros públicos municipales. No proporciona datos demográficos, verificación de inquilinos ni ningún análisis basado en características protegidas. Consulta nycpropertyintel.com/#fair-housing para ver la política completa.

Licencia

MIT