> MCP and others on the other hand are just you explaining to the LLM how you want it to format its responses.
There's a little bit more to MCP than that. Arguably the most useful part of MCP is more on the (MCP) server side, in regards to discoverability of tools. Having a standard protocol for listing tools, resources and prompts means all you need is the endpoint where the server is located, and you can just get the tool list in a couple of lines of code, pass it to the LLM and then invoke the tool(s) without hand-rolling a bunch of code.
This is probably more useful if you think in terms of using MCP tool servers written by other people. If you're only using your own stuff, then sure, you only write your own interface code once. But if you want to use tools provided by others, having a standard is handy (albeit certainly not required).
I like the way @01100011 phrased it in his analogy with Junit:
"I kept thinking it was stupid because in my mind it
barely did anything. But then I got it: it did barely
do anything, but it did things you'd commonly need to do
for testing and it did them in a somewhat standardized
way that kept you from having to roll your own every
time.".
We already had many standard ways to communicate API documentation before.
MCP brings nothing new.