"Server" as used in the spec vs. "Server" as used in JSON-RPC 2.0 - Request for clarification #403
-
Pre-submission Checklist
Question Category
Your QuestionOne of the clearest statements declared in the MCP Specification is:
JSON-RPC 2.0 spec states:
Nevertheless the Architecture flow diagram clearly shows "Server Requests" and "Client Responses." And such message types are explicitly declared in the schema. Similar issues arise with respect to Notifications, which are classified as Request objects ("A Notification is a Request object"), and therefore originate from the client. Nevertheless, MCP notifications may be sent from either party. My question is how the reader should understand this relationship, which on its face is a plain contradiction in terms:
I find this statement a little hard to parse, but it suggests that within a given architecture, entities may exchange roles. (c) other; For example, in the Base Protocol > Overview, it is stated:
If we "unpack" the "or vice versa," this reads:
In which case the second occurrences of the terms "server" and "client" must be interpreted from an "MCP POV", and that from the POV of JSON-RPC, roughly means something like:
I would appreciate some guidance in interpreting this clause. Although it may seem ridiculously pedantic or petty, it is intended to lay a foundation for my interpretation of other parts of the specification. I would also be satisfied with a response along the lines of "MCP closely adheres to JSON-RPC 2.0, with minor deviations." Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
ok I've researched this question, and I think I am comfortable with interpretation (b) listed above. I'll leave this open briefly and then close it. |
Beta Was this translation helpful? Give feedback.
-
The terms "server" and "client" as used in the JSON-RPC 2.0 spec do not need to map consistently to the same entities in the architecture of an application throughout the entire application lifecycle. An interesting discussion can be found here: |
Beta Was this translation helpful? Give feedback.
The terms "server" and "client" as used in the JSON-RPC 2.0 spec do not need to map consistently to the same entities in the architecture of an application throughout the entire application lifecycle. An interesting discussion can be found here:
https://groups.google.com/g/json-rpc/c/2WyxWKSiz8o?pli=1