According to the Author of the Post the Model Context Protocol (MCP) disregards RPC best practices like:

  • No (enforced) type validation of inputs at compile-time
  • Mixing stateful and stateless Operations without clear labeling/separation
  • No generated consistent bindings for different languages (similar to the first point) like e.g. gRPC does
  • No tracability embedded into the Protocol
  • Relying on “yet another library” to add functionality that is baked into other RPC protocols (e.g. Authorization, generators, tracing)

I thought it was an interesting read. We are (in our company) using MCP in a more Basic way (to access company internal ressources like Wiki’s, issue trackers, etc.) and for this they work good enough. But I never thought about the consequences you might experience if you MCP in a more complex and autonomuous use case.