Threshold

Busca y reserva alojamientos vacacionales independientes verificados directamente con los anfitriones, sin cargos para los huéspedes.

Servidor MCP alojado

npx add-mcp 'https://threshold.rentals/api/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

MCP

Añade este servidor MCP remoto a Claude, ChatGPT o cualquier cliente MCP (guía paso a paso para viajeros):

https://threshold.rentals/api/mcp

Herramientas: search_stays, get_property, check_availability, get_quote, request_booking, get_booking, get_messages, send_message, cancel_booking, ask_host. Envía Authorization: Bearer <any stable token> para mantener tus reservas vinculadas a tu agente.

Tarjeta del servidor: /api/mcp/server-card (también en /.well-known/mcp/server-card.json, y listado en /.well-known/ai-catalog.json).

API REST

Descripción completa para frameworks de agentes, acciones personalizadas de GPT y generadores de código: https://threshold.rentals/openapi.json (OpenAPI 3.1). El esquema JSON del registro de propiedad está en /schemas/property.schema.json.

GET  https://threshold.rentals/api/v1/search?place=Asheville,NC&check_in=2026-10-09&check_out=2026-10-12&adults=2&pets=1&amenities=hot_tub
GET  https://threshold.rentals/api/v1/properties/{id}
GET  https://threshold.rentals/api/v1/properties/{id}/availability?from=…&to=…
POST https://threshold.rentals/api/v1/properties/{id}/quotes      {check_in, check_out, party}
POST https://threshold.rentals/api/v1/booking_requests            {quote_id, buyer, house_rules_accepted, special_requests}
GET  https://threshold.rentals/api/v1/bookings/{id}
GET  https://threshold.rentals/api/v1/bookings/{id}/messages     (POST {body} to message the host)
GET  https://threshold.rentals/api/v1/bookings/{id}/cancellation_preview
POST https://threshold.rentals/api/v1/bookings/{id}/cancel        {expected_refund}
POST https://threshold.rentals/api/v1/properties/{id}/questions  {question}
GET  https://threshold.rentals/api/v1/events
GET  https://threshold.rentals/.well-known/jwks.json

El dinero está en céntimos. La búsqueda se almacena en caché; una cotización vuelve a leer los calendarios del anfitrión y es el único precio vinculante. Los errores son application/problem+json con un code estable. Las solicitudes están limitadas por IP y por token de agente (por ejemplo, 60 búsquedas y 30 cotizaciones por minuto, 10 solicitudes de reserva por hora); si superas el límite, recibes 429 con una cabecera Retry-After. Un huésped puede tener como máximo 3 solicitudes de reserva sin confirmar abiertas a la vez.

Cómo funciona la reserva

Revisa el booking_mode de cada cotización. Con instant, la reserva se confirma en cuanto el huésped paga. Con host_confirms, es una solicitud que el anfitrión acepta o rechaza dentro de la ventana de respuesta del anuncio (1–24 horas). Revisa el objeto payment de cada cotización. Cuando collected_by es threshold, request_booking devuelve un payment_url: el huésped lo abre y añade una tarjeta en una página segura de Stripe, y solo entonces la solicitud llega al anfitrión. La tarjeta se autoriza y se cobra solo si el anfitrión acepta, o, con plan: pay_later, se cobra en charge_date. Los agentes nunca manejan datos de tarjeta. En la API REST (no a través de MCP), los agentes con una billetera que emite tokens de pago compartidos de Stripe (como la billetera de agente Link de Stripe) pueden omitir la página: cuando la respuesta incluye agent_payment, haz POST a su url, responde al desafío 402 (Protocolo de Pagos de Máquinas, método stripe) con un token para su network_id, y el bloqueo se coloca una vez que el huésped lo aprueba en su billetera. Cuando collected_by es host, el anfitrión organiza el pago después de aceptar. Informa claramente a los huéspedes cuál aplica y muéstrales las reglas de la casa de la cotización antes de establecer house_rules_accepted.