4 ms·
Previous thoughts on MCP, which I won't rehash here: - "MCP is a schema, not a protocol" – https://x.com/PetrusTheron/status/1897908595720688111 https://x.com/
by pgt 1y ago
Previous thoughts on MCP, which I won't rehash here:
- "MCP is a schema, not a protocol" – https://x.com/PetrusTheron/status/1897908595720688111 https://x.com/PetrusTheron/status/1897908595720688111
- "PDDL is way more interesting than MCP" – https://x.com/PetrusTheron/status/1897911660448252049 https://x.com/PetrusTheron/status/1897911660448252049
- "The more I learn about MCP, the less I like it" https://x.com/PetrusTheron/status/1900795806678233141 https://x.com/PetrusTheron/status/1900795806678233141
- "Upon further reflection, MCP should not exist" https://x.com/PetrusTheron/status/1897760788116652065 https://x.com/PetrusTheron/status/1897760788116652065
- "in every new language, framework or paradigm, there is a guaranteed way to become famous in that community" – https://x.com/PetrusTheron/status/1897147862716457175 https://x.com/PetrusTheron/status/1897147862716457175
I don't know if it's taboo to link to twitter, but I ain't gonna copypasta all that.
- kiitos 1y agoMCP is literally defined as a protocol. It doesn't have anything to say about the transport layer, and certainly doesn't mandate stdio as a transport. > The main feature of MCP is auth MCP has no auth features/capabilities. I think you're tilting at windmills here.
- pgt 1y agoI regret to inform you that you are the victim of quality control, Sir @kiitos: 1. MCP specifies two transport layers: stdio/stdout + HTTP w/SSE [^1] 2. MCP specifies JSON-RPC as the wire format [^2]. In my opinion, this is a schema on top of a pre-existing RPC protocol, not a new protocol. I implemented the stdio transport, the JSON-RPC wire format & Tools support of the spec in Modex[^3]. - [^1]: https://modelcontextprotocol.io/docs/concepts/transports https://modelcontextprotocol.io/docs/concepts/transports - [^2]: https://modelcontextprotocol.io/specification/2025-03-26 https://modelcontextprotocol.io/specification/2025-03-26 - [^3]: https://github.com/theronic/modex https://github.com/theronic/modex
- pgt 1y agoRe: Auth, you are correct that MCP does not specify auth (aside from env vars for e.g. API keys which is host-specific – another gripe of mine). However, practically the host (e.g. Claude Desktop by Anthropic) asks for permission before calling specific MCP tools. It is not part of the MCP spec, but it's part of most host implementations of MCP and one of the big practical reasons for MCP's existence is to avoid giving models carte blanche HTTP access. IMO this should be part of the MCP spec, e.g. "you can call this GET /weather endpoint any time, but to make payments via this POST /transactions request, ask for permission once or always." Aside: just because someone "defines <X> as something" does not make it true.
- pgt 1y agoAnd this why I call it EEE: if Anthropic had simply added HTTP API endpoints with auth, everyone would have copied it, and Anthropic would have no control over the spec, which can keep future contenders out. The MCP spec is a moat, and we’ve seen this movie before, whether they intended it to be or not. I use it, but I don’t have to like it, i.e. MCP should not exist. As previously stated [^1], OpenAI can one-up them by simply supporting any API endpoint + auth and it would be way more powerful, no moat to defend against startups. No VC-funded corp can resist a moat. [^1]: 2025-03-06: https://x.com/petrustheron/status/1897760788116652065?s=46 https://x.com/petrustheron/status/1897760788116652065?s=46
- mdaniel 1y agoI hadn't heard of PDDL before but to save others the click on x.com, this is the Xeet: > This PDDL planning example is much more interesting than what MCP purports to be: https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language#Example https://en.wikipedia.org/wiki/Planning_Domain_Definition_Lan... > Imagine a standard planning language for model interconnect that enables collaborative goal pursuit between models. > Maybe I'll make one.