fix(McpActionExecutor): handle client call failures gracefully

This commit is contained in:
2026-04-19 17:27:27 +08:00
parent 8c8b0883bb
commit c5aa558319
2 changed files with 46 additions and 1 deletions

View File

@@ -29,7 +29,14 @@ public class McpActionExecutor {
.name(metaAction.getName())
.arguments(metaAction.getParams())
.build();
McpSchema.CallToolResult callToolResult = mcpClient.callTool(callToolRequest);
McpSchema.CallToolResult callToolResult;
try {
callToolResult = mcpClient.callTool(callToolRequest);
} catch (Exception e) {
response.setOk(false);
response.setData("MCP tool call failed: " + e.getMessage());
return response;
}
Boolean error = callToolResult.isError();
response.setOk(error == null || !error);
response.setData(extractResponseData(callToolResult));