Update project functionality and configuration
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# MCP Java SDK 선택적 도입 설계
|
||||
|
||||
- 상태: 적용 완료
|
||||
- 적용 버전: `io.modelcontextprotocol.sdk:mcp-json-jackson3:2.0.0`
|
||||
- 대상 런타임: Java 21, Spring Boot 4.0.7
|
||||
- 적용 버전: `io.modelcontextprotocol.sdk:mcp-json-jackson2:2.0.0`
|
||||
- 대상 런타임: Java 21, Spring Boot 3.5.11
|
||||
- 적용 원칙: 외부 계약과 AX HUB 고유 실행 경계는 유지하고, 표준 프로토콜 모델과 JSON Schema 검증만 SDK에 위임한다.
|
||||
|
||||
## 1. 도입 결론
|
||||
@@ -11,7 +11,7 @@
|
||||
Agent Builder와 합의한 동기 JSON, `Mcp-Session-Id`, protocol version HTTP 400, trace 계약을 이미 구현하고
|
||||
있으므로 SDK transport를 함께 활성화하면 같은 endpoint에 두 프로토콜 처리 경로가 생길 수 있기 때문이다.
|
||||
|
||||
대신 실제 사용 모듈인 `mcp-json-jackson3`에 직접 의존한다. 이 모듈이 `mcp-core`를 전이 제공하므로 aggregate artifact를 별도로 선언하지 않는다. 적용 범위는 다음과 같다.
|
||||
대신 실제 사용 모듈인 `mcp-json-jackson2`에 직접 의존한다. 이 모듈이 `mcp-core`를 전이 제공하므로 aggregate artifact를 별도로 선언하지 않는다. 적용 범위는 다음과 같다.
|
||||
|
||||
| 적용 영역 | SDK 타입/기능 | 기존 코드에서의 사용 위치 |
|
||||
|---|---|---|
|
||||
@@ -87,7 +87,7 @@ SDK 모델은 handler의 표준 MCP payload를 만드는 데만 사용한다. SD
|
||||
|
||||
| 위험 | 회피 방식 |
|
||||
|---|---|
|
||||
| SDK Starter가 기존 `/mcp`와 충돌 | Starter를 사용하지 않고 core 모델과 Jackson 3 validator만 의존 |
|
||||
| SDK Starter가 기존 `/mcp`와 충돌 | Starter를 사용하지 않고 core 모델과 Jackson 2 validator만 의존 |
|
||||
| SDK가 Tool 검증 실패를 `isError=true`로 바꿈 | SDK server handler를 사용하지 않고 검증 실패를 기존 `-32602 Invalid params`로 변환 |
|
||||
| 기존 required/type 오류 문구 변경 | 공개된 기본 검증을 SDK보다 먼저 실행해 기존 메시지를 그대로 유지 |
|
||||
| `Mcp-Session-Id`/protocol header 동작 변경 | 기존 filter, controller, validator를 유지 |
|
||||
@@ -129,7 +129,7 @@ contract test를 먼저 추가한다.
|
||||
SDK 버전을 올릴 때는 다음을 모두 확인한다.
|
||||
|
||||
1. Spring Boot/Java/MCP Java SDK 조합의 dependency resolution
|
||||
2. SDK `McpSchema` 필드와 Jackson 3 직렬화 변경 여부
|
||||
2. SDK `McpSchema` 필드와 Jackson 2 직렬화 변경 여부
|
||||
3. initialize, tools/list, tools/call 성공·실패 JSON의 기존 예제 일치
|
||||
4. JSON-RPC 오류 code/message/data 및 HTTP status
|
||||
5. `Accept`에 `text/event-stream`이 있어도 JSON 응답을 유지하는지
|
||||
|
||||
Reference in New Issue
Block a user