Agents can reach a tool through at least three doors today: an MCP server, a WebMCP browser page, or a plain CLI. They overlap, they compete, and the discourse around them runs hot. This talk cuts through it.
We map the three surfaces along the axes that actually matter: where the code runs (backend, browser, model context, shell), who holds state and auth, latency and trust boundaries, and how much UI context survives the handoff. Then we get practical: a decision framework for picking the right surface per use case, the cases where you genuinely want two stacked together, and the anti-patterns that appear when you pick wrong.