### Coding agents: `wai mcp`, `wai setup-agent`, and the room service's API described

- **`wai mcp`** (`mcp.start`; the feature `mcp`, which the quickstart's `wai` holds): WAI's
  operations as tools for a coding assistant, a Model Context Protocol server (revision
  2025-06-18) on standard input and output. Each tool is an operation of the toolchain's
  catalogue, named by it with `_` for the dot, in toolsets. `core`, the default:
  `envelope_inspect` (an envelope or a package), `registry_list` and `registry_show` (the
  registered capabilities), `receipt_verify` (a delivery receipt, a claim with the context the
  tool takes, a live-room session or a stream audit bundle, by `kind` or read from the
  arguments; each answer the verifier's verdict and reason code), `envelope_wrap` (a media file
  under `wai wrap`'s rules, inside the project directory only), `conformance_list` and
  `conformance_run` (a corpus's independent verifier), and `docs_search` (the specification's
  text). `dev`, marked development only, on the target `local` alone: `dev_start` and `dev_stop`
  (a relay and a room service on loopback), `room_grant` (grants for test principals, refusing
  any service whose address is not a loopback address, before connecting), `room_join`,
  `room_leave` and `session_show`. `--toolset` chooses; `--read-only` offers only the tools that
  read or run a verifier. The verdicts agree vector by vector with jwp-conformance,
  claim-conformance, live-conformance/rooms and live-conformance/audit (`tests/cli_mcp.rs`).
- **`wai setup-agent`** (`agent.setup`): writes `AGENTS.md` in a project, adds an import of it to
  a `CLAUDE.md` the project already has, and registers `wai mcp` (with `--toolset`, those
  toolsets) in its MCP configuration files, by their documented formats; it changes a file that
  exists only after its diff is shown and confirmed, has a dry run, and writes nothing outside
  the project directory. With `--json` it answers in the toolchain's JSON envelope
  (`envelope/1`), with the table's exit statuses: 2 usage, 3 permission, 4 confirmation
  required (each proposed change and the confirming command given), 5 not found
  (`tests/cli_setup_agent.rs`).
- **`wai mcp` and `wai setup-agent` are verbs of the one table** (`dx::VERBS`) that holds `hello`,
  `create`, `dev` and `verify`, and operations of the catalogue (`wai::catalogue`): `mcp.start`,
  `agent.setup`, every tool's operation, and the room service's operations at their routes,
  held to it both ways by the tool table's tests and the room service's contract test.
- **The room service's API**: `joule-moq-room/openapi.json` (OpenAPI 3.1) describes every route,
  request and status of the room service in each of its modes, each operation's `operationId`
  its name in the catalogue (`room.show`, `room.grant`, `watch.join`, `message.create`, ...),
  held to the code by a contract test that matches the names, the routers' routes, each
  operation's statuses against its handlers', and the running service's answers in every mode.
  `wai-room dev` runs a development room on loopback for `wai mcp` and for tests.

