All checks were successful
Deploy Gateway / deploy (push) Successful in 2m52s
계약 테스트는 docs/contracts 아래 예제를 golden example로 읽는다.
docs/와 README.md가 ignore되어 있어 예제 파일이 사라졌고 9건이
실패하고 있었다. 문서가 온전했던 마지막 상태(3de052a)에서 복원하고
.gitignore에서 두 항목을 제거한다. 에이전트 산출물인
docs/superpowers/ 제외는 유지한다.
initialize 응답의 capabilities.tools.listChanged를 문서는 true로
적고 있었으나 InitializeHandler는 false를 낸다. 현재 HTTP 단발 응답
transport가 notification을 push할 수 없으므로 false가 맞다. 예제와
architecture.md를 코드에 맞추고, ToolListChangedEvent가 발행되지만
아직 소비되지 않는다는 점과 SSE 도입 시 true로 바꾼다는 조건을
남긴다.
169개 테스트 전부 통과.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
1.2 KiB
Markdown
24 lines
1.2 KiB
Markdown
# ADR-0001 Stateless 실행 책임 경계
|
|
|
|
- 상태: Accepted
|
|
- 결정일: 2026-07-10
|
|
- 관련 논의: [DISC-20260710-001](../discussions/DISC-20260710-001-agentbuilder-mcp-interface.md)
|
|
|
|
## 배경
|
|
|
|
Agent Builder는 사용자 의도와 업무 맥락을 바탕으로 실행할 Tool을 결정하고, MCP Server는 요청된 Tool을 안전하게 검증·실행하는 계층이다.
|
|
|
|
## 결정
|
|
|
|
- MCP Server는 서버 측 대화 세션을 보관하지 않는 stateless 실행 계층으로 유지한다.
|
|
- Tool 선택, 의도 분류, 대체 Tool 탐색은 Agent Builder 책임이다.
|
|
- MCP Server는 요청에 명시된 Tool만 Registry metadata에 따라 검증하고 실행한다.
|
|
- `mcp-session-id`가 사용되더라도 대화 상태가 아닌 correlation 값으로 취급한다.
|
|
- Business Rule은 Tool Service 책임으로 유지한다.
|
|
|
|
## 영향
|
|
|
|
- MCP Server에 LLM inference, intent classification 또는 autonomous tool selection을 추가하지 않는다.
|
|
- 인증·권한 책임은 이 결정 이후 [ADR-0006](ADR-0006-no-authentication-in-mcp.md)에서 확정했다. MCP는 인증·인가하지 않는다.
|
|
- 현재 구현은 이 결정과 대체로 일치하므로 즉시 코드 변경하지 않는다.
|