39 lines
1.8 KiB
Java
39 lines
1.8 KiB
Java
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();
|
|
}
|
|
}
|