What it is
HoldSlot is a booking desk for interview / clinic-style slots. A person and an in-browser agent share the same screen.
The agent can search open slots and place a hold. The hold is visible on the board with a timer. Confirm is a human-only button. There is no confirm tool. The agent cannot complete a booking.
Live: https://holdslot-cyan.vercel.app
Repo: https://github.com/devtechedge/holdslot
Demo: https://www.youtube.com/watch?v=AnjYWBRFELY
Why WebMCP
Agents are bad at calendars. They click the wrong cell, double-book, or submit while the person looks away.
WebMCP lets the page own the tools:
search_slots— open slots by day and durationhold_slot— hold for 3 minutes (does not book)list_holds— current holds and time leftrelease_hold— drop a holdget_board— full board snapshotrequest_confirm— ask the human to confirm (does not confirm)
The UI updates when a tool runs. The person always sees the hold, the timer, and the confirm step.
What people and agents do together
- Agent: search and hold while you watch
- You: reject a bad hold, or press Confirm booking
- Both: same URL, same state
How it is built
Static HTML / CSS / JS on Vercel. document.modelContext.registerTool(...) on load. In-memory slots. Works in ChatGPT’s in-app browser or Chrome with chrome://flags/#enable-webmcp-testing.
What I learned
Page-owned tools beat “agent, please click the button.” The useful part of WebMCP is a shared, visible contract: the agent can hold, the human still owns the commitment.
Built With
- css
- html
- javascript
- vercel
- webmcp
Log in or sign up for Devpost to join the conversation.