
Every Server Is an App
When a server defines the screen too, it is an app in itself. But an open surface needs as much boundary — the inviolable is kept by the absence of a tool.
Vol. 4
build
- It Does Not Ask — Why Polling Is Worse Than WastefulLast in the mcp_client course. Subscribe, get told, then read. That polling costs resources is secondary — the real problem is that when a value changes twice between two polls, the middle is never seen.DEV
- It Receives the Screen — With None of It in the ClientFourth in the mcp_client course. Read the screen definition from the server and hand it to a runtime. This file holds not one line about what the desk looks like — and that is checked.DEV
- The Dashcam — Without Touching a Single FrameA fleet manager needs plenty from a dashcam besides footage. Trip logs, card space, impact sensitivity. So the usual build is one API that returns everything with a permission check in front of the video. Delete that check and it's over. This app didn't lock the video tool — it never made one.DEV
- Call and Read — a Refusal Is Not an ExceptionThird in the mcp_client course. Call a tool and read the answer. The result is a content list rather than a value, and a server's refusal does not arrive as a throw — so it has to be read, not caught.DEV