Detecting WebMCP... Vault idle
LOCKED --

HUMANLOCK — The vault you cannot open alone.

A cooperative escape room for humans and AI agents.

Human alone: impossible.
Agent alone: impossible.
Together: solvable.

Most websites ask agents to replace humans. HUMANLOCK asks what happens when the interface is designed for both.

Start with your agent

  1. Enter vault or have the agent call enter_vault
  2. Each lock registers one tool (see inspector below the stage)
  3. Human and agent act together on each lock
Detecting WebMCP...

Cooperative computing

HUMANLOCK is an experiment: a web app where neither human nor agent has sufficient capability alone. The vault requires both.

Humans: perception, intuition, judgment, physical interaction
Agents: computation, search, verification, structured execution

Dynamic WebMCP

Each lock registers one tool when active, unregisters on solve. The page changes what the agent can do as you progress.

freeze_frame → solved → filter_by_vibe → solved → sonify_to_spectrogram

Deterministic

No LLM judge, no backend. Locks are pure JS that validate inputs. No hallucination, no cheating.

Pure client state. Same DOM for human and agent.

01

THE BLUR

240fps flash, freeze to reveal

Your job Watch flash, spot glitch
Agent job Call freeze_frame
LOCKED
02

THE SWARM

5000 buttons, one truth

Your job Pick serif, double border
Agent job Call filter_by_vibe
LOCKED
03

THE WHISPER

Ultrasonic, see the sound

Your job Interpret spectrogram
Agent job Call sonify_to_spectrogram
LOCKED
04

THE LIE

Display lies, ledger tells truth

Your job Judge what to trust
Agent job Call audit_truth
LOCKED
05

THE HANDSHAKE

50ms human and agent sync

Your job Arm and drag
Agent job Call align_quantum_lock
LOCKED

WEBMCP TOOL BUS

Dynamic — only the active lock's tool is exposed. The rest are waiting or consumed.
freeze_frame WAITING
filter_by_vibe WAITING
sonify_to_spectrogram WAITING
audit_truth WAITING
align_quantum_lock WAITING

The page changes what the agent can do as you progress. No static tool list.

Prove it: try alone

Neither human nor agent has the complete capability set.

Agent prompt

Open this URL in ChatGPT desktop browser, then send:

List my WebMCP tools and help me open this vault. Start with THE BLUR, call freeze_frame at the glitch. Then filter_by_vibe, sonify_to_spectrogram, audit_truth, and align_quantum_lock together with me.

How WebMCP makes this possible

Each lock registers one document.modelContext.registerTool() tool. The agent discovers it via getTools() or toolchange event, calls it with structured args, and the page mutates shared DOM state. Human and agent see the same vault. Neither can cheat: tools validate inputs and locks judge deterministically.

freeze_frame({ timestamp: 300 }) -> Revealed digit 7 filter_by_vibe({ description: "most trustworthy" }) -> 12 candidates sonify_to_spectrogram() -> image with code 42 audit_truth() -> Real: $999 vs Display: $10 align_quantum_lock({}) -> 12ms window, success