Lodging Decision MCP
Herramienta orientada a agentes que clasifica candidatos de alojamiento con una recomendación determinista y respaldada por evidencia.
Documentación
Servidor MCP de Decisión de Alojamiento (alpha)
Servidor MCP estrecho, orientado a agentes, que envuelve el kernel de decisión de alojamiento del PR #25 (Scenic-Stay/staygraph, rama
agent/scenicgraph-lodging-decision-api) sin modificaciones. Regido por
gauntlet/projects/decision-intelligence-v0.1/WORK-ORDERS.yaml
(DI-001-A) en Scenic-Stay/scenic-intelligence. Lea esa Orden de Trabajo antes de cambiar el alcance.
En vivo: https://di-001-a-lodging-decision-mcp.scenicstay.workers.dev/mcp
Extraído de Scenic-Stay/staygraph (services/di-001-a-mcp-decision-server/, rama
agent/di-001-a-mcp-decision-server, commits 8c8f4c7/f7df7b3) a su propio repositorio público para que
el descubrimiento de MCP basado en GitHub (el Registro Oficial de MCP, el rastreador de Glama) pueda encontrarlo sin
exponer el resto del código de staygraph. Esa rama se conserva como registro histórico; implemente
desde este repositorio en adelante.
Qué es esto
Una herramienta MCP, lodging_decision. Quienes la llaman proporcionan un perfil de viajero, contexto de viaje y
una lista de listados candidatos; la herramienta devuelve una recomendación determinista y respaldada por evidencia
con desglose de puntuación, compensaciones, indicadores de riesgo, información faltante y
confianza. No busca inventario, no reserva, no realiza transacciones ni persiste nada.
Alcance
Solo categorías no sensibles: presupuesto, ubicación, comodidades, calidad/reseñas,
política de cancelación, tarifas, marco de viaje remoto/familiar/negocios/relocalización/eventos,
y necesidades de accesibilidad declaradas. No se acepta entrada de Seguridad y Pertenencia, Recuperación Médica ni
características protegidas adyacentes — consulte src/guard.ts, una
lista de denegación de defensa en profundidad que rechaza (no elimina silenciosamente) campos de texto libre
que hagan referencia a una característica protegida o criterio de direccionamiento discriminatorio, además
del hecho de que el kernel subyacente no tiene tales campos desde el principio.
Estructura
src/kernel/— contratos, puntuador, validación y fixtures del PR #25, copiados byte por byte (test/kernel-parity.test.tslo demuestra contra las seis pruebas propias del PR #25 y los fixtures de ejemplo confirmados).src/guard.ts— la guardia de lista de denegación descrita anteriormente.src/worker.ts— punto de entrada del Worker de Cloudflare: MCPWebStandardStreamableHTTPServerTransportenPOST /mcp, más un límite diario de solicitudes suave respaldado por KV y una verificación de/health.test/— pruebas de paridad del kernel, pruebas de la guardia.
Desarrollo local
npm install
npm test # kernel parity + guard tests
npm run typecheck
npm run dev # wrangler dev, serves http://127.0.0.1:8787/mcp
Implementación
npm run deploy # wrangler deploy
Requiere el espacio de nombres KV DI_001_A_ABUSE_CEILING vinculado en wrangler.jsonc (ya
aprovisionado; consulte el resultado de ejecución de la Orden de Trabajo para el ID del espacio de nombres y el costo real
de Cloudflare registrado en el momento de la implementación).
Limitaciones conocidas (heredadas del PR #25, sin resolver aquí)
Sin autenticación, sin versionado, sin límite de tasa más allá del techo diario suave, no calibrado contra decisiones humanas reales de reserva. No exponga a tráfico de alto volumen no confiable sin una decisión de endurecimiento adicional — consulte los interruptores de circuito de la Orden de Trabajo para el interruptor de apagado manual (retire el Worker; elimine de todos los directorios) si aparecen señales de abuso.