package io.shinhanlife.dap.biz.mcp; import io.modelcontextprotocol.json.schema.JsonSchemaValidator; import io.modelcontextprotocol.json.schema.jackson2.DefaultJsonSchemaValidator; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; /** * AX HUB MCP Server의 Spring Boot 애플리케이션 시작점입니다. HTTP 요청을 직접 처리하지 않고 component scan, configuration properties, scheduler를 활성화해 * transport·method·registry·execute·observability 구성요소를 조립합니다. 주요 의존성은 Spring Boot 자동 구성, {@code McpProperties} 설정 객체, MCP SDK의 JSON Schema 검증기이며 실행 인자는 Spring * 컨테이너로 전달됩니다. */ @SpringBootApplication @ConfigurationPropertiesScan @EnableScheduling public class McpServerApplication { /** * Spring Boot 애플리케이션을 시작하는 최초 진입점입니다. 전달받은 실행 인자를 Spring에 넘기고 component scan과 설정 로딩을 시작합니다. */ public static void main(String[] args) { SpringApplication.run(McpServerApplication.class, args); } /** * Tool inputSchema와 arguments를 JSON Schema 2020-12 기준으로 검증할 MCP SDK 검증기를 한 번 생성합니다. Tool 실행 전 검증 계층에서만 사용하며 MCP HTTP transport나 서버 lifecycle을 자동 구성하지 * 않습니다. * * @return schema 컴파일 결과를 재사용하는 MCP SDK 검증기 */ @Bean JsonSchemaValidator mcpJsonSchemaValidator() { return new DefaultJsonSchemaValidator(); } }