navigator.modelContext · LanguageModel · no server

A site with two audiences.

One of them has no eyes. Websites are starting to receive visitors that never look at a page — they ask it what it can do and call the answer directly. This one is built for both at once, and shows you both layers while you use it. The model that operates it is running on your machine, not ours. Disconnect your network and it keeps thinking.

modelprobing
webmcpnot available here
networkconnected

You are looking at the human surface.

Cabinet: lamp at 38 of 100, mainspring tension 72 of 100, 0 of 3 doors open.

Three doors, as von Kempelen built it. Open them with the controls, or ask an agent to — left door is still shut.

Controls

Each of these calls a tool. So does an agent. The manifest records both the same way.

Doors
Mainspring72

Tension decays on its own. The gears stop when it reaches zero because a spring at rest is not a slow spring.

The model is handed the same manifest an agent would receive, picks one tool, and calls it. Watch the cabinet move, the row light up, and the log record it as agent rather than you. If it picks wrongly, that is logged too.

This browser does not expose the Prompt API. It reached stable in Chrome 148 — on Chrome or Edge on desktop the automaton speaks; everywhere else the rest of the cabinet still works.

The manifest

Everything this page can do, declared once. The controls on the left are built from this list; so is what an agent sees. There is no second copy that could drift.

navigator.modelContext · not in this browser

navigator.modelContext is not in this browser. WebMCP is in origin trial from Chrome 149 to 156, so this is the ordinary case today rather than a fault. The tools below are real and callable — an agent simply cannot reach them here.

/tools.json — the same list, served to any agent, crawler or person who asks

  1. open_panelOpen a door1

    Open one of the cabinet's three doors, or all of them at once, revealing the mechanism behind it. Von Kempelen opened the doors of the original Turk before every performance to show the audience there was no person inside. There was.

    panelstring · required
    Which door to open.left | centre | right | all
  2. close_panelClose a door1

    Close one of the cabinet's three doors, or all of them.

    panelstring · required
    Which door to close.left | centre | right | all
  3. set_lampSet the lamp1

    Set the brightness of the lamp lighting the cabinet, from 0 (dark) to 100 (full). This changes how much of the mechanism is visible.

    levelnumber · required
    Brightness from 0 to 100.0100
  4. wind_mechanismWind the mainspring1

    Wind the mainspring. Tension drives the speed of the mechanism and decays on its own over roughly a minute, so it must be wound again to keep the machine moving.

    turnsnumber · required
    Number of turns, 1 to 10. Each turn adds about 8 tension.110
  5. read_cabinetRead the state0

    Report the current state of the cabinet: lamp level, mainspring tension, and which doors stand open. Call this first if you need to know what you are looking at — you cannot see the page.

    no arguments

  6. ask_automatonAsk the automaton1

    Put a question to the automaton. It answers using a language model running entirely on this machine — nothing is transmitted anywhere. Requires Chrome 148 or later; on other browsers this tool reports itself unavailable rather than pretending.

    questionstring · required
    The question to put to the automaton.

Call log0

Nothing has been called yet. Operate a control, or ask the automaton to operate one for you, and both routes will appear here marked with who made the call.

The man in the box

In 1770 Wolfgang von Kempelen presented a chess-playing machine to the Habsburg court. It toured for decades and beat most people who sat down against it, including — by long tradition, though the record is thin — Napoleon. Before each game the operator opened the cabinet doors in sequence to show there was nobody inside.

There was somebody inside. A chess player on a sliding seat, moving from compartment to compartment as each door swung open. The machine was a costume worn by a person.

Every demonstration of a thinking machine since has invited the same suspicion, and usually deserved it — there is nearly always a server somewhere doing the work, and a bill arriving for it. The cabinet above is the version where you get to check.

What changed

Two things, both recent, and neither much discussed outside the browser teams that shipped them.

The model moved onto your machine. Chrome’s Prompt API reached stable in Chrome 148. The model it runs is already on most desktops — it arrived quietly, and there is no key, no request, and no per-token cost. This page cannot see what you ask it.

Pages started declaring what they can do. WebMCP lets a site hand an agent a typed list of its own capabilities instead of making it guess from the markup. It is in origin trial now. When it lands properly, the shape of a website changes: half your visitors stop reading and start calling.

Take it apart →How this page is built →What it cannot do →