Blog
Thoughts, tutorials, and insights on web development
A tab closed before the save finished, a detector read the article it was publishing, and a default branch reported ok for platforms it had never heard of. Three failures, one shape: a tool answering for something it never checked.
At the end of the third article I said most teams do not need an MCP server. Then I wrote one. This is that contradiction worked through honestly — the model plans, the code publishes, and the most useful decision in the project is a tool that does not exist.
In July 2026 MCP removed sessions and became stateless — the one constraint REST has been built on since 2000. MCP did not replace REST. This is how we got here.
Take away the vocabulary and an MCP server is a list of tools, a description of each written to be read by a machine, and two ways of delivering a message. Plus authorization, and three ways of failing — the third of which no specification can catch, and it cost me twelve published articles.