44import pytest
55
66from mcp .server .stdio import stdio_server
7+ from mcp .shared .session import ParsedMessage
78from mcp .types import JSONRPCMessage , JSONRPCRequest , JSONRPCResponse
89
910
@@ -13,8 +14,12 @@ async def test_stdio_server():
1314 stdout = io .StringIO ()
1415
1516 messages = [
16- JSONRPCMessage (root = JSONRPCRequest (jsonrpc = "2.0" , id = 1 , method = "ping" )),
17- JSONRPCMessage (root = JSONRPCResponse (jsonrpc = "2.0" , id = 2 , result = {})),
17+ ParsedMessage (
18+ root = JSONRPCMessage (root = JSONRPCRequest (jsonrpc = "2.0" , id = 1 , method = "ping" ))
19+ ),
20+ ParsedMessage (
21+ root = JSONRPCMessage (root = JSONRPCResponse (jsonrpc = "2.0" , id = 2 , result = {}))
22+ ),
1823 ]
1924
2025 for message in messages :
@@ -35,17 +40,25 @@ async def test_stdio_server():
3540
3641 # Verify received messages
3742 assert len (received_messages ) == 2
38- assert received_messages [0 ] == JSONRPCMessage (
39- root = JSONRPCRequest (jsonrpc = "2.0" , id = 1 , method = "ping" )
43+ assert received_messages [0 ] == ParsedMessage (
44+ root = JSONRPCMessage ( root = JSONRPCRequest (jsonrpc = "2.0" , id = 1 , method = "ping" ) )
4045 )
41- assert received_messages [1 ] == JSONRPCMessage (
42- root = JSONRPCResponse (jsonrpc = "2.0" , id = 2 , result = {})
46+ assert received_messages [1 ] == ParsedMessage (
47+ root = JSONRPCMessage ( root = JSONRPCResponse (jsonrpc = "2.0" , id = 2 , result = {}) )
4348 )
4449
4550 # Test sending responses from the server
4651 responses = [
47- JSONRPCMessage (root = JSONRPCRequest (jsonrpc = "2.0" , id = 3 , method = "ping" )),
48- JSONRPCMessage (root = JSONRPCResponse (jsonrpc = "2.0" , id = 4 , result = {})),
52+ ParsedMessage (
53+ root = JSONRPCMessage (
54+ root = JSONRPCRequest (jsonrpc = "2.0" , id = 3 , method = "ping" )
55+ )
56+ ),
57+ ParsedMessage (
58+ root = JSONRPCMessage (
59+ root = JSONRPCResponse (jsonrpc = "2.0" , id = 4 , result = {})
60+ )
61+ ),
4962 ]
5063
5164 async with write_stream :
@@ -57,12 +70,12 @@ async def test_stdio_server():
5770 assert len (output_lines ) == 2
5871
5972 received_responses = [
60- JSONRPCMessage .model_validate_json (line .strip ()) for line in output_lines
73+ ParsedMessage .model_validate_json (line .strip ()) for line in output_lines
6174 ]
6275 assert len (received_responses ) == 2
63- assert received_responses [0 ] == JSONRPCMessage (
64- root = JSONRPCRequest (jsonrpc = "2.0" , id = 3 , method = "ping" )
76+ assert received_responses [0 ] == ParsedMessage (
77+ root = JSONRPCMessage ( root = JSONRPCRequest (jsonrpc = "2.0" , id = 3 , method = "ping" ) )
6578 )
66- assert received_responses [1 ] == JSONRPCMessage (
67- root = JSONRPCResponse (jsonrpc = "2.0" , id = 4 , result = {})
79+ assert received_responses [1 ] == ParsedMessage (
80+ root = JSONRPCMessage ( root = JSONRPCResponse (jsonrpc = "2.0" , id = 4 , result = {}) )
6881 )
0 commit comments