5 ms·
MPC is more than just a standard way to access remote functionality - it also provides discoverability so the client (LLM) can ask the server what functionality
by HarHarVeryFunny 1y ago
MPC is more than just a standard way to access remote functionality - it also provides discoverability so the client (LLM) can ask the server what functionality it offers, and understand how to use it.
- phillipcarter 1y agoRight, our MCP server we’ve productionized supports this. It’s really fantastic when it works well. Lotta work to do to make it work well more often though!
- Karrot_Kream 1y agoSure but there are established alternatives for that also. The internet supports looking up DNS records (A, MX, SRV, TXT, etc), the web offers /.well-known as a place to store things like API endpoint specs, etc. The main difference with MCP is that the discoverability comes with the stream-oriented communication semantics.
- anon7000 1y agoWell, you’re basically saying that different domains have different solutions to this problem. There isn’t a universally accepted way to do client discovery, and what exists are very specific to those domains.
- achierius 1y agoI don't think it's accurate to describe .well-known as "very specific to [a domain]"
- rexer 1y agoIt’s at least restricted to http servers. Certainly more once you include domain specific conventions
- hn_throwaway_99 1y ago> There isn’t a universally accepted way to do client discovery, and what exists are very specific to those domains. I commented elsewhere on this recently, https://news.ycombinator.com/item?id=44063680 https://news.ycombinator.com/item?id=44063680, but a huge value of LLMs is you don't need a "universally accepted way to do client discovery" - if you have an exposed API that already supports one of the bajillion standards that expose schema information (e.g. Swagger/OpenAPI, GraphQL, SOAP, etc.), then any decent LLM should just be able to figure out how to use it. This idea that we need "one more universal interop standard to rule them all" seems to me like a very pre-LLM way of thinking.
- throwaway81523 1y agoOh great, just what I need for my finance stack, an API with built in AI hallucinations :/
- nsonha 1y agothe thing with building interconnected software is that we should resist the urge to just let the AI perform magic and somehow reliably mix and match all these overlapping things. We should have ONE clearly defined contract. There is no evidence that this principle can be challenged even at the current state of LLM.
- cma 1y ago> if you have an exposed API that already supports one of the bajillion standards that expose schema information I don't know jf they are doing it well with MCP, but if a solution has one extra round trip in the model for a dependent read it has to reprocess the entire context or store it into a cache hierarchy possibly burning several hundred gigs of ssd write durability if it isn't a short enough time to cache in system RAM.
- halfcat 1y ago> There isn’t a universally accepted way to do client discovery Someone should really create a protocol to transfer hyper text where clients could discover resources through embedded links in documents
- masklinn 1y agoThat’s far from unheard of in RPC protocols? E.g. the system namespace of xml-rpc.
- hun3 1y agomaybe REST? I think a proper REST system of APIs is designed to be discoverable.
- masklinn 1y agoREST is a design principle, not a protocol. As such you can make a REST system discoverable via e.g. external schemas (commonly OpenAPI) or self-documentation but there is no guarantee that either exists, and while the latter is intrinsic there is no standard discovery mechanism for the former (cf openapi-specification issues 724 or 2128).