Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not everyone is on board with the idea of HTTP being the exclusive universal IPC bus.


I’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 :)


> 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.


Right. 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.


Pros 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.


Would you prefer gRPC, thrift, avro, etc... ?


Those 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.



Wow, that looks like a huge mess.


I would prefer a core transport agnostic protocol, and then see MCP-over-HTTP being a spec on top of that.


I'm pretty ok with http, but, I'd throw https://varlink.org in as my second pick.


What's the disadvantage? MCP doesn't strike me as a high performance protocol.


Count me as not on board




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: