def call_tool(self, tool_name: str, arguments: Dict[str, Any]) -> Dict[str, Any]:
        """
        Call a specific tool with the given arguments.

        Args:
            tool_name: Name of the tool to call
            arguments: Dictionary of arguments to pass to the tool

        Returns:
            Tool execution results
        """
        print("Tool Calling")
        print(tool_name)
        print(arguments)
        with httpx.Client(timeout=600.0) as session:
            response = session.post(
                f"{self.base_url}/functions/call_tool",
                json={"tool_name": tool_name, "arguments": arguments},
            )
            response.raise_for_status()
            print("return")
            print(response.json())
            return response.json()

        Call a specific tool with the given arguments.

        Args:
            tool_name: Name of the tool to call
            arguments: Dictionary of arguments to pass to the tool

        Returns:
            Tool execution results
        
src/upsonic/tools_server/function_client.py