4 ms·
> Think of MCP like a USB-C port for AI applications. That analogy may be helpful for mom, but not for me as a software engineer.
by talles 2y ago
> Think of MCP like a USB-C port for AI applications.
That analogy may be helpful for mom, but not for me as a software engineer.
- olddustytrail 2y agoYou spend time with some weirdly technical moms.
- votick 2y agoI thought this was a "your mom is compatible with everyone" joke
- jchw 2y agoMaybe they used an LLM to explain it. Gemini in particular is obsessed with these utterly useless analogies for everything, when I would prefer something closer to Wikipedia with more context. (Needless to say, I currently don't find LLMs useful for learning about things. That's a shame because that use case feels promising.)
- colechristensen 2y agoLLMs are like an unlimited, poorly written encyclopedia. Often inaccurate or not entirely helpful, but will get you enough of an idea to find better sources. Sort of solving the "I don't know what I don't know" gap.
- soulofmischief 2y agoIn this regard, they have been extraordinarily fruitful for my research and studies.
- lelandfe 2y agoI saw this ChatGPT-created analogy on a JS subreddit the other day: > Imagine you have a robot in a room, and this robot can perform actions like turning on a light, opening a door, or picking up objects. Now, if you want to tell the robot to do something, you usually say something like, "Robot, pick up the pen!" or "Robot, open the door." > In JavaScript, ‘this’ is like the "robot" in the room Terrible.
- zombiwoof 2y agoBecause everyone knows the usb-c protocol
- rounce 2y agoDo they? Like actually, know it cover-to-cover, or do they just know of it? Because the first thing to point out is that USB-C isn't a protocol, it's a connector standard.
- matthewmacleod 2y agoHonestly I’m now even more confused
- dotancohen 2y agoIt's got an open socket at the bottom, that accepts many different plugs. I don't know if GP understands that his phrasing might not be so flattering for his mother ))
- monkeydust 2y agoA good analogy I think for those in Trading might be FIX or FpML. Those protocols and standards have revolutionized electronic trading.
- gnfargbl 2y agoIt's trying to say "you can plug lots of things into this in a standardized way." https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/ https://norahsakal.com/blog/mcp-vs-api-model-context-protoco...
- atonse 2y agoWhat’s wrong with this analogy? It’s a common set of APIs/protocols that includes a way to share data, capabilities, etc. That’s pretty much exactly what USB is.
- soulofmischief 2y agoThis is what we used to just call "standards", but apparently we need analogies now in order to explain standards to new developers.
- talles 2y agoNot only that, the P for "protocol" already gives that.
- atonse 2y agobut it’s technically not a standard yet. Or not blessed as one by any neutral body or consortium etc. It’s quickly becoming a de facto standard though, now that OpenAI has added it to their SDK. It’s likely to be used to create a standard though (like with QUIC and HTTP3)
- soulofmischief 2y agoThis is just an ontological issue. Is it a standard because it is designed to be one, or is it only a standard once it actually fulfills its role and is recognized as a standard? That's something we could debate all night. :)
- skavi 2y agothey probably mean it’s going to be difficult early on to find standards compliant implementations. and then always very annoying to make sure all involved components support the correct feature set.
- dotancohen 2y agoThe full quote is better: > MCP is an open protocol that standardizes how applications provide context > to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C > provides a standardized way to connect your devices to various peripherals > and accessories, MCP provides a standardized way to connect AI models to > different data sources and tools.
- otabdeveloper4 2y agoNo, it's actually a lot worse. "USB-C port for AI applications" sounds like something written by an insane person.
- beardedwizard 2y agoThat's the same analogy anthropic uses to describe it.
- elamje 2y agoThe closest software analogy I’ve heard is like passing around a callable/function with a standard interface. An LLM can call the callable and work with the returned data without needing to go back and forth between your application logic.
- tb1989 2y agoI prefer this interpretation: MCP Isn’t the USB-C of AI — It’s Just a USB-C(laude) Dongle https://dev.to/internationale/mcp-is-not-ai-usb-c-its-usb-claude-dongle-4chg https://dev.to/internationale/mcp-is-not-ai-usb-c-its-usb-cl... The illustrations are on their official website. I find it hard to respect a company that invented dongle and claims to have invented USB
- knowaveragejoe 2y ago> MCP, despite its open-source claim, heavily relies on proprietary interfaces from Anthropic's Claude model. Thus, the proclaimed openness is surface-level at best, creating subtle but significant barriers within the ecosystem. This strikes me as fundamentally untrue, but I'd love to see an example of this in the source code or documentation.
- whazor 2y agoMCP is very similar in protocol to LSP. In LSP, you have editor (vscode, neovim), and language servers (rust, typescript, python). In MCP, you have the client (chat window), and servers (providing context, tools, and prompts).
- riemannzeta 2y agoThe weather data example in their documentation makes it really simple to grasp how it works as an interface for models: https://modelcontextprotocol.io/quickstart/server https://modelcontextprotocol.io/quickstart/server I don't think it's terribly difficult to drill down into their GitHub to see what's happening under the hood if you need that level of detail.
- ondrsh 2y agoTo really understand MCP you need to think about application design in a different way. In traditional applications, you know at design-time which functionality will end up in the final product. For example, you might bundle AI tools into the application (e.g. by providing JSON schemas manually). Once you finish coding, you ship the application. Design-time is where most developers are operating in, and it's not where MCP excels. Yes, you can add tools via MCP servers at design-time, but you can also include them manually through JSON schemas and code (giving you more control because you're not restricted by the abstractions that MCP imposes). MCP-native applications on the other hand can be shipped, and then the users can add tools to the application — at runtime. In other words, at design-time you don't know which tools your users will add (similar to how browser developers don't know which websites users will visit at runtime). This concept — combined with the fact that AI generalizes so well — makes designing this kind of application extremely fascinating, because you're constantly thinking about how users might end up enhancing your application as it runs. As of today, the vast majority of developers aren't building applications of this kind, which is why there's confusion.
- amerine 2y agoI can’t express how much I agree with your perspective. It’s a completely different/total shift in how we might deliver functionality and… composability to users. Well said.
- freeone3000 2y agoOh, it’s the new HATEOAS? A pluggable framework for automatic discoverability of HTTP APIs is incredibly useful, and not just for AI :)
- TeMPOraL 2y agoNo, you can't understand it until you understand that the world isn't all webshit and not everything is best used via REST. (Not even webshit is best used by REST, as evidenced by approximately every "REST" API out there, designed as RPC over HTTP pretending it's not.)
- TechDebtDevin 2y agoWell its directly from the documentation written by the SWEs that built the protocol... https://modelcontextprotocol.io/introduction https://modelcontextprotocol.io/introduction
- madeofpalk 2y agoI want to know in which way is USB-C applicable here. The complicated plug that's actually 30 different protocol's that's difficult understand what capabiltiies a plug/cable actually has?
- TeMPOraL 2y agoYes. 99% of that complexity is on the side of implementers - where it should be - and for actual use, approximately everything works well with everything else; specifics matter mostly when you're trying to plug devices that exercise the limits of advanced capabilities. Which sucks, yes, but mostly because implementers/vendors made it this way (would it hurt y'all to label your cables and devices properly, correctly and visibly?!).
- soulofmischief 2y agoWhat's so hard for them to just say "it's a standard"? Why do we need to mention USB? Or USB-C at that, which just confuses the message even more? Do modern developers not know what "standards" means? Is this marketing slop or did an engineer seriously write that for other engineers?
- deepak_leanmvp 2y agoThinking in terms of MCP, will change your thought process to design your application in different way.
- amannm 2y agoI see it as service discovery for AI applications
- TeMPOraL 2y agoIt's a beautiful and deep analogy, and works for both software engineer and their mom. Mom-level: ChatGPT ("or that other ChatGPT with a human name, Klaus I think? No, it was Claude.") can use software that says it supports MCP. If it says "MCP", I can use it with my AI. Software dev level: MCP servers and MCP clients should just work, like USB. I don't really have to care about this, I expect them to connect just fine. Like with USB, there's a crap ton of complexity dumped on implementers of the spec to make it work reliably and cheaply - as it should be. That's literally their job: to take all the "secret sauce" that makes their product "special" and hide it behind a standard, because they're not special and nobody cares. As another software engineer: if it ain't USB, I ain't buying, because I'm too old to deal with the proprietary per-device unique connectors bullshit. The standard exists so I don't have to think about it.