Inspiration

Booking an appointment is easy. Waiting for one is not. We all know the loop: refresh, check again, still nothing. QueueLess exists so the agent does the waiting - and you only show up when there’s something worth deciding.

What it does

QueueLess is a simulated appointment marketplace where humans and agents share the same live page:

  • Search & compare available slots (time, price, category)
  • Recommend a pick the human can understand
  • Approve before reserve - nothing books without a human yes
  • Keep Watching - if nothing fits, the agent polls until a match appears, then asks again

Flow: search -> compare -> approve -> reserve
When inventory fails your constraints: keep_watching -> check_watch -> ask human

How we built it

  • Vite + TypeScript (no backend)
  • WebMCP via document.modelContext.registerTool() (fallback: navigator.modelContext)
  • Shared app store so UI clicks and agent tools hit the same inventory
  • On-page Run demo for judges who want the full loop in ~60 seconds

WebMCP tools

Tool Role
get_app_state Snapshot + suggested workflow
search_slots Filter marketplace inventory
compare_slots Rank + recommend
reserve_slot Propose (confirm: false) then book (confirm: true)
cancel_reservation Release a booking
notify_user In-app toast
keep_watching Arm a watch rule
check_watch Poll for matches
list_reservations / list_watches / stop_watching Helpers

Why WebMCP

Agents shouldn’t scrape buttons and hope. QueueLess exposes structured actions with JSON schemas on the page itself - same session, same state as the human UI. Write actions stay human-gated.

How to try it

Live: https://queueless-mu-one.vercel.app/
Repo: https://github.com/Sonu589/QueueLess

  1. Open in ChatGPT’s in-app browser, or Chrome with chrome://flags/#enable-webmcp-testing enabled
  2. Click Run demo, or search: After 5 PM · max ₹300 · Query blank
  3. Approve a reservation, then try Keep Watching under ₹200 after 6 PM

No login. Simulated slots only - no real payments or bookings.

Built with

Vite, TypeScript, WebMCP (document.modelContext), Vercel

What’s next

Wire a real inventory API behind the same tools, and test the full agent loop in ChatGPT desktop site tools end-to-end.

Built With

Share this project:

Updates