diff --git a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java index ce9f58d..7f49e84 100644 --- a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java +++ b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java @@ -68,6 +68,14 @@ public abstract class AbstractMcpToolService { // 2. PII 마스킹 처리 String maskedResult = PiiMaskingUtils.mask(executionResult); + if (executionResult != null && (executionResult.contains("\"status\":\"CIRCUIT_OPEN\"") || executionResult.contains("\"status\":\"TOO_MANY_REQUESTS\""))) { + try { + return objectMapper.readValue(executionResult, new TypeReference>() {}); + } catch (Exception e) { + log.error("Fallback JSON 파싱 에러: {}", e.getMessage()); + } + } + Map result = new HashMap<>(); result.put("status", "SUCCESS"); result.put("legacy_response", maskedResult);