[Designer] #424 group navigation and document MCP SSE contexts

This commit is contained in:
devmrko
2026-06-25 15:31:34 +09:00
parent c8e1bcef42
commit 8bc89ee3dc
3 changed files with 199 additions and 12 deletions

View File

@@ -14,18 +14,38 @@
<nav th:fragment="nav" class="navbar rw-nav navbar-expand-lg">
<div class="container">
<a class="navbar-brand" href="/">VPD Backoffice</a>
<div class="navbar-nav">
<a class="nav-link" href="/users">사용자</a>
<a class="nav-link" href="/roles">역할</a>
<a class="nav-link" href="/permissions">권한</a>
<a class="nav-link" href="/objects">ORDS 조회 Handler</a>
<a class="nav-link" href="/tokens">토큰</a>
<a class="nav-link" href="/probe">ORDS 검증</a>
<a class="nav-link" href="/mcp-reasoning">MCP Reasoning</a>
<a class="nav-link" href="/mcp-sse">MCP SSE</a>
<a class="nav-link" href="/vpd-policies">VPD 설정</a>
<a class="nav-link" href="/ords-handlers">ORDS 핸들러</a>
<a class="nav-link" href="/settings">설정</a>
<div class="rw-menu">
<div class="rw-menu-group">
<button class="rw-menu-trigger" type="button">권한 관리</button>
<div class="rw-menu-panel">
<a class="nav-link" href="/users">사용자</a>
<a class="nav-link" href="/roles">역할</a>
<a class="nav-link" href="/permissions">권한</a>
<a class="nav-link" href="/tokens">토큰</a>
</div>
</div>
<div class="rw-menu-group">
<button class="rw-menu-trigger" type="button">ORDS</button>
<div class="rw-menu-panel">
<a class="nav-link" href="/objects">조회 Handler 생성</a>
<a class="nav-link" href="/probe">ORDS 검증</a>
<a class="nav-link" href="/ords-handlers">ORDS 핸들러</a>
</div>
</div>
<div class="rw-menu-group">
<button class="rw-menu-trigger" type="button">MCP</button>
<div class="rw-menu-panel">
<a class="nav-link" href="/mcp-reasoning">Reasoning</a>
<a class="nav-link" href="/mcp-sse">SSE 서비스</a>
</div>
</div>
<div class="rw-menu-group">
<button class="rw-menu-trigger" type="button">운영</button>
<div class="rw-menu-panel">
<a class="nav-link" href="/vpd-policies">VPD 설정</a>
<a class="nav-link" href="/settings">설정</a>
</div>
</div>
</div>
<form method="post" action="/logout" class="ms-auto">
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">

View File

@@ -14,6 +14,27 @@
<div th:text="${runtimeError.message()}">DB 연결을 확인할 수 없습니다.</div>
</section>
<section class="content-band">
<h2>서비스 구성</h2>
<div class="mcp-service-grid">
<div class="mcp-service-item">
<span>기본 서비스</span>
<strong><code>/mcp/sse</code></strong>
<small>기존 MCP client 설정과 호환됩니다.</small>
</div>
<div class="mcp-service-item">
<span>Context 서비스</span>
<strong><code>/mcp/{contextPath}/sse</code></strong>
<small>업무/환경별 이름으로 같은 ORDS tool set을 분리 노출합니다.</small>
</div>
<div class="mcp-service-item">
<span>예시</span>
<strong><code>/mcp/vpd-live/sse</code></strong>
<small>SSE 연결 시 message endpoint가 같은 context로 반환됩니다.</small>
</div>
</div>
</section>
<section class="content-band">
<h2>Endpoint</h2>
<div class="table-responsive">
@@ -84,6 +105,45 @@
"limit": 50
}</pre>
</section>
<section class="content-band">
<h2>JSON-RPC 예시</h2>
<div class="probe-exchange-grid">
<div class="probe-exchange">
<h3>initialize</h3>
<pre>{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {}
}</pre>
</div>
<div class="probe-exchange">
<h3>tools/list</h3>
<pre>{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}</pre>
</div>
<div class="probe-exchange">
<h3>tools/call</h3>
<pre>{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "ords.query.admin.board_posts",
"arguments": {
"bearerToken": "vpd_live_xxx",
"limit": 50
}
}
}</pre>
</div>
</div>
</section>
</main>
</body>
</html>