DEV × Sanity Challenge — Path One

Lux Stay Agent — a travel agent that only works because the content is structured

Ask anything about staying in Luxembourg (the real Yasha Hotel, its 54-dish snack menu, transport, sights). Every fact — prices, distances, schedules — is queried live from a Sanity Knowledge Base through the Sanity Context MCP endpoint. Nothing is hallucinated: if it's not in the base, the agent says so.

Architecture

Knowledge Base — 78 real documents in Sanity (hotel, 3 room types with live Booking.com-synced prices, 54 menu items from the hotel's production ordering system, transport guides, FR/EN/DE FAQs, walking-distance sights)
Sanity Context MCP — read-only endpoint (initial_context, schema_explorer, groq_query, array_field_reader) with embeddings for semantic search
Agent loop — Python, OpenAI-compatible LLM with function calling → MCP tools → grounded answer, in the user's language (FR/EN/DE)
Contradiction handling — menu prices carry both the Wolt delivery price and the note that in-room QR ordering is 15–25% cheaper; the agent surfaces both

Live sessions (real recorded runs)

These are unedited transcripts of the agent running against the production Knowledge Base. Pick a question:

Why structure matters here

95 € exact base price of the Double room — a field, not prose
100 m distance to Luxembourg central station — queryable, not guessed
54 menu items with individual prices from the live ordering system
3 languages FR / EN / DE FAQs — the agent answers in yours
16 Oct UNESCO Casemates du Bock, walking minutes stored as a number
Bus 16 airport → station, 0 € (free public transport fact)