RentCast
Accede a datos de propiedades, valoraciones y estadísticas de mercado utilizando la API de RentCast.
Documentación
Servidor MCP de RentCast
Un servidor de Model Context Protocol (MCP) para la API de RentCast. Proporciona a Claude Desktop, Claude Code y otros clientes MCP acceso a registros de propiedades de EE. UU., estimaciones de valor y alquiler con comparables, listados de venta y alquiler, y estadísticas de mercado.
Necesitas una clave de API de RentCast. Crea una en tu panel de API de RentCast.
🚀 Inicio rápido
Hay tres formas de ejecutar el servidor:
- Extensión de Claude Desktop: un archivo, sin necesidad de terminal.
- Instalación local: clona el repositorio y apunta Claude Desktop o Claude Code hacia él.
- Despliegue en contenedor: ejecútalo como servidor HTTP con Docker.
1. Extensión de Claude Desktop
- Compila la extensión (o descarga
rentcast-mcp.mcpbdesde una versión):npx @anthropic-ai/mcpb pack . rentcast-mcp.mcpb - Haz doble clic en
rentcast-mcp.mcpb, o arrástralo a Configuración > Extensiones de Claude Desktop. - Ingresa tu clave de API de RentCast cuando se te solicite. Claude Desktop la almacena como una configuración sensible.
La extensión usa el tipo de servidor MCPB uv: Claude Desktop instala las dependencias fijadas de uv.lock en el primer lanzamiento, por lo que no necesitas tener Python instalado.
2. Instalación local
-
Instala uv (recomendado):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Clona este repositorio:
git clone https://github.com/robcerda/rentcast-mcp-server.git cd rentcast-mcp-server -
Instala las dependencias:
Usando
uv(recomendado):uv sync --locked--lockedinstala exactamente lo queuv.lockfija, verificado contra los hashes que registra, y se niega a re-resolver.Usando
pip:pip install -r requirements-lock.txt --require-hashes pip install -e . --no-depsrequirements-lock.txtse genera a partir deuv.locky fija cada dependencia con hashes, por lo que la ruta de pip instala el mismo conjunto que la de uv.pip install -r requirements.txtsigue funcionando e instala exactamente el mismo conjunto. -
Configura tu clave de API. Crea un archivo
.enven la raíz del proyecto:RENTCAST_API_KEY=your_api_key_hereO pásala en el bloque
envde la configuración del cliente a continuación. -
Configura Claude Desktop: Añade esto a tu archivo de configuración de Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json{ "mcpServers": { "RentCast": { "command": "/opt/homebrew/bin/uv", "args": [ "run", "--locked", "--project", "/path/to/your/rentcast-mcp-server", "rentcast-mcp" ], "env": { "RENTCAST_API_KEY": "your_api_key_here" } } } }Importante: Reemplaza
/path/to/your/rentcast-mcp-servercon tu ruta real, y/opt/homebrew/bin/uvcon la salida dewhich uv.Reinicia Claude Desktop después de guardar la configuración.
O configura Claude Code:
claude mcp add rentcast -e RENTCAST_API_KEY=your_api_key_here -- \ uv run --locked --project /path/to/your/rentcast-mcp-server rentcast-mcpSi se instaló mediante
pipen lugar deuv, usa:{ "command": "python", "args": ["/path/to/your/rentcast-mcp-server/src/rentcast_mcp_server/server.py"] }
Configuración
| Variable | Requerida | Descripción |
|---|---|---|
RENTCAST_SURROGATE_KEY | No | Una credencial sustituta (hsurr:...) para enviar en lugar de la clave real. Preferida sobre RENTCAST_API_KEY cuando está configurada |
RENTCAST_API_KEY | Sí, a menos que se configure una sustituta | Tu clave de API de RentCast |
RENTCAST_SUPPRESS_LOGGING | No | true pide a RentCast que no registre tus consultas y parámetros de consulta |
RENTCAST_MCP_TRANSPORT | No | stdio (predeterminado), streamable-http o http |
RENTCAST_MCP_HOST | No | Dirección de enlace HTTP (predeterminado 127.0.0.1) |
RENTCAST_MCP_PORT | No | Puerto HTTP (predeterminado 8000) |
RENTCAST_MCP_ALLOWED_HOSTS | No | Valores extra de Host para aceptar sobre HTTP, separados por comas |
RENTCAST_MCP_ALLOWED_ORIGINS | No | Valores extra de Origin del navegador para aceptar sobre HTTP, separados por comas |
Cada configuración HTTP también tiene una bandera de línea de comandos: rentcast-mcp --help.
Credenciales sustitutas
Si tu entorno emite una credencial sustituta (una cadena que comienza con hsurr:) en lugar de la clave de API real, configúrala en RENTCAST_SURROGATE_KEY. El servidor la envía en el encabezado X-Api-Key exactamente como se proporciona, de la misma manera que envía una clave real, y usa RENTCAST_API_KEY solo cuando no hay una sustituta configurada. Un valor en RENTCAST_SURROGATE_KEY que no comience con hsurr: detiene el servidor con un error en lugar de recurrir a la clave real.
Despliegue en contenedor
docker build -t rentcast-mcp .
docker run --rm -p 8000:8000 -e RENTCAST_API_KEY=your_api_key_here rentcast-mcp
La imagen sirve HTTP transmisible en el puerto 8000 en /mcp. La validación de Host y Origin permanece activa incluso cuando está vinculada a 0.0.0.0, por lo que un cliente que la alcance por un nombre público necesita que ese nombre esté permitido:
docker run --rm -p 8000:8000 \
-e RENTCAST_API_KEY=your_api_key_here \
-e RENTCAST_MCP_ALLOWED_HOSTS=mcp.example.com \
rentcast-mcp
El transporte HTTP no tiene autenticación propia. Cualquiera que pueda alcanzar el puerto puede gastar tu cuota de RentCast, así que colócalo detrás de una VPN o un proxy inverso autenticado si es accesible desde fuera de tu máquina.
✨ Características
🏠 Registros de propiedades
Registros públicos de más de 150 millones de propiedades de EE. UU.: atributos, propietario, evaluaciones fiscales, historial de ventas y características. Busca una dirección, o busca por ciudad, estado, código postal o un radio alrededor de un punto.
💰 Estimaciones de valor y alquiler
El modelo de valoración automatizada de RentCast devuelve una estimación de valor o alquiler a largo plazo con un rango y los listados comparables utilizados para calcularla. Ajusta los comparables con comp_count, max_radius y days_old, o anula los atributos de la propiedad sujeto.
📋 Listados de venta y alquiler
Listados activos e inactivos de venta y alquiler a largo plazo, con precio, fechas de listado, detalles del agente y la oficina, e historial de listados.
📈 Estadísticas de mercado
Estadísticas de venta y alquiler para cualquier código postal: precio y alquiler promedio, mediana, mínimo y máximo, precio por pie cuadrado, días en el mercado, recuentos de listados, desgloses por tipo de propiedad y dormitorios, e historial mensual.
🔍 Consultas de búsqueda
Las herramientas de búsqueda aceptan la sintaxis de consulta de RentCast:
- Múltiples valores con
|:property_type="Condo|Townhouse",bedrooms="2|3" - Rangos inclusivos con
:y*para un extremo abierto:bedrooms="2:4",price="*:500000",year_built="2000:*" - Hasta 500 resultados por solicitud, paginados con
limityoffset. Configurainclude_total_countpara obtener el número total de coincidencias.
🛠️ Herramientas disponibles
| Herramienta | Descripción | Endpoint de RentCast |
|---|---|---|
search_properties | Buscar registros de propiedades | /properties |
get_random_properties | Muestra aleatoria de registros de propiedades | /properties/random |
get_property | Un registro de propiedad por id | /properties/{id} |
get_value_estimate | Estimación de valor con ventas comparables | /avm/value |
get_rent_estimate | Estimación de alquiler a largo plazo con alquileres comparables | /avm/rent/long-term |
search_sale_listings | Buscar listados de venta | /listings/sale |
get_sale_listing | Un listado de venta por id | /listings/sale/{id} |
search_rental_listings | Buscar listados de alquiler a largo plazo | /listings/rental/long-term |
get_rental_listing | Un listado de alquiler por id | /listings/rental/long-term/{id} |
get_market_statistics | Estadísticas de mercado e historial para un código postal | /markets |
Las herramientas de búsqueda devuelven {count, limit, offset, hasMore, results}, más totalCount cuando se solicita.
Prompts: property_analysis (valor, alquiler, comparables y mercado para una dirección) y market_overview (el mercado de venta y alquiler de un código postal).
📝 Ejemplos de uso
Valor y alquiler para una dirección
What is 5500 Grand Lake Dr, San Antonio, TX 78244 worth, and what would it rent for?
Encontrar listados
Find 3 bedroom houses for sale under $500k in 78704 listed in the last 30 days
Tendencias del mercado de alquiler
Show rental market trends in ZIP code 90210 over the last year
Análisis de inversión
Compare the gross rental yield of condos and single family homes for sale in 33131
🔧 Solución de problemas
RentCast API error 401
La clave de API falta o no es válida. Verifica RENTCAST_API_KEY, o vuelve a ingresar la clave en la configuración de la extensión.
RentCast API error 403
La clave está restringida a otros endpoints o direcciones IP, o hay un problema de facturación. Verifica tu panel de API.
RentCast API error 429
RentCast permite 20 solicitudes por segundo por clave. El servidor reintenta las solicitudes limitadas con retroceso antes de informar esto.
Resultados de búsqueda vacíos
RentCast informa "sin resultados" como una lista results vacía. city y state distinguen entre mayúsculas y minúsculas, y property_type debe coincidir exactamente, por ejemplo, Single Family.
El servidor se desconecta al iniciar
Verifica los registros MCP del cliente. La causa más común es un RENTCAST_API_KEY faltante, lo que hace que el servidor salga inmediatamente.
Desarrollo
uv sync --locked --extra dev
uv run pytest
uv run ruff check .
Las pruebas se ejecutan contra una API de RentCast falsa y nunca realizan solicitudes reales.
Ejecutar el servidor localmente
uv run rentcast-mcp
Para usar el Inspector de MCP:
uv run mcp dev src/rentcast_mcp_server/server.py
Actualizar dependencias
uv lock --upgrade-package <name>
uv export --frozen --no-emit-project --no-editable --no-dev \
--format requirements-txt --output-file requirements-lock.txt
CI falla si uv.lock, requirements-lock.txt y requirements.txt se desvían.
Compilar la extensión
npx @anthropic-ai/mcpb validate manifest.json
npx @anthropic-ai/mcpb pack . rentcast-mcp.mcpb
.mcpbignore mantiene las pruebas, los archivos de CI y los entornos locales fuera del paquete. Cuando agregues o renombres una herramienta, actualiza la lista tools en manifest.json; una prueba verifica que coincida con el servidor.
Licencia
MIT