16 ms·
Not everyone is on board with the idea of HTTP being the exclusive universal IPC bus.
by Gormo 2mo ago
Not everyone is on board with the idea of HTTP being the exclusive universal IPC bus.
- intrasight 2mo agoCount me as not on board
- pstuart 2mo agoWould you prefer gRPC, thrift, avro, etc... ?
- amluto 2mo agoThose are mostly at a different layer. You can speak Thrift or Avro or Protobuf over stdio or HTTP or TCP or carrier pigeon. gRPC spans layers, and it uses HTTP in a more intrusive way than even MCP does — it expects to own the entire URL space at the IP/port in question. Using gRPC in a nontrivial way for MCP would be fairly heavy-weight: you would probably need to set up reflection and figure out how to bind all the MCP calls to it unless you just use it as a tunnel.
- jcmfernandes 2mo agoI would prefer a core transport agnostic protocol, and then see MCP-over-HTTP being a spec on top of that.
- jauntywundrkind 2mo agoI'm pretty ok with http, but, I'd throw https://varlink.org https://varlink.org in as my second pick.
- amluto 2mo agoI’m not really a fan. But if you’re building a protocol that needs to map to HTTP anyway, then maybe using the HTTP binding everywhere is not totally awful. In the flip side: I’m currently designing an AI-adjacent protocol, and it will be able to map to WebTransport, but I don’t plan to define non-WebTransport HTTP bindings unless a very compelling reason appears. The main implementations will not use HTTP at all :)
- ranger_danger 2mo ago> if you’re building a protocol that needs to map to HTTP anyway I don't think there is any guarantee that HTTP will always be involved. For example I might be calling a local LLM via CLI/script on a server with a stdio MCP connector that just runs other CLI commands, and never sends any HTTP traffic.
- amluto 2mo agoRight. But there is a lot of real-world usage of MCP-over-HTTP-over-the-Internet, and a lot of “harnesses” want to support that use case, so they’re stuck either implementing the HTTP-based protocol or using a shim.
- oblio 2mo agoWhat's the disadvantage? MCP doesn't strike me as a high performance protocol.
- cryptonector 2mo agoPros for HTTP for IPC: 1. We already use it plenty, so we have lots of implementations, 2. it's good enough. Cons: a. what shall be the form of HTTP IPC URIs? hostnames for http: and https: scheme URIs are kinda out of place in IPC applications (we need something like sys.ipc.arpa, d-bus.arpa, etc), b. the overhead of HTTP is annoying -- any decent RPC can be significantly more efficient, unless one uses HTTP/2, and maybe even then. (a) makes me want to write and submit an I-D for HTTP over IPC by using such names as in the parenthetical above. (b) is a non-issue once H2 is widely adopted. So IMO HTTP is pretty good for IPC.