From ef9194d55cf750db805c168deea08bee54f385af Mon Sep 17 00:00:00 2001 From: jade Date: Thu, 9 Jul 2026 23:19:20 +0900 Subject: [PATCH] feat: Add Tool List view tab to Developer Portal --- .../main/resources/static/admin/scaffold.html | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/axhub-gateway/src/main/resources/static/admin/scaffold.html b/axhub-gateway/src/main/resources/static/admin/scaffold.html index 0014ae6..b91b296 100644 --- a/axhub-gateway/src/main/resources/static/admin/scaffold.html +++ b/axhub-gateway/src/main/resources/static/admin/scaffold.html @@ -225,6 +225,9 @@ +
@@ -320,6 +323,32 @@
+ +
+
+
현재 시스템에 등록되어 라우팅 가능한 Tool 목록입니다.
+ +
+
+ + + + + + + + + + + + + + + +
그룹Tool 이름설명Pod 모듈인터페이스 (ID)
데이터를 불러오는 중입니다...
+
+
+ @@ -374,6 +403,39 @@ handleFormSubmit('podForm', '/api/v1/scaffold/pod'); handleFormSubmit('toolForm', '/api/v1/scaffold/tool'); + + function loadToolList() { + const tbody = document.getElementById('toolListBody'); + tbody.innerHTML = ' 데이터를 불러오는 중입니다...'; + + fetch('/mcp/api/v1/tools/list', { + method: 'GET', + headers: { + 'X-API-KEY': 'SHINHAN_MCP_SECRET_KEY_2026' + } + }) + .then(res => res.json()) + .then(data => { + const tools = data.result.tools || []; + if (tools.length === 0) { + tbody.innerHTML = '등록된 Tool이 없습니다.'; + return; + } + + tbody.innerHTML = tools.map(t => ` + + ${t.domainGroup || 'UNKNOWN'} + ${t.toolName} + ${t.description} + ${t.podUrl} + ${t.integrationType} ${t.mciServiceId || '-'} + + `).join(''); + }) + .catch(err => { + tbody.innerHTML = `목록을 불러오는 중 오류가 발생했습니다: ${err.message}`; + }); + }