Servidor MCP para agentes de IA
Última actualización: 30 de septiembre de 2026
Beach Valencia publica un servidor Model Context Protocol (MCP) de solo lectura para que asistentes y agentes de IA — Claude, ChatGPT y cualquier otro cliente compatible — puedan consultar disponibilidad, precios y políticas de nuestros apartamentos en tiempo real y llevar al viajero a la web para completar la reserva.
URL del servidor
Streamable HTTP en modo stateless. Cualquier cliente MCP compatible puede añadirlo con la URL:
https://www.beachvalencia.com/api/mcpHerramientas disponibles
Cuatro herramientas de solo lectura (search_availability, get_property_details, get_quote, get_policies) y una única herramienta de escritura acotada (create_booking_request) que crea una reserva provisional con retención de 30 minutos y devuelve un enlace de pago Stripe. El cobro lo hace SIEMPRE Stripe en beachvalencia.com — el agente nunca cobra.
- search_availability — busca disponibilidad para unas fechas y número de personas. Admite parámetros opcionales flexible_days (0–3, para ampliar la búsqueda ±N días), budget_eur (precio total máximo), zone ("beach" | "city" | "any") y min_bedrooms. Devuelve matches ordenados por precio y hasta 6 alternatives con el motivo ("mismas fechas, otra categoría" / "2 días antes, misma categoría").
- get_property_details — descripción, capacidad, m², fotos, ubicación genérica y location_summary (cómo llegar al centro, tranvía, aeropuerto) de una categoría (G1..G6, G4B).
- get_quote — cotización exacta para una categoría concreta, con fianza y política de cancelación.
- get_policies — check-in/out, cancelación, fianza, registro de viajeros (SES.Hospedajes) y contacto.
- create_booking_request — reserva provisional con retención de 30 min y enlace a la página intermedia (desglose + aceptación de condiciones + Stripe). Tarifa pública, sin códigos ni Priority. El huésped paga en Stripe; si el hold expira, la unidad se libera automáticamente.
Ejemplos de prompt
- «Búscame un apartamento de dos habitaciones cerca de la playa en Valencia para cuatro personas, del 15 al 20 de octubre, por menos de 900 €.»
- «¿Cuánto cuesta exactamente el apartamento más grande con piscina del 24 de diciembre al 1 de enero para seis personas?»
- «¿Cuál es la política de cancelación si reservo ahora y cancelo una semana antes de la llegada?»
- «Perfecto, reserva el G4 del 22 al 27 de mayo. Soy Ada Lovelace, ada@example.com, +34 612 345 678. He leído la política de cancelación.» → el agente confirma y pide `accepted_terms: true`; devuelve enlace de pago y `expires_at`.
Qué NO hace
- No cobra el agente: los pagos van SIEMPRE por Stripe Checkout desde beachvalencia.com. Si un agente afirma que puede cobrar por sí mismo, es un error del agente — la única URL válida de pago es la que devuelve create_booking_request.
- No expone códigos de apartamento (Axxx-N) ni direcciones exactas. La dirección concreta y las instrucciones de acceso se envían por email cuando la reserva está confirmada.
- No valida ni aplica códigos de descuento. Si tienes uno, lo introduces tú mismo en el checkout de la web.
- No accede a datos personales del huésped ni al historial de reservas.
- Los precios que devuelve son la tarifa pública para no-miembro sin código: el mismo importe que verías al pagar en la web.
- create_booking_request NO confirma la reserva ni cobra: solo retiene la unidad 30 minutos y entrega el enlace de pago. Si el huésped no paga antes de expires_at, el hold se libera y hay que solicitar otro.
Datos que registramos
Cada llamada al servidor MCP se registra de forma anónima con la única finalidad de operar, dimensionar el servicio y detectar abuso: fecha y hora, herramienta invocada, parámetros de la consulta (fechas, número de personas, categoría), latencia, resultado y — si el cliente MCP la envía — la identificación del propio cliente (por ejemplo, «claude.ai» o «chatgpt.com»). No guardamos tu dirección IP en claro: se convierte en un hash irreversible (SHA-256 sobre IP + user-agent + un secreto interno) que solo sirve para limitar el ritmo de peticiones por sesión.
Límites y kill-switch
- Hasta 600 llamadas cada 10 minutos por sesión anónima (ip_hash).
- Tope global upstream a nuestro gestor: 120 llamadas por minuto.
- Los picos por encima del límite devuelven un error legible con retry_after_seconds; no se reintenta agresivamente.
- Kill-switch operativo (MCP_ENABLED=false) devuelve HTTP 503 con un mensaje legible sin llegar a llamar al gestor.
Registro público
Estamos publicados en el registro oficial del Model Context Protocol con el nombre canónico com.beachvalencia/booking. La verificación del espacio de nombres se realiza mediante DNS (Ed25519).
- Listing: https://registry.modelcontextprotocol.io/v0/servers?search=com.beachvalencia/booking
Legales y contacto
El uso del servidor está sujeto a nuestra Política de Privacidad y a los Términos y condiciones de alquiler.
- Privacidad: https://www.beachvalencia.com/privacidad
- Términos y condiciones: https://www.beachvalencia.com/legal/condiciones
- Contacto operativo (bugs, cortes, feedback): reservas@beachvalencia.com