As I go deep into MCP v2, overwhelming changes are being noticed:
- Session is being done away with.
- If at all server needs to refer to state from previous response, server appends a requestState in response, which the client must echo in next request.
- Server will never make a call to client - this is biggest change. Channel must be kept open if you require multiple server responses for one single request.
- Elicitation: Client Sends a Request to Server. Server responds to the request, which contains a field called InputRequiredResult. Then client re-issues the request with inputResponses + requestState
- For Progress/Notification :
- For non-request-scoped notification (.e.g subscription to listChanged events of tools/prompts/resources), client opens one request and that request is kept open forever (till the time required by client).
- For request-scoped notifications such as progress and logging, the notifications (notification/progress and notification/message) are sent in the same open connection, before the final response "result" to the mcp "tools/call" request is sent. The connection closes after the final response is received by the client from server.
- Roots is deprecated
No comments:
Post a Comment