- From the comments on this thread it seems that most people have no idea what MCP actually is. MCP is an API specification similar to what @openapis.org is for REST APIs. The purpose is to allow AI Agents to interact with web services. Why did we need a new standard? I have no idea.
- Now I know enough about AI to grok what MCP is, it irritates me because fundamentally: Make a cli tool instead! Then a human can use it too. It’s not stateless? That’s what unix sockets are for! Once again we’re reinventing stuff from the 70s and making it worse.
- The process works as follows: 1. AI agent is informed about available MCP servers, usually in the system prompt. 2. AI agent connects to the server and asks what APIs are available. 3. MCP server returns a list of endpoints ("tools") with descriptions 4. AI agent calls the endpoints
- MCP servers are not designed to run code locally on your machine, they are designed for communicating with servers. But of cause you can create a local server that does just that. MCP servers are overly complicated for this case, which is why Anthropic created Claude SKILLS instead.
- This does not in any way make MCP irrelevant, it just means that it is not the optimal solution to a problem it was never designed to address.
- 4.
- I wonder why HATEOAS didn't catch up for this purpose since it's designed with machines in mind as a REST constraint.
- HATEOAS and REST was much to simple a model. We outgrew it almost immediately. Every REST API eventually gets polluted with a bunch of RPC. @openapis.org Is the best take I have seen so far.
- Do you have some good reference on the perceived limitations? I agree mixing RPC with REST is a common concern (confirmed by literature).