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.
Twelve live posts lost between 28% and 59% of their text, and every call returned ok. A post-mortem of silent tool failure in an MCP server: the race, the wrong lesson, and the check you can run.
The Model Context Protocol has had five specification revisions in twenty months. Collected in one table, with what each revision added and — the column that matters — what it took back.
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.