Initial commit

This commit is contained in:
jade
2026-08-14 18:16:14 +09:00
commit 22f4fab58d
656 changed files with 22614 additions and 0 deletions

7
dap-was-sys/Dockerfile Normal file
View File

@@ -0,0 +1,7 @@
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
RUN apk add --no-cache tzdata
ENV TZ=Asia/Seoul
COPY dap-was-sys/build/libs/*-SNAPSHOT.jar app.jar
EXPOSE 8086
ENTRYPOINT ["java", "-jar", "app.jar"]

9
dap-was-sys/build.gradle Normal file
View File

@@ -0,0 +1,9 @@
plugins {
// Spring Boot 3.5.11 version is managed by the root build.gradle.
id 'org.springframework.boot'
}
dependencies {
// Shared MCP, Glow integration, validation, logging, Lombok and MapStruct configuration.
implementation project(':dap-was-lib')
}

View File

@@ -0,0 +1,10 @@
package io.shinhanlife.dap.mcc.biz.iam.dto;
import lombok.Data;
import org.springaicommunity.mcp.annotation.McpToolParam;
@Data
public class SystemStatusRequest {
@McpToolParam(description = "조회할 환경명", required = false)
private String environment;
}

View File

@@ -0,0 +1,11 @@
package io.shinhanlife.dap.mcc.biz.iam.dto;
import lombok.Data;
@Data
public class SystemStatusResponse {
private String systemName;
private String environment;
private String status;
private String checkedAt;
}

View File

@@ -0,0 +1,32 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusResponse;
import org.springaicommunity.mcp.annotation.McpTool;
public interface AccountInquiryUseCase {
@McpTool(name = "iam_account_profile", title = "계정 프로필 조회", description = "모의 계정 프로필 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCOUNT_PROFILE")
SystemStatusResponse getPrimary(SystemStatusRequest request);
@McpTool(name = "iam_account_list", title = "계정 목록 조회", description = "모의 계정 목록 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCOUNT_LIST")
SystemStatusResponse getList(SystemStatusRequest request);
@McpTool(name = "iam_account_status", title = "계정 상태 조회", description = "모의 계정 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCOUNT_STATUS")
SystemStatusResponse getStatus(SystemStatusRequest request);
@McpTool(name = "iam_account_role", title = "계정 역할 조회", description = "모의 계정 역할 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCOUNT_ROLE")
SystemStatusResponse getDetail(SystemStatusRequest request);
@McpTool(name = "iam_account_lock_status", title = "계정 잠금 상태 조회", description = "모의 계정 잠금 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCOUNT_LOCK_STATUS")
SystemStatusResponse getContact(SystemStatusRequest request);
@McpTool(name = "iam_account_password_expiry", title = "비밀번호 만료일 조회", description = "모의 비밀번호 만료일 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCOUNT_PASSWORD_EXPIRY")
SystemStatusResponse getResult(SystemStatusRequest request);
}

View File

@@ -0,0 +1,32 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.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")
SystemStatusResponse getPrimary(SystemStatusRequest request);
@McpTool(name = "iam_authentication_method", title = "인증 수단 조회", description = "모의 인증 수단 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_AUTHENTICATION_METHOD")
SystemStatusResponse getList(SystemStatusRequest request);
@McpTool(name = "iam_mfa_status", title = "다중 인증 상태 조회", description = "모의 다중 인증 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_MFA_STATUS")
SystemStatusResponse getStatus(SystemStatusRequest request);
@McpTool(name = "iam_access_token_status", title = "접근 토큰 상태 조회", description = "모의 접근 토큰 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCESS_TOKEN_STATUS")
SystemStatusResponse getDetail(SystemStatusRequest request);
@McpTool(name = "iam_session_list", title = "세션 목록 조회", description = "모의 세션 목록 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SESSION_LIST")
SystemStatusResponse getContact(SystemStatusRequest request);
@McpTool(name = "iam_trusted_device_list", title = "신뢰 기기 목록 조회", description = "모의 신뢰 기기 목록 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_TRUSTED_DEVICE_LIST")
SystemStatusResponse getResult(SystemStatusRequest request);
}

View File

@@ -0,0 +1,32 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.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")
SystemStatusResponse getPrimary(SystemStatusRequest request);
@McpTool(name = "iam_role_list", title = "역할 목록 조회", description = "모의 역할 목록 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ROLE_LIST")
SystemStatusResponse getList(SystemStatusRequest request);
@McpTool(name = "iam_menu_access", title = "메뉴 접근 권한 조회", description = "모의 메뉴 접근 권한 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_MENU_ACCESS")
SystemStatusResponse getStatus(SystemStatusRequest request);
@McpTool(name = "iam_resource_access", title = "자원 접근 권한 조회", description = "모의 자원 접근 권한 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_RESOURCE_ACCESS")
SystemStatusResponse getDetail(SystemStatusRequest request);
@McpTool(name = "iam_approval_authority", title = "결재 권한 조회", description = "모의 결재 권한 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_APPROVAL_AUTHORITY")
SystemStatusResponse getContact(SystemStatusRequest request);
@McpTool(name = "iam_delegation_status", title = "권한 위임 상태 조회", description = "모의 권한 위임 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_DELEGATION_STATUS")
SystemStatusResponse getResult(SystemStatusRequest request);
}

View File

@@ -0,0 +1,45 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.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_STATUS")
SystemStatusResponse getSystemStatus(SystemStatusRequest request);
@McpTool(name = "iam_service_health", title = "서비스 상태 조회", description = "모의 서비스 상태를 조회합니다.")
SystemStatusResponse getServiceHealth(SystemStatusRequest request);
@McpTool(name = "iam_environment_info", title = "환경 정보 조회", description = "모의 환경 정보를 조회합니다.")
SystemStatusResponse getEnvironmentInfo(SystemStatusRequest request);
@McpTool(name = "iam_deployment_version", title = "배포 버전 조회", description = "모의 배포 버전을 조회합니다.")
SystemStatusResponse getDeploymentVersion(SystemStatusRequest request);
@McpTool(name = "iam_access_policy", title = "접근 정책 조회", description = "모의 접근 정책을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_ACCESS_POLICY")
SystemStatusResponse getAccessPolicy(SystemStatusRequest request);
@McpTool(name = "iam_session_status", title = "세션 상태 조회", description = "모의 세션 상태를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SESSION_STATUS")
SystemStatusResponse getSessionStatus(SystemStatusRequest request);
@McpTool(name = "iam_identity_provider_list", title = "인증 제공자 목록 조회", description = "모의 인증 제공자 목록을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_IDENTITY_PROVIDER_LIST")
SystemStatusResponse getIdentityProviderList(SystemStatusRequest request);
@McpTool(name = "iam_security_event_list", title = "보안 이벤트 목록 조회", description = "모의 보안 이벤트 목록을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SECURITY_EVENT_LIST")
SystemStatusResponse getSecurityEventList(SystemStatusRequest request);
@McpTool(name = "iam_privilege_change_history", title = "권한 변경 이력 조회", description = "모의 권한 변경 이력을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_PRIVILEGE_CHANGE_HISTORY")
SystemStatusResponse getPrivilegeChangeHistory(SystemStatusRequest request);
@McpTool(name = "iam_user_group_list", title = "사용자 그룹 목록 조회", description = "모의 사용자 그룹 목록을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_USER_GROUP_LIST")
SystemStatusResponse getUserGroupList(SystemStatusRequest request);
}

View File

@@ -0,0 +1,48 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dap.mcc.biz.iam.usecase.AccountInquiryUseCase;
import org.springframework.stereotype.Service;
@Service
public class AccountInquiryUseCaseImpl implements AccountInquiryUseCase {
@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

@@ -0,0 +1,48 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dap.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

@@ -0,0 +1,48 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dap.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

@@ -0,0 +1,30 @@
package io.shinhanlife.dap.mcc.biz.iam.usecase.impl;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusRequest;
import io.shinhanlife.dap.mcc.biz.iam.dto.SystemStatusResponse;
import io.shinhanlife.dap.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

@@ -0,0 +1,10 @@
package io.shinhanlife.dap.mcc.biz.pct.dto;
import lombok.Data;
import org.springaicommunity.mcp.annotation.McpToolParam;
@Data
public class SystemNoticeRequest {
@McpToolParam(description = "공지 분류", required = false)
private String category;
}

View File

@@ -0,0 +1,16 @@
package io.shinhanlife.dap.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

@@ -0,0 +1,32 @@
package io.shinhanlife.dap.mcc.biz.pct.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dap.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")
SystemNoticeResponse getPrimary(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_history", title = "점검 이력 조회", description = "모의 점검 이력 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_MAINTENANCE_HISTORY")
SystemNoticeResponse getList(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_scope", title = "점검 범위 조회", description = "모의 점검 범위 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_MAINTENANCE_SCOPE")
SystemNoticeResponse getStatus(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_status", title = "점검 진행 상태 조회", description = "모의 점검 진행 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_MAINTENANCE_STATUS")
SystemNoticeResponse getDetail(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_contact", title = "점검 담당자 조회", description = "모의 점검 담당자 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_MAINTENANCE_CONTACT")
SystemNoticeResponse getContact(SystemNoticeRequest request);
@McpTool(name = "pct_maintenance_result", title = "점검 결과 조회", description = "모의 점검 결과 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_MAINTENANCE_RESULT")
SystemNoticeResponse getResult(SystemNoticeRequest request);
}

View File

@@ -0,0 +1,32 @@
package io.shinhanlife.dap.mcc.biz.pct.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dap.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")
SystemNoticeResponse getPrimary(SystemNoticeRequest request);
@McpTool(name = "pct_release_history", title = "배포 이력 조회", description = "모의 배포 이력 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_RELEASE_HISTORY")
SystemNoticeResponse getList(SystemNoticeRequest request);
@McpTool(name = "pct_release_schedule", title = "배포 일정 조회", description = "모의 배포 일정 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_RELEASE_SCHEDULE")
SystemNoticeResponse getStatus(SystemNoticeRequest request);
@McpTool(name = "pct_release_version", title = "배포 버전 조회", description = "모의 배포 버전 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_RELEASE_VERSION")
SystemNoticeResponse getDetail(SystemNoticeRequest request);
@McpTool(name = "pct_release_scope", title = "배포 범위 조회", description = "모의 배포 범위 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_RELEASE_SCOPE")
SystemNoticeResponse getContact(SystemNoticeRequest request);
@McpTool(name = "pct_release_status", title = "배포 상태 조회", description = "모의 배포 상태 조회 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_RELEASE_STATUS")
SystemNoticeResponse getResult(SystemNoticeRequest request);
}

View File

@@ -0,0 +1,48 @@
package io.shinhanlife.dap.mcc.biz.pct.usecase;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dap.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")
SystemNoticeResponse getSystemNotices(SystemNoticeRequest request);
@McpTool(name = "pct_notice_search", title = "공지 검색 조회", description = "모의 공지 검색 결과를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_SEARCH")
SystemNoticeResponse getNoticeSearch(SystemNoticeRequest request);
@McpTool(name = "pct_notice_recent", title = "최신 공지 조회", description = "모의 최신 공지를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_RECENT")
SystemNoticeResponse getRecentNotices(SystemNoticeRequest request);
@McpTool(name = "pct_alert_list", title = "알림 목록 조회", description = "모의 알림 목록을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_ALERT_LIST")
SystemNoticeResponse getAlertList(SystemNoticeRequest request);
@McpTool(name = "pct_notice_detail", title = "공지 상세 조회", description = "모의 공지 상세 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_DETAIL")
SystemNoticeResponse getNoticeDetail(SystemNoticeRequest request);
@McpTool(name = "pct_notice_category", title = "공지 분류 조회", description = "모의 공지 분류 정보를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_CATEGORY")
SystemNoticeResponse getNoticeCategory(SystemNoticeRequest request);
@McpTool(name = "pct_incident_list", title = "장애 목록 조회", description = "모의 장애 목록을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_INCIDENT_LIST")
SystemNoticeResponse getIncidentList(SystemNoticeRequest request);
@McpTool(name = "pct_change_request_list", title = "변경 요청 목록 조회", description = "모의 변경 요청 목록을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_CHANGE_REQUEST_LIST")
SystemNoticeResponse getChangeRequestList(SystemNoticeRequest request);
@McpTool(name = "pct_operation_calendar", title = "운영 일정 조회", description = "모의 운영 일정을 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_OPERATION_CALENDAR")
SystemNoticeResponse getOperationCalendar(SystemNoticeRequest request);
@McpTool(name = "pct_service_request_status", title = "서비스 요청 상태 조회", description = "모의 서비스 요청 상태를 조회합니다.")
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_SERVICE_REQUEST_STATUS")
SystemNoticeResponse getServiceRequestStatus(SystemNoticeRequest request);
}

View File

@@ -0,0 +1,49 @@
package io.shinhanlife.dap.mcc.biz.pct.usecase.impl;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeResponse;
import io.shinhanlife.dap.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

@@ -0,0 +1,49 @@
package io.shinhanlife.dap.mcc.biz.pct.usecase.impl;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeResponse;
import io.shinhanlife.dap.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

@@ -0,0 +1,31 @@
package io.shinhanlife.dap.mcc.biz.pct.usecase.impl;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeRequest;
import io.shinhanlife.dap.mcc.biz.pct.dto.SystemNoticeResponse;
import io.shinhanlife.dap.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;
}
}

View File

@@ -0,0 +1,32 @@
package io.shinhanlife.dap.mcc.sys;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Import;
import io.shinhanlife.dap.lib.mcp.ToolMcpServerConfiguration;
/**
* @package io.shinhanlife.dap.mcc.sys
* @className DapWasSysApplication
* @description AX HUB 시스템 처리 클래스
* @author system
* @create 2026.08.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.08.13 system 최초생성
*
* </pre>
*/
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.lib"})
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.lib"})
@EnableCaching
@Import(ToolMcpServerConfiguration.class)
public class DapWasSysApplication {
public static void main(String[] args) {
SpringApplication.run(DapWasSysApplication.class, args);
}
}

