From 6b285f6dbd4a0db2a80a8dbc50b334dda1c0ce23 Mon Sep 17 00:00:00 2001 From: Mario Korte Date: Wed, 3 Dec 2025 16:44:16 +0100 Subject: [PATCH] Update `Tool` attributes and result processing to align with MCP naming conventions --- .../mcp/src/utcp_mcp/mcp_communication_protocol.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/communication_protocols/mcp/src/utcp_mcp/mcp_communication_protocol.py b/plugins/communication_protocols/mcp/src/utcp_mcp/mcp_communication_protocol.py index 3d419d4..c0c8e01 100644 --- a/plugins/communication_protocols/mcp/src/utcp_mcp/mcp_communication_protocol.py +++ b/plugins/communication_protocols/mcp/src/utcp_mcp/mcp_communication_protocol.py @@ -194,8 +194,8 @@ async def register_manual(self, caller: 'UtcpClient', manual_call_template: Call utcp_tool = Tool( name=mcp_tool.name, description=mcp_tool.description, - input_schema=mcp_tool.inputSchema, - output_schema=mcp_tool.outputSchema, + inputs=mcp_tool.inputSchema, + outputs=mcp_tool.outputSchema, tool_call_template=manual_call_template ) all_tools.append(utcp_tool) @@ -212,12 +212,12 @@ async def register_manual(self, caller: 'UtcpClient', manual_call_template: Call resource_tool = Tool( name=f"{server_name}.resource_{mcp_resource.name}", description=f"Read resource: {mcp_resource.description or mcp_resource.name}. URI: {mcp_resource.uri}", - input_schema={ + inputs={ "type": "object", "properties": {}, "required": [] }, - output_schema={ + outputs={ "type": "object", "properties": { "contents": { @@ -385,9 +385,9 @@ def _process_tool_result(self, result, tool_name: str) -> Any: self._log_info(f"Processing tool result for '{tool_name}', type: {type(result)}") # Check for structured output first - if hasattr(result, 'structured_output'): - self._log_info(f"Found structured_output: {result.structured_output}") - return result.structured_output + if hasattr(result, 'structuredContent'): + self._log_info(f"Found structuredContent: {result.structuredContent}") + return result.structuredContent # Process content if available if hasattr(result, 'content'):