6 ms·
1) Ok, so you are reinventing SOAP or WSDL or whatever... did that ever go well? How and why is this different from every prior attempt to create the one true A
by saurik 2y ago
1) Ok, so you are reinventing SOAP or WSDL or whatever... did that ever go well? How and why is this different from every prior attempt to create the one true API layer?
2) Is this meaningfully different from just having every API provide a JavaScript SDK to access it, and then having the model write code? That's how humans solve this stuff.
3) If the AI is actually as smart at doing tasks like writing clients for APIs as people like to claim, why does it need this to be made machine readable in the first place?
- no_wizard 2y agoQuestion three is what hits the nail on the head about how this “AI revolution” isn’t as robust as often claimed. If it was truly intelligent it could reason about things like API specifications without any precursors or shared structure, but it can’t. Are LLMs powerful? Yes. Is current “AI” simply a re-brand of machine learning? IMO, also yes
- zombiwoof 2y agoExactly Any junior developer can reason about API and integrate But LLm will replace them?
- james_marks 2y agoMy impression, and perhaps this is wildly off, is that MCP could be useful to whitelist safe usage of tools by LLMs. I say this out loud so someone can correct me if I’m mistaken!
- immibis 2y agoThen it's a useless concept, because people who use LLMs don't want to be bounded by a whitelist.
- james_marks 2y agoStrong disagree. I want absolutely control over what tools my agent can access on my computer.
- immibis 2y agoDo you want your tech landlord to have absolute control over what tools your agent can use on your computer?
- james_marks 2y agoAs I understand it, I maintain the whitelist, not the tech overlord. That’s sort of the point of MCP, as near as I can tell.
- vineyardmike 2y ago> If it was truly intelligent it could reason about things like API specifications without any precursors or shared structure, but it can’t I can reason about any API or specification. But when I'm trying to get a different, compound, and higher-level task done, its quite a bit faster and less distracting if I can rely on someone else to have already distilled what I need (into a library, cheat-sheet, tutorial, etc). Similarly, I've seen LLMs do things like generate clients and scripts for interacting with APIs. But its a lot easier to just hand them one ready to go.
- no_wizard 2y agoIt doesn’t negate my point; the technology can’t self reason any API specification, and if it could this wouldn’t be needed because while humans benefit from this simplification why would a machine that can think 10000x faster than a human can?
- muzani 2y agoI wouldn't call it another form of API. It's more like an SDK. If you were accessing a REST API from Android, iOS, Windows, Mac, Firefox, they'd be mostly the same. But an SDK for Android and an SDK for iOS has been built for the platform. Often the SDK encapsulates the official API. That's a direct answer for (2) too - instead of writing a JS SDK or Swift SDK or whatever, it's an AI SDK and shared across Claude, OpenAI, Groq, and so on. (3) is exactly related to this. The AI has been trained to run MCPs, viewing them as big labeled buttons in their "mind". I think you got the questions spot on and the answers right there as well.
- saurik 2y agoI didn't have a good term so I went with "API layer" (not merely "API"), but, to try to clarify... that's what you also get with SOAP/WSDL or any of the other numerous attempts over the years to build an API "layer" thing: you can use the one universal SDK you have, plus only the schema / IDL, to use the API. Every time people try to describe MCP it just sounds like yet another API description language when we already have a giant drawer of those that never really worked out, including OpenA"P"I (lol ;P). https://www.openapis.org/ https://www.openapis.org/ Regardless, again: if the AI is so smart, and it somehow needs something akin to MCP as input (which seems silly), then we can use the AI to take, as input, the human readable documentation -- which is what we claim these AIs can read and understand -- and just have it output something akin to MCP. The entire point of having an AI agent is that it is able to do things similar to a software developer, and interfacing with a random API is probably the most trivial task you can possible do.
- outofpaper 2y agoNo, an API is the closest term, as calling MCP, which is a simple protocol, an SDK is literally wrong. A protocol is not a software development kit.
- saurik 2y agoI am not even the person who said "I wouldn't call it another form of API"... can you maybe just stick to the concrete and explain how this is different from SOAP/WSDL or OpenAPI/Swaggar? I honestly don't even know what short term either I or you would now use for any of them, but I feel confident that the overall premise described by this article doesn't differentiate: they offer a standardized connector to various tools and data sources behind otherwise different APIs, even offering--through a registry such as UDDI--dynamic discovery of these resources. The only not-really-a-difference I feel is that we are explicitly describing wrapping the other APIs into this protocol... but like, that's what you'd of course have to do or expose an existing API via SOAP (which is also a capital-P-stands-for-Protocol).
- nsonha 2y ago1) Valid point, this could haven been wsdl/swagger. But the MCP spec supports spinning up local applications and communicate via stdio which open api cannot do. 2 + 3) having a few commands that AI knows it should call and confidently so without security concern, is better than just give AI permision to do every thing under the sun and tell it to code a program doing so. The prompt for the later is also much more complex and does not work as predictably.
- jes5199 2y agoMCP tends to be much simpler, less powerful than an API that you’d actually try to develop against. The LLMs need the most simplified access patterns possible
- fulafel 2y agoMost people hate SOAP and WSDL. You can argue most web APIs are reinventing them in the sense that you could reimplement them with WSDL, to get worse versions of them.