From a991e4ef3a5c97204ce01f94ab734e9cba939c81 Mon Sep 17 00:00:00 2001 From: jade Date: Wed, 15 Jul 2026 13:27:59 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20ToolPlanner=EC=97=90=EC=84=9C=20UID?= =?UTF-8?q?=EA=B0=80=20=EC=95=84=EB=8B=8C=20Tool=20Name=EC=9C=BC=EB=A1=9C?= =?UTF-8?q?=20Redis=EB=A5=BC=20=EC=A1=B0=ED=9A=8C=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcp/gateway/registry/RedisRegistryService.java | 13 +++++++++++++ .../axhub/biz/mcp/gateway/service/ToolPlanner.java | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java b/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java index 81b95c9..3fc5d7b 100644 --- a/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java +++ b/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java @@ -75,6 +75,19 @@ public class RedisRegistryService { return redisTemplate.opsForValue().get(KEY_PREFIX + uid); } + /** + * 툴 이름으로 정보 조회 + */ + public ToolMetadata getToolByName(String name) { + List allTools = getAllTools(); + for (ToolMetadata tool : allTools) { + if (name.equals(tool.getName())) { + return tool; + } + } + return null; + } + /** * 등록된 모든 활성 툴 목록 조회 */ diff --git a/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ToolPlanner.java b/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ToolPlanner.java index e3b7fda..dfea1f7 100644 --- a/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ToolPlanner.java +++ b/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ToolPlanner.java @@ -50,7 +50,7 @@ public class ToolPlanner { // 2. RedisRegistry에서 해당 툴의 메타데이터 조회 // (실제로는 이 메타데이터가 실행 계획의 핵심이 됩니다) - var toolMetadata = redisRegistryService.getTool(toolName); + var toolMetadata = redisRegistryService.getToolByName(toolName); if (toolMetadata == null) { log.warn(" [Planner] 등록되지 않은 툴 요청: {}. Fallback 라우팅 규칙을 확인합니다.", toolName);