View File

@@ -0,0 +1,46 @@
# OCI 클라우드 환경 전용 설정
server:
port: ${PORT:8086}
spring:
config:
activate:
on-profile: dev
import:
- classpath:glow/application-glow.yml
- classpath:glow/application-glow-dev.yml
axhub:
gateway:
url: https://axhubmcp.devjun.net
tool:
url: http://144.24.70.100:8086
eims:
http:
url: http://localhost:${server.port}/api/gateway
tcp:
host: 127.0.0.1
port: 8090
timeout: 5000
jsp:
form:
url: http://localhost:${server.port}/mock/jsp-form
json:
url: http://localhost:${server.port}/mock/jsp-json
mci:
url: http://localhost:${server.port}/api/mock/esb/api
mcistring:
url: http://localhost:${server.port}/api/mock/esb/string
shinhan:
integration:
envrTypeCd: D
eai:
url: http://10.176.32.181
internalMci:
url: http://10.176.32.173
bancaMci:
url: http://10.176.32.117
externalMci:
url: http://10.176.32.176

View File

@@ -0,0 +1,45 @@
# Local 환경 전용 설정 (H2 메모리 DB 등)
spring:
config:
activate:
on-profile: local
import:
- classpath:glow/application-glow.yml
- classpath:glow/application-glow-local.yml
datasource:
url: jdbc:p6spy:h2:mem:testdb;DB_CLOSE_DELAY=-1;
driverClassName: com.p6spy.engine.spy.P6SpyDriver
username: sa
password: password
h2:
console:
enabled: true
eims:
http:
url: http://localhost:${server.port}/api/gateway
tcp:
host: 127.0.0.1
port: 8090
timeout: 5000
jsp:
form:
url: http://localhost:${server.port}/mock/jsp-form
json:
url: http://localhost:${server.port}/mock/jsp-json
mci:
url: http://localhost:${server.port}/api/mock/esb/api
mcistring:
url: http://localhost:${server.port}/api/mock/esb/string
mcp:
security:
tenant-domains:
mcp-client-1: CUSTOMER,COMMON
mcp-client-2: ALL
axhub:
gateway:
url: http://localhost:8081
tool:
url: ${AXHUB_TOOL_URL:http://localhost:${server.port}}

View File

@@ -0,0 +1,16 @@
server:
port: ${PORT:8086}
spring:
config:
activate:
on-profile: prod
import:
- classpath:glow/application-glow.yml
- classpath:glow/application-glow-prod.yml
axhub:
gateway:
url: ${AXHUB_GATEWAY_URL}
tool:
url: ${AXHUB_TOOL_URL}

View File

@@ -0,0 +1,16 @@
server:
port: ${PORT:8086}
spring:
config:
activate:
on-profile: test
import:
- classpath:glow/application-glow.yml
- classpath:glow/application-glow-test.yml
axhub:
gateway:
url: ${AXHUB_GATEWAY_URL}
tool:
url: ${AXHUB_TOOL_URL}

View File

@@ -0,0 +1,18 @@
server:
port: 8086
spring:
application:
name: dap-was-sys
profiles:
active: local
logging:
level:
org.apache.kafka: ERROR
mcp:
namespace: ""
manifest:
bundle-id: was-sys
name-prefix: ""
security:
tenant-domains:
TESTER-DEV: ALL

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{36} - %msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/dap-was-sys.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/dap-was-sys-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
<logger name="io.shinhanlife" level="DEBUG" />
</configuration>

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_access_policy\",\"title\":\"접근 정책 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_access_token_status\",\"title\":\"접근 토큰 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_account_list\",\"title\":\"계정 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_account_lock_status\",\"title\":\"계정 잠금 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_account_password_expiry\",\"title\":\"비밀번호 만료일 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_account_profile\",\"title\":\"계정 프로필 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_account_role\",\"title\":\"계정 역할 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_account_status\",\"title\":\"계정 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_approval_authority\",\"title\":\"결재 권한 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_authentication_method\",\"title\":\"인증 수단 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_delegation_status\",\"title\":\"권한 위임 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_deployment_version\",\"title\":\"배포 버전 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_environment_info\",\"title\":\"환경 정보 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_identity_provider_list\",\"title\":\"인증 제공자 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_login_history\",\"title\":\"로그인 이력 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_menu_access\",\"title\":\"메뉴 접근 권한 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_mfa_status\",\"title\":\"다중 인증 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_permission_list\",\"title\":\"권한 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_privilege_change_history\",\"title\":\"권한 변경 이력 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_resource_access\",\"title\":\"자원 접근 권한 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_role_list\",\"title\":\"역할 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_security_event_list\",\"title\":\"보안 이벤트 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_service_health\",\"title\":\"서비스 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_session_list\",\"title\":\"세션 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_session_status\",\"title\":\"세션 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_system_status\",\"title\":\"시스템 상태 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"iam_trusted_device_list\",\"title\":\"신뢰 기기 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\"}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_user_group_list\",\"title\":\"사용자 그룹 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_alert_list\",\"title\":\"알림 목록 조회\",\"notices\":[{\"title\":\"알림 목록 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_change_request_list\",\"title\":\"변경 요청 목록 조회\",\"notices\":[{\"title\":\"변경 요청 목록 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_incident_list\",\"title\":\"장애 목록 조회\",\"notices\":[{\"title\":\"장애 목록 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_maintenance_contact\",\"title\":\"점검 담당자 조회\",\"notices\":[{\"title\":\"점검 담당자 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_maintenance_history\",\"title\":\"점검 이력 조회\",\"notices\":[{\"title\":\"점검 이력 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_maintenance_result\",\"title\":\"점검 결과 조회\",\"notices\":[{\"title\":\"점검 결과 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_maintenance_schedule\",\"title\":\"점검 일정 조회\",\"notices\":[{\"title\":\"점검 일정 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_maintenance_scope\",\"title\":\"점검 범위 조회\",\"notices\":[{\"title\":\"점검 범위 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_maintenance_status\",\"title\":\"점검 진행 상태 조회\",\"notices\":[{\"title\":\"점검 진행 상태 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_notice_category\",\"title\":\"공지 분류 조회\",\"notices\":[{\"title\":\"공지 분류 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_notice_detail\",\"title\":\"공지 상세 조회\",\"notices\":[{\"title\":\"공지 상세 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_notice_list\",\"title\":\"시스템 공지 조회\",\"notices\":[{\"title\":\"시스템 공지 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_notice_recent\",\"title\":\"최신 공지 조회\",\"notices\":[{\"title\":\"최신 시스템 공지\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_notice_search\",\"title\":\"공지 검색 조회\",\"notices\":[{\"title\":\"점검 공지\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_operation_calendar\",\"title\":\"운영 일정 조회\",\"notices\":[{\"title\":\"운영 일정 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_release_history\",\"title\":\"배포 이력 조회\",\"notices\":[{\"title\":\"배포 이력 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_release_notice\",\"title\":\"배포 공지 조회\",\"notices\":[{\"title\":\"배포 공지 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_release_schedule\",\"title\":\"배포 일정 조회\",\"notices\":[{\"title\":\"배포 일정 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_release_scope\",\"title\":\"배포 범위 조회\",\"notices\":[{\"title\":\"배포 범위 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_release_status\",\"title\":\"배포 상태 조회\",\"notices\":[{\"title\":\"배포 상태 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1,4 @@
{
"resultCode": "SUCCESS",
"data": "{\"toolName\":\"pct_release_version\",\"title\":\"배포 버전 조회\",\"notices\":[{\"title\":\"배포 버전 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"
}

View File

@@ -0,0 +1 @@
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_service_request_status\",\"title\":\"서비스 요청 상태 조회\",\"notices\":[{\"title\":\"서비스 요청 상태 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}

View File

@@ -0,0 +1,22 @@
name: iam_access_policy
display_name: 접근 정책 조회
version: 1.0.0
category_key: iam
description:
function: 모의 접근 정책 조회 정보를 조회합니다.
when_to_use: 접근 정책 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 접근 정책 조회 정보를 조회합니다.
example_queries: ["접근 정책 조회 정보를 보여줘", "접근 정책 조회을 확인해줘", "현재 접근 정책 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_access_token_status
display_name: 접근 토큰 상태 조회
version: 1.0.0
category_key: iam
description:
function: 모의 접근 토큰 상태 조회 정보를 조회합니다.
when_to_use: 접근 토큰 상태 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 접근 토큰 상태 조회 정보를 조회합니다.
example_queries: ["접근 토큰 상태 조회 정보를 보여줘", "접근 토큰 상태 조회을 확인해줘", "현재 접근 토큰 상태 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_account_list
display_name: 계정 목록 조회
version: 1.0.0
category_key: iam
description:
function: 모의 계정 목록 조회 정보를 조회합니다.
when_to_use: 계정 목록 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 계정 목록 조회 정보를 조회합니다.
example_queries: ["계정 목록 조회 정보를 보여줘", "계정 목록 조회을 확인해줘", "현재 계정 목록 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_account_lock_status
display_name: 계정 잠금 상태 조회
version: 1.0.0
category_key: iam
description:
function: 모의 계정 잠금 상태 조회 정보를 조회합니다.
when_to_use: 계정 잠금 상태 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 계정 잠금 상태 조회 정보를 조회합니다.
example_queries: ["계정 잠금 상태 조회 정보를 보여줘", "계정 잠금 상태 조회을 확인해줘", "현재 계정 잠금 상태 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_account_password_expiry
display_name: 비밀번호 만료일 조회
version: 1.0.0
category_key: iam
description:
function: 모의 비밀번호 만료일 조회 정보를 조회합니다.
when_to_use: 비밀번호 만료일 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 비밀번호 만료일 조회 정보를 조회합니다.
example_queries: ["비밀번호 만료일 조회 정보를 보여줘", "비밀번호 만료일 조회을 확인해줘", "현재 비밀번호 만료일 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_account_profile
display_name: 계정 프로필 조회
version: 1.0.0
category_key: iam
description:
function: 모의 계정 프로필 조회 정보를 조회합니다.
when_to_use: 계정 프로필 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 계정 프로필 조회 정보를 조회합니다.
example_queries: ["계정 프로필 조회 정보를 보여줘", "계정 프로필 조회을 확인해줘", "현재 계정 프로필 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_account_role
display_name: 계정 역할 조회
version: 1.0.0
category_key: iam
description:
function: 모의 계정 역할 조회 정보를 조회합니다.
when_to_use: 계정 역할 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 계정 역할 조회 정보를 조회합니다.
example_queries: ["계정 역할 조회 정보를 보여줘", "계정 역할 조회을 확인해줘", "현재 계정 역할 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_account_status
display_name: 계정 상태 조회
version: 1.0.0
category_key: iam
description:
function: 모의 계정 상태 조회 정보를 조회합니다.
when_to_use: 계정 상태 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 계정 상태 조회 정보를 조회합니다.
example_queries: ["계정 상태 조회 정보를 보여줘", "계정 상태 조회을 확인해줘", "현재 계정 상태 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_approval_authority
display_name: 결재 권한 조회
version: 1.0.0
category_key: iam
description:
function: 모의 결재 권한 조회 정보를 조회합니다.
when_to_use: 결재 권한 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 결재 권한 조회 정보를 조회합니다.
example_queries: ["결재 권한 조회 정보를 보여줘", "결재 권한 조회을 확인해줘", "현재 결재 권한 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_authentication_method
display_name: 인증 수단 조회
version: 1.0.0
category_key: iam
description:
function: 모의 인증 수단 조회 정보를 조회합니다.
when_to_use: 인증 수단 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 인증 수단 조회 정보를 조회합니다.
example_queries: ["인증 수단 조회 정보를 보여줘", "인증 수단 조회을 확인해줘", "현재 인증 수단 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_delegation_status
display_name: 권한 위임 상태 조회
version: 1.0.0
category_key: iam
description:
function: 모의 권한 위임 상태 조회 정보를 조회합니다.
when_to_use: 권한 위임 상태 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 권한 위임 상태 조회 정보를 조회합니다.
example_queries: ["권한 위임 상태 조회 정보를 보여줘", "권한 위임 상태 조회을 확인해줘", "현재 권한 위임 상태 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,14 @@
name: iam_deployment_version
display_name: 배포 버전 조회
version: 1.0.0
category_key: iam
description: {function: 모의 배포 버전을 조회합니다., when_to_use: 배포 버전 확인이 필요할 때 사용합니다., when_not_to_use: 배포 실행에는 사용하지 않습니다., io_limits: 모의 데이터만 반환합니다.}
display_description: 배포 버전을 조회합니다.
example_queries: ["배포 버전을 보여줘", "현재 버전을 확인해줘", "개발 환경 버전을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}}, additionalProperties: false}
tags: [iam, 배포, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,14 @@
name: iam_environment_info
display_name: 환경 정보 조회
version: 1.0.0
category_key: iam
description: {function: 모의 환경 정보를 조회합니다., when_to_use: 환경 정보 확인이 필요할 때 사용합니다., when_not_to_use: 환경 변경에는 사용하지 않습니다., io_limits: 모의 데이터만 반환합니다.}
display_description: 환경 정보를 조회합니다.
example_queries: ["환경 정보를 보여줘", "개발 환경을 확인해줘", "현재 환경 정보를 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}}, additionalProperties: false}
tags: [iam, 환경, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_identity_provider_list
display_name: 인증 제공자 목록 조회
version: 1.0.0
category_key: iam
description:
function: 모의 인증 제공자 목록 조회 정보를 조회합니다.
when_to_use: 인증 제공자 목록 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 인증 제공자 목록 조회 정보를 조회합니다.
example_queries: ["인증 제공자 목록 조회 정보를 보여줘", "인증 제공자 목록 조회을 확인해줘", "현재 인증 제공자 목록 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_login_history
display_name: 로그인 이력 조회
version: 1.0.0
category_key: iam
description:
function: 모의 로그인 이력 조회 정보를 조회합니다.
when_to_use: 로그인 이력 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 로그인 이력 조회 정보를 조회합니다.
example_queries: ["로그인 이력 조회 정보를 보여줘", "로그인 이력 조회을 확인해줘", "현재 로그인 이력 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_menu_access
display_name: 메뉴 접근 권한 조회
version: 1.0.0
category_key: iam
description:
function: 모의 메뉴 접근 권한 조회 정보를 조회합니다.
when_to_use: 메뉴 접근 권한 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 메뉴 접근 권한 조회 정보를 조회합니다.
example_queries: ["메뉴 접근 권한 조회 정보를 보여줘", "메뉴 접근 권한 조회을 확인해줘", "현재 메뉴 접근 권한 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_mfa_status
display_name: 다중 인증 상태 조회
version: 1.0.0
category_key: iam
description:
function: 모의 다중 인증 상태 조회 정보를 조회합니다.
when_to_use: 다중 인증 상태 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 다중 인증 상태 조회 정보를 조회합니다.
example_queries: ["다중 인증 상태 조회 정보를 보여줘", "다중 인증 상태 조회을 확인해줘", "현재 다중 인증 상태 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_permission_list
display_name: 권한 목록 조회
version: 1.0.0
category_key: iam
description:
function: 모의 권한 목록 조회 정보를 조회합니다.
when_to_use: 권한 목록 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 권한 목록 조회 정보를 조회합니다.
example_queries: ["권한 목록 조회 정보를 보여줘", "권한 목록 조회을 확인해줘", "현재 권한 목록 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_privilege_change_history
display_name: 권한 변경 이력 조회
version: 1.0.0
category_key: iam
description:
function: 모의 권한 변경 이력 조회 정보를 조회합니다.
when_to_use: 권한 변경 이력 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 권한 변경 이력 조회 정보를 조회합니다.
example_queries: ["권한 변경 이력 조회 정보를 보여줘", "권한 변경 이력 조회을 확인해줘", "현재 권한 변경 이력 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_resource_access
display_name: 자원 접근 권한 조회
version: 1.0.0
category_key: iam
description:
function: 모의 자원 접근 권한 조회 정보를 조회합니다.
when_to_use: 자원 접근 권한 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 자원 접근 권한 조회 정보를 조회합니다.
example_queries: ["자원 접근 권한 조회 정보를 보여줘", "자원 접근 권한 조회을 확인해줘", "현재 자원 접근 권한 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_role_list
display_name: 역할 목록 조회
version: 1.0.0
category_key: iam
description:
function: 모의 역할 목록 조회 정보를 조회합니다.
when_to_use: 역할 목록 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 역할 목록 조회 정보를 조회합니다.
example_queries: ["역할 목록 조회 정보를 보여줘", "역할 목록 조회을 확인해줘", "현재 역할 목록 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,22 @@
name: iam_security_event_list
display_name: 보안 이벤트 목록 조회
version: 1.0.0
category_key: iam
description:
function: 모의 보안 이벤트 목록 조회 정보를 조회합니다.
when_to_use: 보안 이벤트 목록 조회 확인이 필요할 때 사용합니다.
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
display_description: 보안 이벤트 목록 조회 정보를 조회합니다.
example_queries: ["보안 이벤트 목록 조회 정보를 보여줘", "보안 이벤트 목록 조회을 확인해줘", "현재 보안 이벤트 목록 조회을 알려줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건, pattern: "^[a-zA-Z0-9_-]{2,20}$"}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -0,0 +1,14 @@
name: iam_service_health
display_name: 서비스 상태 조회
version: 1.0.0
category_key: iam
description: {function: 모의 서비스 상태를 조회합니다., when_to_use: 서비스 상태 확인이 필요할 때 사용합니다., when_not_to_use: 서비스 변경에는 사용하지 않습니다., io_limits: 모의 데이터만 반환합니다.}
display_description: 서비스 상태를 조회합니다.
example_queries: ["서비스 상태를 보여줘", "서비스가 정상인가요?", "개발 서비스 상태를 확인해줘"]
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: "^[a-zA-Z0-9_-]{2,20}$"}}, additionalProperties: false}
tags: [iam, 서비스, mock]
required_env_keys: []
owner_org: MCP_TOOL

Some files were not shown because too many files have changed in this diff Show More