Relax standard header validation and preserve optional values
Some checks failed
Deploy Gateway / deploy (push) Failing after 0s

This commit is contained in:
2026-08-28 14:03:20 +09:00
parent c9a6bd2b0a
commit 2e997b1819
6 changed files with 130 additions and 253 deletions

View File

@@ -80,22 +80,22 @@ Tool 실행 주소는 local `_meta.endpoint` 또는 운영 `baseEndpoint` 설정
## Correlation과 로그
Agent Builder가 보는 표준 헤더는 12개다. MCP는 권한 판정을 하지 않지만, 필수값·형식·요청 시각 오차는 HTTP 입력 경계에서 검증한다.
Agent Builder가 보낼 수 있는 표준 헤더는 12개다. MCP는 권한 판정이나 헤더 업무 검증을 하지 않고, 표준 헤더를 필수로 요구하지 않는다. 값이 없으면 없는 상태로 두며, 이 표준 헤더 때문에 요청을 차단하지 않는다.
| 헤더 | 형식/조건 | MCP 동작 |
| 헤더 | 기대 형식 | MCP 동작 |
|---|---|---|
| `X-Guid` | UUID V4 | end-to-end 상관 값으로 응답과 Tool Service 호출에 이어서 사용 |
| `X-Praf-No` | 숫자 8자리. `BATCH`는 공란 허용 | Tool Service로 전달. 권한 판단은 하지 않음 |
| `X-Request-Id` | UUID V4 | Agent→MCP 요청 식별자. Tool Service 호출 시에는 새 UUID V4로 재채번 |
| `X-Request-Time` | ISO-8601 offset date-time, 서버 시각 ±5분 | Agent→MCP 요청 시각. Tool Service 호출 시에는 재채번 시각으로 교체 |
| `X-Vrtl-Praf-No` | `X-Praf-No``0986`으로 시작하면 숫자 8자리 필수, 그 외에는 헤더 제거 | 조건만 검증하고 Tool Service로 전달 |
| `X-App-Code` | 대문자 3자리 | Tool Service로 전달 |
| `X-Project-Code` | 대문자 5자리 | Tool Service로 전달 |
| `X-User-Ip` | 사용자 단말 IP. `BATCH`는 공란 허용 | Tool Service로 전달 |
| `X-Caller-IP` | 호출 서버 IP | Tool Service 호출 시 MCP 서버 IP로 교체 |
| `X-Caller-Host` | 호출 서버 host name | Tool Service 호출 시 MCP 서버 host로 교체 |
| `X-Channel` | `SCRN`, `BATCH`, `MSGR`, `MCP`, `EAI` | Tool Service 호출 시 `MCP`로 교체 |
| `X-Agent-Id` | API 호출이면 생략 가능 | 있으면 Tool Service로 전달 |
| `X-Guid` | UUID V4 | 있으면 end-to-end 상관 값으로 응답과 Tool Service 호출에 이어서 사용하고, 없으면 생략 |
| `X-Praf-No` | 숫자 8자리 | 있으면 Tool Service로 전달. 권한 판단은 하지 않음 |
| `X-Request-Id` | UUID V4 | 있으면 Agent→MCP 요청 식별자로 사용. Tool Service 호출 시에는 새 UUID V4로 재채번 |
| `X-Request-Time` | ISO-8601 offset date-time | 있으면 수신 context에 보관. Tool Service 호출 시에는 재채번 시각으로 교체 |
| `X-Vrtl-Praf-No` | 숫자 8자리 | 있으면 Tool Service로 전달 |
| `X-App-Code` | 대문자 3자리 | 있으면 Tool Service로 전달 |
| `X-Project-Code` | 대문자 5자리 | 있으면 Tool Service로 전달 |
| `X-User-Ip` | 사용자 단말 IP | 있으면 Tool Service로 전달 |
| `X-Caller-IP` | 호출 서버 IP | 있으면 수신 context에 보관. Tool Service 호출 시 MCP 서버 IP로 교체 |
| `X-Caller-Host` | 호출 서버 host name | 있으면 수신 context에 보관. Tool Service 호출 시 MCP 서버 host로 교체 |
| `X-Channel` | 채널 코드 | 있으면 수신 context에 보관. Tool Service 호출 시 `MCP`로 교체 |
| `X-Agent-Id` | Agent 식별자 | 있으면 Tool Service로 전달 |
MCP는 사번·가상사번·사용자 IP를 로그에 남기지 않는다. MDC는 사용하지 않으며 로그에는 `X-Guid`와 MCP가 받은 `X-Request-Id`만 남긴다. request/response body와 credential도 기본 로그에 남기지 않는다.