@@ -76,7 +76,7 @@ def test_mcp_client():
7676
7777    sse_mcp_client  =  MCPClient (lambda : sse_client ("http://127.0.0.1:8000/sse" ))
7878    stdio_mcp_client  =  MCPClient (
79-         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/echo_server.py" ]))
79+         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/mcp/ echo_server.py" ]))
8080    )
8181
8282    with  sse_mcp_client , stdio_mcp_client :
@@ -150,19 +150,19 @@ def test_mcp_client():
150150
151151        # With the new MCPToolResult, structured content is in its own field 
152152        assert  "structuredContent"  in  result 
153-         assert  result ["structuredContent" ][ "result" ]  ==  {"echoed" : "STRUCTURED_DATA_TEST" }
153+         assert  result ["structuredContent" ] ==  {"echoed" : "STRUCTURED_DATA_TEST" ,  "message_length" :  20 }
154154
155155        # Verify the result is an MCPToolResult (at runtime it's just a dict, but type-wise it should be MCPToolResult) 
156156        assert  result ["status" ] ==  "success" 
157157        assert  result ["toolUseId" ] ==  tool_use_id 
158158
159159        assert  len (result ["content" ]) ==  1 
160-         assert  json .loads (result ["content" ][0 ]["text" ]) ==  {"echoed" : "STRUCTURED_DATA_TEST" }
160+         assert  json .loads (result ["content" ][0 ]["text" ]) ==  {"echoed" : "STRUCTURED_DATA_TEST" ,  "message_length" :  20 }
161161
162162
163163def  test_can_reuse_mcp_client ():
164164    stdio_mcp_client  =  MCPClient (
165-         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/echo_server.py" ]))
165+         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/mcp/ echo_server.py" ]))
166166    )
167167    with  stdio_mcp_client :
168168        stdio_mcp_client .list_tools_sync ()
@@ -185,7 +185,7 @@ async def test_mcp_client_async_structured_content():
185185    that appears in structuredContent field. 
186186    """ 
187187    stdio_mcp_client  =  MCPClient (
188-         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/echo_server.py" ]))
188+         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/mcp/ echo_server.py" ]))
189189    )
190190
191191    with  stdio_mcp_client :
@@ -200,20 +200,20 @@ async def test_mcp_client_async_structured_content():
200200        assert  "structuredContent"  in  result 
201201        # "result" nesting is not part of the MCP Structured Content specification, 
202202        # but rather a FastMCP implementation detail 
203-         assert  result ["structuredContent" ][ "result" ]  ==  {"echoed" : "ASYNC_STRUCTURED_TEST" }
203+         assert  result ["structuredContent" ] ==  {"echoed" : "ASYNC_STRUCTURED_TEST" ,  "message_length" :  21 }
204204
205205        # Verify basic MCPToolResult structure 
206206        assert  result ["status" ] in  ["success" , "error" ]
207207        assert  result ["toolUseId" ] ==  tool_use_id 
208208
209209        assert  len (result ["content" ]) ==  1 
210-         assert  json .loads (result ["content" ][0 ]["text" ]) ==  {"echoed" : "ASYNC_STRUCTURED_TEST" }
210+         assert  json .loads (result ["content" ][0 ]["text" ]) ==  {"echoed" : "ASYNC_STRUCTURED_TEST" ,  "message_length" :  21 }
211211
212212
213213def  test_mcp_client_without_structured_content ():
214214    """Test that MCP client works correctly when tools don't return structured content.""" 
215215    stdio_mcp_client  =  MCPClient (
216-         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/echo_server.py" ]))
216+         lambda : stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/mcp/ echo_server.py" ]))
217217    )
218218
219219    with  stdio_mcp_client :
@@ -279,7 +279,7 @@ def test_mcp_client_timeout_integration():
279279
280280    def  slow_transport ():
281281        time .sleep (4 )  # Longer than timeout 
282-         return  stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/echo_server.py" ]))
282+         return  stdio_client (StdioServerParameters (command = "python" , args = ["tests_integ/mcp/ echo_server.py" ]))
283283
284284    client  =  MCPClient (slow_transport , startup_timeout = 2 )
285285    initial_threads  =  threading .active_count ()
0 commit comments