diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/mcg/presentation/ChatController.java b/dap-gateway/src/main/java/io/shinhanlife/dap/mcg/presentation/ChatController.java index db4ba03b..f1368113 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/mcg/presentation/ChatController.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/mcg/presentation/ChatController.java @@ -61,12 +61,18 @@ public class ChatController { if (toolsResponse != null && toolsResponse.getResult() instanceof Map) { Map resultMap = (Map) toolsResponse.getResult(); if (resultMap.containsKey("tools")) { - List allTools = (List) resultMap.get("tools"); + List> allTools = (List>) resultMap.get("tools"); Set addedToolNames = new HashSet<>(); - for (ToolMetadata meta : allTools) { - if (Boolean.TRUE.equals(meta.getVisible()) && meta.getName() != null) { - String cleanName = meta.getName().replaceAll("[^a-zA-Z0-9_-]", "_"); + for (Map metaMap : allTools) { + String name = (String) metaMap.get("name"); + if (name != null) { + String cleanName = name.replaceAll("[^a-zA-Z0-9_-]", "_"); if (!addedToolNames.contains(cleanName)) { + ToolMetadata meta = ToolMetadata.builder() + .name(name) + .description((String) metaMap.get("description")) + .parametersSchema((Map) metaMap.get("inputSchema")) + .build(); callbacks.add(new DynamicMcpToolCallback(meta, executeService, objectMapper, effectiveTenantId)); addedToolNames.add(cleanName); }