소스 업데이트

This commit is contained in:
jade
2026-09-17 17:31:37 +09:00
parent f3099b76ea
commit a8555f05af
402 changed files with 80 additions and 20011 deletions

View File

@@ -4,6 +4,8 @@ plugins {
}
dependencies {
// Shared MCP, Glow integration, validation, logging, Lombok and MapStruct configuration.
implementation project(':dat-was-lib')
// dat-lib-datmt의 JAR/POM을 Maven Local 또는 사내 Nexus에서 내려받습니다.
// includeBuild 없이 이 Maven 좌표만으로 공통 MCP Server, Tool, MCI/EAI 기능을 사용합니다.
// 라이브러리 코드가 변경되면 먼저 dat-lib-datmt에서 publishToMavenLocal 또는 Nexus publish를 실행합니다.
implementation 'io.shinhanlife:dat-lib-datmt:0.0.1-SNAPSHOT'
}

View File

@@ -1,116 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface AuthenticationInquiryUseCase {
@McpTool(name = "iam_login_history", title = "로그인 이력 조회", description = "모의 로그인 이력 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_LOGIN_HISTORY",
functionDescription = "모의 로그인 이력 조회 정보를 조회합니다.",
whenToUse = "로그인 이력 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "로그인 이력 조회 정보를 조회합니다.",
exampleQueries = {"로그인 이력 조회 정보를 보여줘", "로그인 이력 조회을 확인해줘", "현재 로그인 이력 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getPrimary(SystemStatusRequest request);
@McpTool(name = "iam_authentication_method", title = "인증 수단 조회", description = "모의 인증 수단 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_AUTHENTICATION_METHOD",
functionDescription = "모의 인증 수단 조회 정보를 조회합니다.",
whenToUse = "인증 수단 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "인증 수단 조회 정보를 조회합니다.",
exampleQueries = {"인증 수단 조회 정보를 보여줘", "인증 수단 조회을 확인해줘", "현재 인증 수단 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getList(SystemStatusRequest request);
@McpTool(name = "iam_mfa_status", title = "다중 인증 상태 조회", description = "모의 다중 인증 상태 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_MFA_STATUS",
functionDescription = "모의 다중 인증 상태 조회 정보를 조회합니다.",
whenToUse = "다중 인증 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "다중 인증 상태 조회 정보를 조회합니다.",
exampleQueries = {"다중 인증 상태 조회 정보를 보여줘", "다중 인증 상태 조회을 확인해줘", "현재 다중 인증 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getStatus(SystemStatusRequest request);
@McpTool(name = "iam_access_token_status", title = "접근 토큰 상태 조회", description = "모의 접근 토큰 상태 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_ACCESS_TOKEN_STATUS",
functionDescription = "모의 접근 토큰 상태 조회 정보를 조회합니다.",
whenToUse = "접근 토큰 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "접근 토큰 상태 조회 정보를 조회합니다.",
exampleQueries = {"접근 토큰 상태 조회 정보를 보여줘", "접근 토큰 상태 조회을 확인해줘", "현재 접근 토큰 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getDetail(SystemStatusRequest request);
@McpTool(name = "iam_session_list", title = "세션 목록 조회", description = "모의 세션 목록 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_SESSION_LIST",
functionDescription = "모의 세션 목록 조회 정보를 조회합니다.",
whenToUse = "세션 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "세션 목록 조회 정보를 조회합니다.",
exampleQueries = {"세션 목록 조회 정보를 보여줘", "세션 목록 조회을 확인해줘", "현재 세션 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getContact(SystemStatusRequest request);
@McpTool(name = "iam_trusted_device_list", title = "신뢰 기기 목록 조회", description = "모의 신뢰 기기 목록 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_TRUSTED_DEVICE_LIST",
functionDescription = "모의 신뢰 기기 목록 조회 정보를 조회합니다.",
whenToUse = "신뢰 기기 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "신뢰 기기 목록 조회 정보를 조회합니다.",
exampleQueries = {"신뢰 기기 목록 조회 정보를 보여줘", "신뢰 기기 목록 조회을 확인해줘", "현재 신뢰 기기 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getResult(SystemStatusRequest request);
}

View File

@@ -1,116 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface AuthorizationInquiryUseCase {
@McpTool(name = "iam_permission_list", title = "권한 목록 조회", description = "모의 권한 목록 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_PERMISSION_LIST",
functionDescription = "모의 권한 목록 조회 정보를 조회합니다.",
whenToUse = "권한 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "권한 목록 조회 정보를 조회합니다.",
exampleQueries = {"권한 목록 조회 정보를 보여줘", "권한 목록 조회을 확인해줘", "현재 권한 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getPrimary(SystemStatusRequest request);
@McpTool(name = "iam_role_list", title = "역할 목록 조회", description = "모의 역할 목록 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_ROLE_LIST",
functionDescription = "모의 역할 목록 조회 정보를 조회합니다.",
whenToUse = "역할 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "역할 목록 조회 정보를 조회합니다.",
exampleQueries = {"역할 목록 조회 정보를 보여줘", "역할 목록 조회을 확인해줘", "현재 역할 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getList(SystemStatusRequest request);
@McpTool(name = "iam_menu_access", title = "메뉴 접근 권한 조회", description = "모의 메뉴 접근 권한 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_MENU_ACCESS",
functionDescription = "모의 메뉴 접근 권한 조회 정보를 조회합니다.",
whenToUse = "메뉴 접근 권한 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "메뉴 접근 권한 조회 정보를 조회합니다.",
exampleQueries = {"메뉴 접근 권한 조회 정보를 보여줘", "메뉴 접근 권한 조회을 확인해줘", "현재 메뉴 접근 권한 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getStatus(SystemStatusRequest request);
@McpTool(name = "iam_resource_access", title = "자원 접근 권한 조회", description = "모의 자원 접근 권한 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_RESOURCE_ACCESS",
functionDescription = "모의 자원 접근 권한 조회 정보를 조회합니다.",
whenToUse = "자원 접근 권한 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "자원 접근 권한 조회 정보를 조회합니다.",
exampleQueries = {"자원 접근 권한 조회 정보를 보여줘", "자원 접근 권한 조회을 확인해줘", "현재 자원 접근 권한 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getDetail(SystemStatusRequest request);
@McpTool(name = "iam_approval_authority", title = "결재 권한 조회", description = "모의 결재 권한 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_APPROVAL_AUTHORITY",
functionDescription = "모의 결재 권한 조회 정보를 조회합니다.",
whenToUse = "결재 권한 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "결재 권한 조회 정보를 조회합니다.",
exampleQueries = {"결재 권한 조회 정보를 보여줘", "결재 권한 조회을 확인해줘", "현재 결재 권한 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getContact(SystemStatusRequest request);
@McpTool(name = "iam_delegation_status", title = "권한 위임 상태 조회", description = "모의 권한 위임 상태 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_DELEGATION_STATUS",
functionDescription = "모의 권한 위임 상태 조회 정보를 조회합니다.",
whenToUse = "권한 위임 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "권한 위임 상태 조회 정보를 조회합니다.",
exampleQueries = {"권한 위임 상태 조회 정보를 보여줘", "권한 위임 상태 조회을 확인해줘", "현재 권한 위임 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getResult(SystemStatusRequest request);
}

View File

@@ -1,190 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface SystemStatusUseCase {
@McpTool(name = "iam_system_status", title = "시스템 상태 조회",
description = "조회 전용 모의 시스템 상태를 반환합니다.",
annotations = @McpTool.McpAnnotations(openWorldHint = false))
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_SYSTEM_STATUS",
functionDescription = "모의 시스템 상태를 조회합니다.",
whenToUse = "시스템 상태 확인이 필요할 때 사용합니다.",
whenNotToUse = "시스템 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "시스템 상태를 조회합니다.",
exampleQueries = {"시스템 상태를 보여줘", "개발 환경 상태를 확인해줘", "현재 서비스가 정상인가요?"},
destructive = false,
idempotent = true,
tags = {"iam", "상태", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getSystemStatus(SystemStatusRequest request);
@McpTool(name = "iam_service_health", title = "서비스 상태 조회", description = "모의 서비스 상태를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_SERVICE_HEALTH",
functionDescription = "모의 서비스 상태를 조회합니다.",
whenToUse = "서비스 상태 확인이 필요할 때 사용합니다.",
whenNotToUse = "서비스 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "서비스 상태를 조회합니다.",
exampleQueries = {"서비스 상태를 보여줘", "서비스가 정상인가요?", "개발 서비스 상태를 확인해줘"},
destructive = false,
idempotent = true,
tags = {"iam", "서비스", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getServiceHealth(SystemStatusRequest request);
@McpTool(name = "iam_environment_info", title = "환경 정보 조회", description = "모의 환경 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_ENVIRONMENT_INFO",
functionDescription = "모의 환경 정보를 조회합니다.",
whenToUse = "환경 정보 확인이 필요할 때 사용합니다.",
whenNotToUse = "환경 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "환경 정보를 조회합니다.",
exampleQueries = {"환경 정보를 보여줘", "개발 환경을 확인해줘", "현재 환경 정보를 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "환경", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getEnvironmentInfo(SystemStatusRequest request);
@McpTool(name = "iam_deployment_version", title = "배포 버전 조회", description = "모의 배포 버전을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_DEPLOYMENT_VERSION",
functionDescription = "모의 배포 버전을 조회합니다.",
whenToUse = "배포 버전 확인이 필요할 때 사용합니다.",
whenNotToUse = "배포 실행에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "배포 버전을 조회합니다.",
exampleQueries = {"배포 버전을 보여줘", "현재 버전을 확인해줘", "개발 환경 버전을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "배포", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getDeploymentVersion(SystemStatusRequest request);
@McpTool(name = "iam_access_policy", title = "접근 정책 조회", description = "모의 접근 정책을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_ACCESS_POLICY",
functionDescription = "모의 접근 정책 조회 정보를 조회합니다.",
whenToUse = "접근 정책 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "접근 정책 조회 정보를 조회합니다.",
exampleQueries = {"접근 정책 조회 정보를 보여줘", "접근 정책 조회을 확인해줘", "현재 접근 정책 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getAccessPolicy(SystemStatusRequest request);
@McpTool(name = "iam_session_status", title = "세션 상태 조회", description = "모의 세션 상태를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_SESSION_STATUS",
functionDescription = "모의 세션 상태 조회 정보를 조회합니다.",
whenToUse = "세션 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "세션 상태 조회 정보를 조회합니다.",
exampleQueries = {"세션 상태 조회 정보를 보여줘", "세션 상태 조회을 확인해줘", "현재 세션 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getSessionStatus(SystemStatusRequest request);
@McpTool(name = "iam_identity_provider_list", title = "인증 제공자 목록 조회", description = "모의 인증 제공자 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_IDENTITY_PROVIDER_LIST",
functionDescription = "모의 인증 제공자 목록 조회 정보를 조회합니다.",
whenToUse = "인증 제공자 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "인증 제공자 목록 조회 정보를 조회합니다.",
exampleQueries = {"인증 제공자 목록 조회 정보를 보여줘", "인증 제공자 목록 조회을 확인해줘", "현재 인증 제공자 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getIdentityProviderList(SystemStatusRequest request);
@McpTool(name = "iam_security_event_list", title = "보안 이벤트 목록 조회", description = "모의 보안 이벤트 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_SECURITY_EVENT_LIST",
functionDescription = "모의 보안 이벤트 목록 조회 정보를 조회합니다.",
whenToUse = "보안 이벤트 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "보안 이벤트 목록 조회 정보를 조회합니다.",
exampleQueries = {"보안 이벤트 목록 조회 정보를 보여줘", "보안 이벤트 목록 조회을 확인해줘", "현재 보안 이벤트 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getSecurityEventList(SystemStatusRequest request);
@McpTool(name = "iam_privilege_change_history", title = "권한 변경 이력 조회", description = "모의 권한 변경 이력을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_PRIVILEGE_CHANGE_HISTORY",
functionDescription = "모의 권한 변경 이력 조회 정보를 조회합니다.",
whenToUse = "권한 변경 이력 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "권한 변경 이력 조회 정보를 조회합니다.",
exampleQueries = {"권한 변경 이력 조회 정보를 보여줘", "권한 변경 이력 조회을 확인해줘", "현재 권한 변경 이력 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getPrivilegeChangeHistory(SystemStatusRequest request);
@McpTool(name = "iam_user_group_list", title = "사용자 그룹 목록 조회", description = "모의 사용자 그룹 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "iam",
mappingId = "DIRECT_IAM_USER_GROUP_LIST",
functionDescription = "모의 사용자 그룹 목록 조회 정보를 조회합니다.",
whenToUse = "사용자 그룹 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "사용자 그룹 목록 조회 정보를 조회합니다.",
exampleQueries = {"사용자 그룹 목록 조회 정보를 보여줘", "사용자 그룹 목록 조회을 확인해줘", "현재 사용자 그룹 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"iam", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemStatusResponse getUserGroupList(SystemStatusRequest request);
}

View File

@@ -1,12 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.iam.dto.TeamContactRequest;
import org.springaicommunity.mcp.annotation.McpTool;
public interface TeamContactUseCase {
@McpTool(name = "iam_team_contact", title = "팀 연락처 및 담당자 조회", description = "AX 팀, MCP 팀, TOOL 팀 등 특정 팀이나 전체 팀의 인원 및 담당자 정보를 조회합니다. 대상을 입력하여 원하는 정보만 필터링하여 받을 수 있습니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_TEAM_CONTACT")
String getTeamContactInfo(TeamContactRequest request);
}

View File

@@ -1,48 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dat.mcc.biz.iam.usecase.AuthenticationInquiryUseCase;
import org.springframework.stereotype.Service;
@Service
public class AuthenticationInquiryUseCaseImpl implements AuthenticationInquiryUseCase {
@Override
public SystemStatusResponse getPrimary(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getList(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getStatus(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getDetail(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getContact(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getResult(SystemStatusRequest request) {
return mockResponse(request);
}
private SystemStatusResponse mockResponse(SystemStatusRequest request) {
SystemStatusResponse response = new SystemStatusResponse();
response.setSystemName("AX Hub IAM");
response.setEnvironment(request != null && request.getEnvironment() != null && !request.getEnvironment().isBlank() ? request.getEnvironment() : "개발");
response.setStatus("정상");
response.setCheckedAt(java.time.OffsetDateTime.now().toString());
return response;
}
}

View File

@@ -1,48 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dat.mcc.biz.iam.usecase.AuthorizationInquiryUseCase;
import org.springframework.stereotype.Service;
@Service
public class AuthorizationInquiryUseCaseImpl implements AuthorizationInquiryUseCase {
@Override
public SystemStatusResponse getPrimary(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getList(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getStatus(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getDetail(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getContact(SystemStatusRequest request) {
return mockResponse(request);
}
@Override
public SystemStatusResponse getResult(SystemStatusRequest request) {
return mockResponse(request);
}
private SystemStatusResponse mockResponse(SystemStatusRequest request) {
SystemStatusResponse response = new SystemStatusResponse();
response.setSystemName("AX Hub IAM");
response.setEnvironment(request != null && request.getEnvironment() != null && !request.getEnvironment().isBlank() ? request.getEnvironment() : "개발");
response.setStatus("정상");
response.setCheckedAt(java.time.OffsetDateTime.now().toString());
return response;
}
}

View File

@@ -1,30 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dat.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dat.mcc.biz.iam.usecase.SystemStatusUseCase;
import java.time.OffsetDateTime;
import org.springframework.stereotype.Service;
@Service
public class SystemStatusUseCaseImpl implements SystemStatusUseCase {
@Override public SystemStatusResponse getServiceHealth(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getEnvironmentInfo(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getDeploymentVersion(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getAccessPolicy(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getSessionStatus(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getIdentityProviderList(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getSecurityEventList(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getPrivilegeChangeHistory(SystemStatusRequest request) { return getSystemStatus(request); }
@Override public SystemStatusResponse getUserGroupList(SystemStatusRequest request) { return getSystemStatus(request); }
@Override
public SystemStatusResponse getSystemStatus(SystemStatusRequest request) {
SystemStatusResponse response = new SystemStatusResponse();
response.setSystemName("AX Hub 시스템");
response.setEnvironment(request != null && request.getEnvironment() != null && !request.getEnvironment().isBlank()
? request.getEnvironment() : "개발");
response.setStatus("정상");
response.setCheckedAt(OffsetDateTime.now().toString());
return response;
}
}

View File

@@ -1,33 +0,0 @@
package io.shinhanlife.dat.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dat.mcc.biz.iam.dto.TeamContactRequest;
import io.shinhanlife.dat.mcc.biz.iam.usecase.TeamContactUseCase;
import org.springframework.stereotype.Service;
@Service
public class TeamContactUseCaseImpl implements TeamContactUseCase {
@Override
public String getTeamContactInfo(TeamContactRequest request) {
String target = request != null && request.getTarget() != null ? request.getTarget() : "전체";
if (target.contains("AX") || target.contains("추진")) {
return "- AX 추진팀: 박세진 프로\n";
} else if (target.contains("이사") || target.contains("담당자") || target.contains("윤희준")) {
return "- MCP & TOOL 팀 담당자: 윤희준 이사\n";
} else if (target.contains("MCP")) {
return "- MCP 팀: 고석민 수석, 장효원 책임\n";
} else if (target.contains("TOOL") || target.contains("")) {
return "- TOOL 팀: 김형식 수석, 김영진 책임, 김도겸 대리, 이주희 선임, 문주현 선임, 이보람 대리, 박수빈 대리\n";
} else {
return "=================================================\n" +
"[ 신한라이프 AX HUB 팀 전체 인원 안내 ]\n" +
"=================================================\n" +
"- AX 추진팀: 박세진 프로\n" +
"- MCP & TOOL 팀 담당자: 윤희준 이사\n" +
"- MCP 팀: 고석민 수석, 장효원 책임\n" +
"- TOOL 팀: 김형식 수석, 김영진 책임, 김도겸 대리, 이주희 선임, 문주현 선임, 이보람 대리, 박수빈 대리\n" +
"=================================================";
}
}
}

View File

@@ -1,15 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springaicommunity.mcp.annotation.McpToolParam;
@Data
public class SystemNoticeRequest {
@McpToolParam(description = "공지 분류", required = false)
private String category;
@McpToolParam(description = "계약심사번호", required = false)
@Schema(pattern = "^[A-Za-z0-9_-]{3,30}$")
private String contractId;
}

View File

@@ -1,16 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.dto;
import java.util.List;
import lombok.Data;
@Data
public class SystemNoticeResponse {
private List<Notice> notices;
@Data
public static class Notice {
private String title;
private String priority;
private String publishedDate;
}
}

View File

@@ -1,116 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface MaintenanceInquiryUseCase {
@McpTool(name = "pct_maintenance_schedule", title = "점검 일정 조회", description = "모의 점검 일정 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_MAINTENANCE_SCHEDULE",
functionDescription = "모의 점검 일정을 조회합니다.",
whenToUse = "점검 일정 확인이 필요할 때 사용합니다.",
whenNotToUse = "점검 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "점검 일정을 조회합니다.",
exampleQueries = {"점검 일정을 보여줘", "정기 점검이 언제야?", "이번 주 점검을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "점검", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getPrimary(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_history", title = "점검 이력 조회", description = "모의 점검 이력 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_MAINTENANCE_HISTORY",
functionDescription = "모의 점검 이력 조회 정보를 조회합니다.",
whenToUse = "점검 이력 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "점검 이력 조회 정보를 조회합니다.",
exampleQueries = {"점검 이력 조회 정보를 보여줘", "점검 이력 조회을 확인해줘", "현재 점검 이력 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getList(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_scope", title = "점검 범위 조회", description = "모의 점검 범위 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_MAINTENANCE_SCOPE",
functionDescription = "모의 점검 범위 조회 정보를 조회합니다.",
whenToUse = "점검 범위 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "점검 범위 조회 정보를 조회합니다.",
exampleQueries = {"점검 범위 조회 정보를 보여줘", "점검 범위 조회을 확인해줘", "현재 점검 범위 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getStatus(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_status", title = "점검 진행 상태 조회", description = "모의 점검 진행 상태 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_MAINTENANCE_STATUS",
functionDescription = "모의 점검 진행 상태 조회 정보를 조회합니다.",
whenToUse = "점검 진행 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "점검 진행 상태 조회 정보를 조회합니다.",
exampleQueries = {"점검 진행 상태 조회 정보를 보여줘", "점검 진행 상태 조회을 확인해줘", "현재 점검 진행 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getDetail(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_contact", title = "점검 담당자 조회", description = "모의 점검 담당자 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_MAINTENANCE_CONTACT",
functionDescription = "모의 점검 담당자 조회 정보를 조회합니다.",
whenToUse = "점검 담당자 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "점검 담당자 조회 정보를 조회합니다.",
exampleQueries = {"점검 담당자 조회 정보를 보여줘", "점검 담당자 조회을 확인해줘", "현재 점검 담당자 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getContact(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_result", title = "점검 결과 조회", description = "모의 점검 결과 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_MAINTENANCE_RESULT",
functionDescription = "모의 점검 결과 조회 정보를 조회합니다.",
whenToUse = "점검 결과 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "점검 결과 조회 정보를 조회합니다.",
exampleQueries = {"점검 결과 조회 정보를 보여줘", "점검 결과 조회을 확인해줘", "현재 점검 결과 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getResult(SystemNoticeRequest request);
}

View File

@@ -1,116 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface ReleaseInquiryUseCase {
@McpTool(name = "pct_release_notice", title = "배포 공지 조회", description = "모의 배포 공지 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_RELEASE_NOTICE",
functionDescription = "모의 배포 공지를 조회합니다.",
whenToUse = "배포 공지 확인이 필요할 때 사용합니다.",
whenNotToUse = "배포 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "배포 공지를 조회합니다.",
exampleQueries = {"배포 공지를 보여줘", "최근 배포 내용을 알려줘", "개발 배포 공지가 있나요?"},
destructive = false,
idempotent = true,
tags = {"pct", "배포", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getPrimary(SystemNoticeRequest request);
@McpTool(name = "pct_release_history", title = "배포 이력 조회", description = "모의 배포 이력 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_RELEASE_HISTORY",
functionDescription = "모의 배포 이력 조회 정보를 조회합니다.",
whenToUse = "배포 이력 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "배포 이력 조회 정보를 조회합니다.",
exampleQueries = {"배포 이력 조회 정보를 보여줘", "배포 이력 조회을 확인해줘", "현재 배포 이력 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getList(SystemNoticeRequest request);
@McpTool(name = "pct_release_schedule", title = "배포 일정 조회", description = "모의 배포 일정 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_RELEASE_SCHEDULE",
functionDescription = "모의 배포 일정 조회 정보를 조회합니다.",
whenToUse = "배포 일정 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "배포 일정 조회 정보를 조회합니다.",
exampleQueries = {"배포 일정 조회 정보를 보여줘", "배포 일정 조회을 확인해줘", "현재 배포 일정 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getStatus(SystemNoticeRequest request);
@McpTool(name = "pct_release_version", title = "배포 버전 조회", description = "모의 배포 버전 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_RELEASE_VERSION",
functionDescription = "모의 배포 버전 조회 정보를 조회합니다.",
whenToUse = "배포 버전 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "배포 버전 조회 정보를 조회합니다.",
exampleQueries = {"배포 버전 조회 정보를 보여줘", "배포 버전 조회을 확인해줘", "현재 배포 버전 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getDetail(SystemNoticeRequest request);
@McpTool(name = "pct_release_scope", title = "배포 범위 조회", description = "모의 배포 범위 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_RELEASE_SCOPE",
functionDescription = "모의 배포 범위 조회 정보를 조회합니다.",
whenToUse = "배포 범위 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "배포 범위 조회 정보를 조회합니다.",
exampleQueries = {"배포 범위 조회 정보를 보여줘", "배포 범위 조회을 확인해줘", "현재 배포 범위 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getContact(SystemNoticeRequest request);
@McpTool(name = "pct_release_status", title = "배포 상태 조회", description = "모의 배포 상태 조회 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_RELEASE_STATUS",
functionDescription = "모의 배포 상태 조회 정보를 조회합니다.",
whenToUse = "배포 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "배포 상태 조회 정보를 조회합니다.",
exampleQueries = {"배포 상태 조회 정보를 보여줘", "배포 상태 조회을 확인해줘", "현재 배포 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getResult(SystemNoticeRequest request);
}

View File

@@ -1,188 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.usecase;
import io.shinhanlife.dat.lib.annotation.GrowToolHint;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface SystemNoticeUseCase {
@McpTool(name = "pct_notice_list", title = "시스템 공지 조회", description = "모의 시스템 공지 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_NOTICE_LIST",
functionDescription = "모의 시스템 공지를 조회합니다.",
whenToUse = "공지 확인이 필요할 때 사용합니다.",
whenNotToUse = "공지 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "시스템 공지를 조회합니다.",
exampleQueries = {"시스템 공지를 보여줘", "현재 공지를 알려줘", "개발 공지가 있나요?"},
destructive = false,
idempotent = true,
tags = {"pct", "공지", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getSystemNotices(SystemNoticeRequest request);
@McpTool(name = "pct_notice_search", title = "공지 검색 조회", description = "모의 공지 검색 결과를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_NOTICE_SEARCH",
functionDescription = "모의 공지 검색 결과를 조회합니다.",
whenToUse = "공지를 검색할 때 사용합니다.",
whenNotToUse = "공지 변경에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환합니다.",
displayDescription = "공지 검색 결과를 조회합니다.",
exampleQueries = {"점검 공지를 검색해줘", "배포 공지를 찾아줘", "공지 내용을 조회해줘"},
destructive = false,
idempotent = true,
tags = {"pct", "공지", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getNoticeSearch(SystemNoticeRequest request);
@McpTool(name = "pct_notice_recent", title = "최신 공지 조회", description = "모의 최신 공지를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_NOTICE_RECENT",
functionDescription = "모의 최신 공지를 조회합니다.",
whenToUse = "최신 공지 확인이 필요할 때 사용합니다.",
whenNotToUse = "공지 변경에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환합니다.",
displayDescription = "최신 공지를 조회합니다.",
exampleQueries = {"최신 공지를 보여줘", "오늘 공지가 있나요?", "최근 시스템 공지를 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "공지", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getRecentNotices(SystemNoticeRequest request);
@McpTool(name = "pct_alert_list", title = "알림 목록 조회", description = "모의 알림 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_ALERT_LIST",
functionDescription = "모의 알림 목록을 조회합니다.",
whenToUse = "알림 확인이 필요할 때 사용합니다.",
whenNotToUse = "알림 변경에는 사용하지 않습니다.",
ioLimits = "모의 데이터만 반환합니다.",
displayDescription = "알림 목록을 조회합니다.",
exampleQueries = {"알림 목록을 보여줘", "현재 알림을 알려줘", "점검 알림이 있나요?"},
destructive = false,
idempotent = true,
tags = {"pct", "알림", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getAlertList(SystemNoticeRequest request);
@McpTool(name = "pct_notice_detail", title = "공지 상세 조회", description = "모의 공지 상세 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_NOTICE_DETAIL",
functionDescription = "모의 공지 상세 조회 정보를 조회합니다.",
whenToUse = "공지 상세 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "공지 상세 조회 정보를 조회합니다.",
exampleQueries = {"공지 상세 조회 정보를 보여줘", "공지 상세 조회을 확인해줘", "현재 공지 상세 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getNoticeDetail(SystemNoticeRequest request);
@McpTool(name = "pct_notice_category", title = "공지 분류 조회", description = "모의 공지 분류 정보를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_NOTICE_CATEGORY",
functionDescription = "모의 공지 분류 조회 정보를 조회합니다.",
whenToUse = "공지 분류 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "공지 분류 조회 정보를 조회합니다.",
exampleQueries = {"공지 분류 조회 정보를 보여줘", "공지 분류 조회을 확인해줘", "현재 공지 분류 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getNoticeCategory(SystemNoticeRequest request);
@McpTool(name = "pct_incident_list", title = "장애 목록 조회", description = "모의 장애 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_INCIDENT_LIST",
functionDescription = "모의 장애 목록 조회 정보를 조회합니다.",
whenToUse = "장애 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "장애 목록 조회 정보를 조회합니다.",
exampleQueries = {"장애 목록 조회 정보를 보여줘", "장애 목록 조회을 확인해줘", "현재 장애 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getIncidentList(SystemNoticeRequest request);
@McpTool(name = "pct_change_request_list", title = "변경 요청 목록 조회", description = "모의 변경 요청 목록을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_CHANGE_REQUEST_LIST",
functionDescription = "모의 변경 요청 목록 조회 정보를 조회합니다.",
whenToUse = "변경 요청 목록 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "변경 요청 목록 조회 정보를 조회합니다.",
exampleQueries = {"변경 요청 목록 조회 정보를 보여줘", "변경 요청 목록 조회을 확인해줘", "현재 변경 요청 목록 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getChangeRequestList(SystemNoticeRequest request);
@McpTool(name = "pct_operation_calendar", title = "운영 일정 조회", description = "모의 운영 일정을 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_OPERATION_CALENDAR",
functionDescription = "모의 운영 일정 조회 정보를 조회합니다.",
whenToUse = "운영 일정 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "운영 일정 조회 정보를 조회합니다.",
exampleQueries = {"운영 일정 조회 정보를 보여줘", "운영 일정 조회을 확인해줘", "현재 운영 일정 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getOperationCalendar(SystemNoticeRequest request);
@McpTool(name = "pct_service_request_status", title = "서비스 요청 상태 조회", description = "모의 서비스 요청 상태를 조회합니다.")
@GrowToolHint(
requiresApproval = false,
categoryKey = "pct",
mappingId = "DIRECT_PCT_SERVICE_REQUEST_STATUS",
functionDescription = "모의 서비스 요청 상태 조회 정보를 조회합니다.",
whenToUse = "서비스 요청 상태 조회 확인이 필요할 때 사용합니다.",
whenNotToUse = "정보 변경이나 실행 작업에는 사용하지 않습니다.",
ioLimits = "모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.",
displayDescription = "서비스 요청 상태 조회 정보를 조회합니다.",
exampleQueries = {"서비스 요청 상태 조회 정보를 보여줘", "서비스 요청 상태 조회을 확인해줘", "현재 서비스 요청 상태 조회을 알려줘"},
destructive = false,
idempotent = true,
tags = {"pct", "조회", "mock"},
ownerOrg = "MCP_TOOL"
)
SystemNoticeResponse getServiceRequestStatus(SystemNoticeRequest request);
}

View File

@@ -1,49 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.usecase.impl;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeResponse;
import io.shinhanlife.dat.mcc.biz.pct.usecase.MaintenanceInquiryUseCase;
import org.springframework.stereotype.Service;
@Service
public class MaintenanceInquiryUseCaseImpl implements MaintenanceInquiryUseCase {
@Override
public SystemNoticeResponse getPrimary(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getList(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getStatus(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getDetail(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getContact(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getResult(SystemNoticeRequest request) {
return mockResponse(request);
}
private SystemNoticeResponse mockResponse(SystemNoticeRequest request) {
SystemNoticeResponse.Notice notice = new SystemNoticeResponse.Notice();
notice.setTitle("점검 정보 조회");
notice.setPriority("보통");
notice.setPublishedDate("2026-08-13");
SystemNoticeResponse response = new SystemNoticeResponse();
response.setNotices(java.util.List.of(notice));
return response;
}
}

View File

@@ -1,49 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.usecase.impl;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeResponse;
import io.shinhanlife.dat.mcc.biz.pct.usecase.ReleaseInquiryUseCase;
import org.springframework.stereotype.Service;
@Service
public class ReleaseInquiryUseCaseImpl implements ReleaseInquiryUseCase {
@Override
public SystemNoticeResponse getPrimary(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getList(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getStatus(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getDetail(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getContact(SystemNoticeRequest request) {
return mockResponse(request);
}
@Override
public SystemNoticeResponse getResult(SystemNoticeRequest request) {
return mockResponse(request);
}
private SystemNoticeResponse mockResponse(SystemNoticeRequest request) {
SystemNoticeResponse.Notice notice = new SystemNoticeResponse.Notice();
notice.setTitle("배포 정보 조회");
notice.setPriority("보통");
notice.setPublishedDate("2026-08-13");
SystemNoticeResponse response = new SystemNoticeResponse();
response.setNotices(java.util.List.of(notice));
return response;
}
}

View File

@@ -1,31 +0,0 @@
package io.shinhanlife.dat.mcc.biz.pct.usecase.impl;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dat.mcc.biz.pct.dto.SystemNoticeResponse;
import io.shinhanlife.dat.mcc.biz.pct.usecase.SystemNoticeUseCase;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
public class SystemNoticeUseCaseImpl implements SystemNoticeUseCase {
@Override public SystemNoticeResponse getSystemNotices(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getNoticeSearch(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getRecentNotices(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getAlertList(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getNoticeDetail(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getNoticeCategory(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getIncidentList(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getChangeRequestList(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getOperationCalendar(SystemNoticeRequest request) { return mockResponse(); }
@Override public SystemNoticeResponse getServiceRequestStatus(SystemNoticeRequest request) { return mockResponse(); }
private SystemNoticeResponse mockResponse() {
SystemNoticeResponse.Notice notice = new SystemNoticeResponse.Notice();
notice.setTitle("정기 점검 안내");
notice.setPriority("보통");
notice.setPublishedDate("2026-08-13");
SystemNoticeResponse response = new SystemNoticeResponse();
response.setNotices(List.of(notice));
return response;
}
}