io.github.EricSeokgon/egovframe-scaffold-mcp
NPM · EGOVFRAME-SCAFFOLD-MCP
eGovFrame (전자정부 표준프레임워크) projects: templates, components, CRUD, build, 5.x migration, dependencies
Available components
Last scanned (1 hour ago)
Scores higher than 65% of npm servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 35 of 100 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to EricSeokgon/egovframe-scaffold-mcp). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
- 91% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 11228 tokens (~273/item across 41 items; 34 tools + 7 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (38% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 35 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Oct 26 +26
- Malware scan: unverified → pass ▲ security
- Known CVEs: unverified → pass ▲ security
- Dependency health: unverified → 0.84 ▲ functional
- 17 Oct 26 −25
- Known CVEs: pass → unverified ▼ security
- Malware scan: pass → unverified ▼ security
- Dependency health: 0.84 → unverified ▼ functional
- Package version: 0.47.0 → 1.0.2 functional
- Package version: 0.47.0 → 1.0.1 functional
- Package version: 0.47.0 → 1.0.0 functional
- 16 Oct 26 0
- Package version: 0.46.0 → 0.47.0 functional
- 15 Oct 26 0
- Tool safety: pass → unverified ▼ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Capabilities: pass → unverified ▼ functional
- Schema quality: 91 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Stability: unverified → 0.03 ▲ functional
- Package version: 0.45.0 → 0.46.0 functional
- 14 Oct 26 +31
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 91 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Destructive annotations: 100 functional
- First check of Schema quality: good functional
- First check of Tool coverage: 100 functional
- First check of Tool coverage: 38 functional
- Package version: 0.44.0 → 0.45.0 functional
- 13 Oct 26 0
- Package version: 0.43.0 → 0.44.0 functional
- 12 Oct 26 0
- Package version: 0.38.0 → 0.43.0 functional
- 7 Oct 26 49
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Analysed npm/egovframe-scaffold-mcp@1.0.2
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | EricSeokgon/egovframe-scaffold-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/EricSeokgon/egovframe-scaffold-mcp/.github/workflows/release.yml@refs/heads/main |
| Rekor log index | 3293109086 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:10a28150b1a8498e437e153a934ec2146a31cb4df6fbcd51e513d31f5749df4eaa42c7c9a4327354ed2b0aeec182eab6639cb0bbe39d0bd550a0bb780 |
Background: How many MCP packages publish verified provenance →
Dependencies 100 packages
| Packages resolved | 100 |
|---|---|
| Stale | 35 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_ai_components AI 계층 조립 ~309
공식 egovframe-ai-rag 샘플 기반 AI RAG 챗봇(문서 업로드→임베딩→하이브리드 검색→LLM 응답)을 기존 Boot 프로젝트에 조립합니다. 소스·설정(application-ai.yml 프로필)·UI·인프라를 복사하고 pom에 누락 의존성만 마커 구간으로 삽입합니다(백업 생성, 제거 시 원복). 기존 파일과 충돌하면 아무것도 쓰지 않고 거부합니다. dryRun=true로 먼저 미리볼 수 있습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true면 복사·병합 없이 계획만 미리보기(네트워크 불필요) |
| includeInfra | boolean | – | docker-compose.ai.yml·Dockerfile.ai·k8s/ai 복사 |
| includeTests | boolean | – | 샘플 테스트 복사 |
| includeUi | boolean | – | 채팅 UI(chat.html·static) 복사 |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장). egovframe-boot-starter-parent 기반 Boot 프로젝트 |
| ref | string | – | egovframe-ai-rag 브랜치/태그 (기본: 카탈로그 기준 브랜치) |
| stack | string | yes | AI 스택: spring-ai(Redis Stack) | langchain4j(PGVector). 상호 배타 |
No output schema declared.
No examples provided.
add_egovframe_components 공통컴포넌트 조립 ~235
공통컴포넌트를 골라 기존 프로젝트에 조립합니다. 의존 컴포넌트를 포함해 소스·매퍼·JSP를 복사하고, database 지정 시 DB DDL·DML 스크립트도 복사합니다. 기존 파일과 충돌하면 아무것도 쓰지 않고 거부합니다. dryRun=true로 먼저 미리볼 수 있습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | yes | 컴포넌트 id 목록. 예: ["bbs", "login"] |
| database | string | – | DB 스크립트 복사 대상 DB (altibase|cubrid|goldilocks|maria|mysql|oracle|postgres|tibero) |
| dryRun | boolean | – | true면 복사 없이 설치 순서·규모만 미리보기(네트워크 불필요) |
| includeDependencies | boolean | – | 의존 컴포넌트 자동 포함 여부 |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장). 먼저 create_egovframe_project로 생성 |
No output schema declared.
No examples provided.
apply_egovframe_recipe 레시피 적용 ~184
레시피 하나를 골라 프로젝트 생성 → 공통컴포넌트(필요 시 AI 계층) 조립까지 순차 실행합니다. dryRun=true로 전체 계획을 먼저 미리볼 수 있습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| database | string | – | DB 스크립트 대상(미지정 시 레시피 기본값) |
| dryRun | boolean | – | true면 디스크 변경 없이 전체 계획만 미리보기 |
| groupId | string | – | 자바 groupId |
| outputDir | string | yes | 생성할 상위 디렉터리(절대경로 권장) |
| projectName | string | yes | 프로젝트명(artifactId). 소문자·숫자·하이픈 |
| recipeId | string | yes | list_egovframe_recipes의 id. 예: board-login |
No output schema declared.
No examples provided.
build_egovframe_project 프로젝트 빌드 ~260
생성한 eGovFrame 프로젝트를 실제로 빌드(컴파일·테스트·패키지)하고 결과를 구조화해 반환합니다. 빌드도구(maven/gradle)와 래퍼(mvnw/gradlew)를 자동 감지하고, 컴파일·테스트 오류를 파일·라인 단위로 파싱합니다. dryRun으로 실행 예정 명령만 미리볼 수 있습니다. (생성→검증 루프 완성)
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true면 실행 없이 감지된 빌드도구·명령만 반환 |
| goal | string | – | 빌드 작업: compile(컴파일만), test(테스트까지), package(패키징, 테스트 생략). 기본 compile |
| maxLogLines | integer | – | 반환 로그의 최대 줄 수(마지막 N줄). 기본 200줄 |
| projectDir | string | yes | 빌드할 프로젝트 루트 디렉터리(pom.xml 또는 build.gradle 위치, 절대경로 권장) |
| timeoutSeconds | integer | – | 빌드 타임아웃(초). 초과 시 중단. 기본 300초 |
No output schema declared.
No examples provided.
check_egovframe_dependencies 의존성 점검 ~517
프로젝트의 Maven/Gradle 의존성(resolve=true 면 빌드 도구로 해석한 전이 의존성까지, 트리 경로와 선언·해석 버전 차이 포함)을 공식 5.x parent(egovframe-web-config-parent·egovframe-boot-starter-parent)가 관리하는 기준 버전, Spring Boot BOM 전체(spring-boot-dependencies + import 한 단계), RTE 모듈 18종의 전이 의존성과 대조해 기준 충족/기준 미만/parent 관리/전환 대상(3.x·4.x RTE, javax 좌표)/교체 필요(DBCP 1.x·Log4j 1.x·Jackson 1·Ehcache 2 등)/벤더 배포(국내 DBMS·GPKI 등)/기준 없음 으로 분류하고 항목마다 기준 출처(parent 직접·계열·Boot BOM·RTE 전이)를 적으며, 5.x parent 사용 여부와 Java 버전, 보안 설정 존재 여부(sec.security 컴포넌트·CSRF·XSS 필터·보안 헤더·HTTPS 저장소)를 파일·라인 근거와 함께 보고합니다. 기본은 오프라인(동봉 기준 catalog/dependency-baseline.json)이며 offline=false 일 때만 OSV(api.osv.dev)로 알려진 취약점을 조회합니다. 디스크를 변경하지 않습니다. 멀티 모듈 작업공간이면 모듈별로 판정하고(모듈 parent·Gradle 버전 변수·공식 parent BOM) 모듈 요약을 함께 냅니다.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | 출력 형식 |
| offline | boolean | – | true(기본)면 네트워크 없이 기준 대조만, false 면 OSV 취약점 조회 추가 |
| projectDir | string | yes | 점검할 프로젝트 디렉터리(절대경로 권장) |
| resolve | boolean | – | true 면 빌드 도구(Maven dependency:tree / Gradle dependencies)로 전이 의존성까지 해석해 함께 판정(빌드 도구·저장소 접근 필요, 수십 초) |
| resolveScope | string | – | resolve 범위: runtime(compile+runtime, 기본) | all(test·provided 포함) |
| resolveTimeoutMs | integer | – | 해석 명령 타임아웃(ms) |
| Name | Type | Req | Description |
|---|---|---|---|
| baseline | object | yes | – |
| buildSystem | string | yes | – |
| checks | array | yes | – |
| findings | array | yes | – |
| java | object | yes | – |
| notes | array | yes | – |
| offline | boolean | yes | – |
| osvError | string | – | – |
| parent | object | yes | – |
| projectDir | string | yes | – |
| resolution | object | – | – |
| summary | object | yes | – |
| vulnerabilities | array | – | – |
| workspace | object | – | – |
No examples provided.
check_egovframe_sbom SBOM 점검 (최소 요소·비교·VEX) ~479
이미 만든 CycloneDX 또는 SPDX 2.x JSON SBOM 을 제출물로서 점검합니다(SBOM 파일은 바꾸지 않음, 형식은 자동 판별). (1) 최소 요소 7종 — 공급자·구성요소명·버전·고유식별자(purl/cpe)·의존관계·작성자·생성 시각(NTIA 최소 요소 = 국내 SW 공급망 보안 가이드라인 핵심 구성요소)을 component 마다 세어 '제출 가능/보완 필요'와 빠진 component 를 보고 (2) 빌드 도구 없이 purl 만으로 기준 판정을 다시 해 생성 당시와 달라진 판정을, offline=false 면 OSV 를 다시 조회해 생성 이후 새로 알려진 취약점을 보고(운영 중 주기 점검) (3) baselinePath(이전 SBOM)를 주면 추가·제거·버전 변경·판정 변화·새 취약점을 비교 (4) vex=true 면(CycloneDX 입력만) CycloneDX VEX 초안(기본 sbom/vex.cdx.json)을 씁니다 — 새 취약점은 analysis.state=in_triage, affects 는 BOM-Link 로 원본 SBOM 참조, 기존 VEX 에 사람이 적은 판단(not_affected·exploitable 등)은 보존하고 새 취약점만 추가합니다(dryRun=true 면 미리보기). 2027년 공공 SBOM 제출 제도화 대비.
| Name | Type | Req | Description |
|---|---|---|---|
| baselinePath | string | – | 비교할 이전 SBOM(프로젝트 상대 경로) |
| dryRun | boolean | – | vex=true 일 때 쓰지 않고 미리보기 |
| format | string | – | 응답 형식 |
| offline | boolean | – | false 면 OSV 재조회로 생성 이후 새 취약점 확인 |
| projectDir | string | yes | 프로젝트 디렉터리(절대경로 권장) |
| sbomPath | string | – | 점검할 SBOM(프로젝트 상대 경로) |
| vex | boolean | – | true 면 VEX 초안 작성·갱신(판단 보존) |
| vexPath | string | – | VEX 파일(프로젝트 상대 경로) |
| Name | Type | Req | Description |
|---|---|---|---|
| absolutePath | string | yes | – |
| diff | object | – | – |
| document | object | yes | – |
| minimum | object | yes | – |
| notes | array | yes | – |
| projectDir | string | yes | – |
| recheck | object | yes | – |
| sbomPath | string | yes | – |
| vex | object | – | – |
No examples provided.
check_egovframe_secure_coding 보안약점 점검 (개발보안 가이드) ~645
행정안전부·KISA 「소프트웨어 개발보안 가이드」(2021) 구현단계 보안약점 중 정적 패턴으로 오탐을 통제할 수 있는 항목을 소스에서 찾습니다 — SQL 삽입(MyBatis ${…}·iBATIS $…$·JDBC 문자열 연결), 크로스사이트 스크립트(요청 값·EL param/header/cookie 무이스케이프 출력, <c:out escapeXml="false">), 경로 조작, 신뢰되지 않는 URL 자동접속, 운영체제 명령어, XML 외부개체, 취약한 해시·암호, 보안 문맥의 부적절한 난수, 코드·설정의 하드코드된 중요정보, HttpOnly·Secure 없는 쿠키, printStackTrace, 빈 catch, 역직렬화, 남은 디버그 출력. 규칙은 catalog/secure-coding-rules.json 데이터이고 주석은 무시합니다. 항목마다 파일·라인·CWE·등급·조치와 출처(공통컴포넌트 원본·수정본·매니페스트 없음·프로젝트 코드·테스트)를 냅니다. 예외는 .egovframe-secure-ignore.json(사유·검토자 필수), baselinePath(이전 JSON 결과·SARIF)와 비교해 새 항목 표시, format=sarif 또는 sarifPath 로 SARIF 2.1.0(GitHub code scanning 등). 패턴 기반 진단 보조이며 공인 진단을 대체하지 않습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| baselinePath | string | – | 이전 결과(format=json 출력 또는 SARIF, 프로젝트 상대 경로) — 새로 생긴 항목만 표시 |
| format | string | – | 응답 형식(sarif 는 SARIF 2.1.0 JSON 본문) |
| includeTests | boolean | – | src/test 도 점검(등급은 낮음으로) |
| maxFindings | integer | – | 응답에 담을 최대 항목 수(SARIF 파일에는 전부) |
| overwrite | boolean | – | sarifPath 가 있으면 덮어쓰기 |
| paths | array | – | 프로젝트 상대 경로 접두어로 좁히기(예: src/main/java/egovframework/example) |
| projectDir | string | yes | 프로젝트 디렉터리(절대경로 권장) — 읽기만 함 |
| rules | array | – | 점검할 규칙 id(기본 전체) |
| sarifPath | string | – | SARIF 2.1.0 을 쓸 프로젝트 상대 경로(예: egovframe-secure.sarif) |
| top | integer | – | [deprecated 1.0.0 — topN 을 쓰세요, 2.0.0 에서 제거] Markdown 상세 항목 수 |
| topN | integer | – | Markdown 상세 항목 수(기본 40) |
| Name | Type | Req | Description |
|---|---|---|---|
| baseline | object | – | – |
| byModule | array | – | – |
| byOrigin | object | yes | – |
| byRule | array | yes | – |
| byTarget | object | yes | – |
| disclaimer | string | yes | – |
| filesScanned | integer | yes | – |
| findings | array | yes | – |
| notes | array | yes | – |
| projectDir | string | yes | – |
| rulesVersion | object | yes | – |
| sarif | object | – | – |
| summary | object | yes | – |
| suppressions | object | yes | – |
| truncated | boolean | yes | – |
No examples provided.
create_egovframe_project 프로젝트 생성 ~369
전자정부 표준프레임워크 공식 템플릿으로 새 프로젝트 골격을 생성합니다. 공식 GitHub 템플릿을 내려받아 projectName/groupId/DB 타입을 적용합니다. dryRun=true로 먼저 미리보기할 수 있습니다. alignParent=true 면 생성 직후 5.x parent·RTE 버전을 최신 5.0.x 로 맞춥니다(공식 Initializr 템플릿은 parent 5.0.0·5.0.1).
| Name | Type | Req | Description |
|---|---|---|---|
| alignParent | boolean | – | true면 생성 직후 pom 의 5.x parent·RTE 버전을 최신 5.0.x(공식 parent 기준)로 맞춤. 기본 false = 공식 템플릿 그대로(Initializr 템플릿은 parent 5.0.0·5.0.1) |
| database | string | – | DB 타입 (템플릿 지원: hsql|mysql|oracle|altibase|tibero) |
| dryRun | boolean | – | true면 디스크에 쓰지 않고 생성 예정 내용만 미리보기 |
| groupId | string | yes | 자바 groupId. 예: egovframework.example |
| outputDir | string | yes | 프로젝트를 생성할 상위 디렉터리(절대경로 권장) |
| projectName | string | yes | 프로젝트명(artifactId). 소문자·숫자·하이픈, 예: my-egov-app |
| ref | string | – | 내려받을 브랜치/태그(미지정 시 템플릿 기본 브랜치). 예: main, v4.3.0 |
| template | string | – | 템플릿 종류 |
No output schema declared.
No examples provided.
diagnose_egovframe_network 네트워크 진단 ~237
이 서버의 도구들이 내려받는 외부 호스트(codeload.github.com·raw.githubusercontent.com·media.githubusercontent.com·maven.egovframe.go.kr·repo1.maven.org·registry.npmjs.org·api.osv.dev)에 DNS 조회와 HEAD 요청을 실제로 보내 접속 가능 여부·소요 시간·실패 종류(DNS·타임아웃·TLS·프록시 인증·거부)를 보고하고, 환경에 맞는 처방(HTTPS_PROXY+NODE_USE_ENV_PROXY=1, NODE_OPTIONS=--dns-result-order=ipv4first, NODE_EXTRA_CA_CERTS)을 bash/cmd/PowerShell 명령으로 안내합니다. 프로젝트 생성·컴포넌트 조립이 타임아웃으로 실패할 때 먼저 실행하세요. 파일을 쓰지 않으며 프로젝트 디렉터리도 필요 없습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | 출력 형식 |
| hosts | array | – | 점검할 호스트(기본: 전부) |
| timeoutMs | integer | – | 호스트당 제한 시간(ms, 기본 10000) |
| Name | Type | Req | Description |
|---|---|---|---|
| env | object | yes | – |
| envProxySupported | boolean | yes | – |
| hosts | array | yes | – |
| node | string | yes | – |
| notes | array | yes | – |
| platform | string | yes | – |
| prescriptions | array | yes | – |
| summary | object | yes | – |
No examples provided.
diagnose_egovframe_project 프로젝트 진단 ~118
기존(스캐폴딩 도구로 만들지 않은 것 포함) 전자정부 표준프레임워크 프로젝트를 스캔해 빌드시스템·RTE 버전·DbType·설치된 공통컴포넌트(카탈로그 pathPrefixes 지문)·설정 문제를 진단합니다. 디스크를 변경하지 않는 읽기 전용입니다.
| Name | Type | Req | Description |
|---|---|---|---|
| projectDir | string | yes | 진단할 프로젝트 디렉터리(절대경로 권장) |
| Name | Type | Req | Description |
|---|---|---|---|
| aiLayer | boolean | yes | – |
| buildSystem | string | yes | – |
| database | string|null | yes | – |
| detectedComponents | array | yes | – |
| egovVersion | string|null | yes | – |
| hasManifest | boolean | yes | – |
| isEgovProject | boolean | yes | – |
| issues | array | yes | – |
| projectDir | string | yes | – |
| suggestions | array | yes | – |
No examples provided.
explain_egovframe_component 컴포넌트 상세 ~97
공통컴포넌트 하나의 상세(설명·직접/전이 의존성·이 컴포넌트에 의존하는 컴포넌트·참조 테이블·가이드 문서 링크·설치 명령)를 한 번에 반환합니다. (읽기 전용)
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | 컴포넌트 id. 예: bbs |
No output schema declared.
No examples provided.
generate_agents_md AGENTS.md 생성 ~263
프로젝트를 진단해 AI 코딩 도구(Claude Code·Copilot·Cursor 등)용 AGENTS.md 를 생성합니다 — 빌드·테스트 명령(래퍼 감지), RTE 버전과 5.x 전환 상태, DbType, 기본 패키지·설정 디렉터리, 설치 공통컴포넌트(매니페스트 관리 여부), 지켜야 할 규칙(좌표·백업 디렉터리·비밀 정보·의존성 기준), 사용할 수 있는 MCP 도구. 기존 파일은 overwrite=true 가 아니면 거부하고, dryRun=true 면 내용만 돌려줍니다. 한국어(기본)·영어.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true 면 파일을 쓰지 않고 내용만 반환 |
| fileName | string | – | 파일명(프로젝트 루트 기준, 기본 AGENTS.md — CLAUDE.md 등으로 바꿀 수 있음) |
| lang | string | – | 문서 언어 |
| overwrite | boolean | – | 기존 파일 덮어쓰기(transaction, 실패 시 원복) |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장) |
No output schema declared.
No examples provided.
generate_egovframe_ci CI 워크플로 생성 ~598
프로젝트에 CI 설정을 생성합니다 — platform=github(.github/workflows/egovframe-ci.yml, 기본)·gitlab(.gitlab-ci.yml)·jenkins(Jenkinsfile, Declarative). 빌드도구(maven/gradle) 자동 감지, JDK 지정, 빌드·테스트(GitLab 은 JUnit 리포트). supplyChain=true 면 이 서버의 CLI(npx egovframe-scaffold-mcp)로 SBOM 생성 → 최소 요소 7종 점검(sbom-check --fail-on minimum) → 전환 준비도 평가서(failOn 기준, 기본 supplyChain:D)를 돌려 기준을 넘으면 실패하고 보고서·SBOM 을 아티팩트로 남기는 공급망 게이트를 추가합니다(GitHub 은 PR 요약에 등급, GitLab 은 CycloneDX 리포트). npmRegistry(사내 npm 레지스트리)·offlineBundle(러너에서 본 오프라인 번들 경로)은 환경 변수로 넣습니다. dryRun으로 내용만 미리볼 수 있고, 실제 생성 시 기존 파일이 있으면 덮어쓰지 않고 거부합니다.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true면 파일 생성 없이 내용만 반환 |
| failOn | string | – | 공급망 게이트(평가서)의 --fail-on 식 |
| jdk | string | – | JDK 버전 (기본 17, 숫자·점만 허용) |
| npmRegistry | string | – | 사내 npm 레지스트리 URL(NPM_CONFIG_REGISTRY 로 설정 — npx 가 이 서버를 받는 곳) |
| offlineBundle | string | – | 폐쇄망 러너·에이전트에서 본 오프라인 번들 경로(EGOVFRAME_OFFLINE_BUNDLE 로 설정) |
| osv | boolean | – | 공급망 게이트에서 OSV 취약점 조회(--offline=false) |
| platform | string | – | CI 플랫폼: github(GitHub Actions, 기본) | gitlab(.gitlab-ci.yml) | jenkins(Jenkinsfile, Declarative) |
| projectDir | string | yes | 프로젝트 디렉터리(절대경로 권장) |
| secureCoding | boolean | – | v0.44: 게이트에 보안약점 점검 단계 추가(secure --fail-on high, SARIF 를 GitHub code scanning 에 업로드·GitLab·Jenkins 는 보관) |
| supplier | string | – | SBOM 공급자(pom <organization><name> 이 없으면 최소 요소 '공급자'가 빠져 게이트가 실패하므로 지정) |
| supplyChain | boolean | – | true 면 공급망 게이트 추가: SBOM 생성 → 최소 요소 점검(--fail-on minimum) → 전환 준비도 평가서(failOn) → 아티팩트 |
No output schema declared.
No examples provided.
generate_egovframe_config Spring 설정 파일 생성 ~455
공식 eGovFrame Initializr 설정 템플릿(21종, 오프라인 동봉)으로 Spring 설정 파일을 생성합니다 — datasource(DBCP/C3P0/JDBC·JNDI), transaction(datasource/JPA/JTA), cache(Ehcache), logging(log4j2 console/file/rolling/time-rolling/jdbc), scheduling(Quartz job/trigger/scheduler), idGeneration(sequence/table/uuid), property. 형식은 xml(Spring XML)·javaConfig(@Configuration 클래스)·yaml·properties(logging 만). 필드를 생략하면 Initializr 웹뷰 폼과 같은 기본값을 쓰고, 기존 파일이 있으면 덮어쓰지 않고 거부합니다. 템플릿별 필드·기본값·선택지는 리소스 egovframe://catalog/config-templates 에서 확인하거나 dryRun 결과의 context 로 볼 수 있습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | 설정 템플릿 id (예: datasource, transaction-datasource, logging-rolling-file, scheduling-cron-trigger) |
| dryRun | boolean | – | true면 파일을 쓰지 않고 내용·경로·컨텍스트만 반환 |
| fields | object | – | 템플릿 변수 덮어쓰기 (예: { txtDatasourceName: 'dataSource', rdoType: 'DBCP', txtUrl: 'jdbc:mysql://…', txtConfigPackage: 'kr.go.sample.config' }). 템플릿에 없는 필드는 거부 |
| fileName | string | – | 파일명(확장자 제외) 또는 JavaConfig 클래스명. 미지정 시 Initializr 기본값(예: context-datasource, EgovDataSourceConfig) |
| format | string | – | xml | javaConfig | yaml | properties (yaml·properties 는 logging 계열만) |
| outputDir | string | – | 프로젝트 상대 출력 디렉터리. 미지정 시 xml→src/main/resources/egovframework/spring(logging 은 src/main/resources), javaConfig→src/main/java/<패키지> |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장) |
No output schema declared.
No examples provided.
generate_egovframe_crud CRUD 코드 생성 ~445
eGovFrame Development의 공식 CRUD wizard 입력 체계에 맞춰 VO·Mapper(XML)·Service·Controller·JSP(선택)·JUnit 5 테스트(선택) 골격을 생성합니다. Classic XML과 Boot REST 프로필을 지원하며, 전체 파일 충돌을 먼저 검사해 하나라도 존재하면 아무것도 쓰지 않습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | 공식 wizard의 author |
| basePackage | string | yes | 기본 자바 패키지. 예: egovframework.example.board |
| checkDataAccess | boolean | – | 공식 wizard DataAccess 그룹 생성 여부 |
| checkService | boolean | – | 공식 wizard Service 그룹 생성 여부 |
| checkWeb | boolean | – | 공식 wizard Web 그룹 생성 여부 |
| controllerPackage | string | – | Controller 패키지 |
| createDate | string | – | 공식 wizard의 createDate. 미지정 시 오늘 날짜 |
| dryRun | boolean | – | true면 파일을 쓰지 않고 생성 계획만 반환 |
| entityName | string | – | 생성 클래스명. 미지정 시 tableName에서 PascalCase로 생성 |
| fields | array | yes | 테이블 컬럼 정의 |
| implPackage | string | – | ServiceImpl 패키지 |
| includeJsp | boolean | – | classic 프로필의 JSP 2종 생성 여부(기본 true) |
| jspFolder | string | – | 프로젝트 기준 JSP 폴더 |
| mapperFolder | string | – | 프로젝트 기준 Mapper XML 폴더 |
| mapperPackage | string | – | Mapper 인터페이스 패키지 |
| profile | string | – | classic=Spring MVC+JSP, boot=REST Controller |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장, pom.xml 또는 build.gradle 필요) |
| servicePackage | string | – | Service 패키지 |
| tableName | string | yes | CRUD 대상 테이블명. 단일 SQL 식별자, 예: SAMPLE_BOARD |
| voPackage | string | – | VO 패키지 |
| withTest | boolean | – | JUnit 5 서비스 계약 테스트 골격 생성 |
No output schema declared.
No examples provided.
generate_egovframe_deploy 컨테이너·배포 산출물 생성 ~795
프로젝트 진단(빌드 도구·패키징·Boot 여부·웹·actuator·DbType·설정 파일)으로 컨테이너·배포 산출물을 만듭니다 — Dockerfile(멀티 스테이지: Maven/Gradle 빌드 → Classic war 는 Tomcat 10.1(Servlet 6.1 이상이면 11.0)에 ROOT 로 풀어서, Boot jar 는 eclipse-temurin JRE 로; 비루트·HEALTHCHECK·Asia/Seoul·UTF-8, buildInImage=false 면 미리 빌드한 산출물), .dockerignore, deploy/docker-compose.yml(앱 + DbType 별 DB 컨테이너 mysql·mariadb·postgres, 템플릿 DDL·DATA 초기화, 상용 DB 는 연결 정보만), Kubernetes 매니페스트(deploy/k8s/<app>.yaml — Deployment(startup·readiness·liveness 프로브, 비루트 securityContext, 리소스)·Service·ConfigMap·Secret·선택 Ingress). DB 설정은 Boot 는 Spring 환경 변수(Globals.mysql.Url → GLOBALS_MYSQL_URL), Classic 은 globals.properties 사본을 볼륨·Secret 으로 덮어씁니다. imageRegistry 로 기반 이미지를 사내 레지스트리(폐쇄망)에서 받습니다. 새 파일만 쓰고(기존 파일 거부) dryRun(기본)은 내용만 보여 줍니다. 멀티 모듈·라이브러리 jar·빌드 파일 없는 프로젝트는 이유를 돌려줍니다. 멀티 모듈 작업공간(Maven <modules>·Gradle include·루트 빌드 파일 없는 독립 프로젝트 묶음)이면 서비스 모듈마다 이미지(자체 Dockerfile 은 그대로)와 하나의 docker-compose·서비스별 Kubernetes 매니페스트를 만들고, 설정의 localhost 참조(설정 서버·디스커버리·DB·메시지 브로커·캐시)를 서비스 이름으로 바꿉니다(모듈 설정은 환경 변수, 설정 서버 저장소는 사본). modules 로 일부 서비스만 고릅니다.
| Name | Type | Req | Description |
|---|---|---|---|
| appName | string | – | 앱 이름(기본 artifactId) |
| buildInImage | boolean | – | true: 이미지 안에서 빌드(멀티 스테이지) · false: 미리 빌드한 target/*.war·jar 를 담음(폐쇄망에서 컨테이너 안 Maven 접근이 어려울 때) |
| dockerfilePath | string | – | Dockerfile 경로(프로젝트 상대) — 템플릿에 이미 Dockerfile 이 있으면 deploy/Dockerfile 등 |
| dryRun | boolean | – | true(기본)면 쓰지 않고 내용만 |
| format | string | – | 응답 형식 |
| image | string | – | 앱 이미지 이름(기본 <appName>:<version>) |
| imageRegistry | string | – | 기반 이미지 레지스트리(폐쇄망 사내 레지스트리·프록시 캐시) — Dockerfile ARG BASE_REGISTRY 기본값 |
| ingressHost | string | – | Kubernetes Ingress 호스트(주면 Ingress 추가) |
| jdk | string | – | JDK(빌드·실행 이미지) |
| modules | array | – | 멀티 모듈 작업공간에서 일부 서비스만(모듈 이름·경로). 그 서비스가 먼저 띄워야 하는 서비스·인프라는 함께 들어감 |
| projectDir | string | yes | 프로젝트 디렉터리(절대경로 권장) |
| targets | array | – | 만들 산출물(compose 는 Dockerfile 도 함께) |
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | yes | – |
| files | array | yes | – |
| notes | array | yes | – |
| profile | object | – | – |
| projectDir | string | yes | – |
| supported | boolean | yes | – |
| unsupported | object | – | – |
| usage | array | yes | – |
| workspace | object | – | – |
| written | boolean | yes | – |
No examples provided.
generate_egovframe_report 프로젝트 리포트 · 전환 준비도 평가서 ~589
프로젝트 리포트를 Markdown(또는 format=json)으로 만듭니다. sections=["components"](기본)는 설치 공통컴포넌트·참조 테이블·가이드 문서 링크·이슈, sections=["assessment"]는 5.x 전환 준비도 평가서 — (1) 개요(빌드 도구·RTE 세대·parent·Java·공통컴포넌트) (2) 전환 범위(migrate 진단 요약: 자동/수동·종류별·재조립 권고·예상 수동 작업 상위 N) (3) 의존성(기준 판정 집계·조치 목록, resolve=true 면 전이 포함, offline=false 면 OSV 취약점) (4) 보안 설정 점검 (5) SBOM 요약(sbomPath 에 있으면) (6) 등급과 근거 — 전환 난이도·공급망 상태를 각각 A–D 로 매기고 산식(요인·구간·점수)을 리포트에 그대로 적어 사람이 재계산할 수 있게 합니다. 비용·공수는 산정하지 않습니다. outputPath 를 주면 프로젝트 안에 새 파일로만 저장하고(기존 파일 거부, transaction), 그 외에는 디스크를 바꾸지 않습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true 면 outputPath 가 있어도 쓰지 않고 내용만 |
| format | string | – | 출력 형식(json 은 assessment 데이터 포함) |
| offline | boolean | – | assessment: true(기본)면 네트워크 없이, false 면 OSV 로 알려진 취약점 조회(공급망 등급 확정에 필요) |
| outputPath | string | – | 프로젝트 상대 .md 경로. 주면 새 파일로 저장(기존 파일이 있으면 거부) |
| projectDir | string | yes | 리포트를 만들 프로젝트 디렉터리(절대경로 권장) |
| resolve | boolean | – | assessment: 빌드 도구로 전이 의존성까지 해석해 판정(빌드 도구·저장소 접근 필요) |
| resolveScope | string | – | resolve 범위 |
| resolveTimeoutMs | integer | – | 해석 명령 타임아웃(ms) |
| sbomPath | string | – | assessment: 요약할 SBOM 의 프로젝트 상대 경로(없으면 '없음'으로 표시, 생성하지 않음) |
| sections | array | – | 포함할 절: components(설치 컴포넌트 리포트, 기본) · assessment(전환 준비도 평가서) — 둘 다 주면 이어 붙임 |
| topN | integer | – | assessment: 예상 수동 작업 목록 상위 N |
| Name | Type | Req | Description |
|---|---|---|---|
| absolutePath | string | – | – |
| assessment | object | – | – |
| bytes | integer | yes | – |
| dryRun | boolean | yes | – |
| notes | array | yes | – |
| outputPath | string | – | – |
| projectDir | string | yes | – |
| sections | array | yes | – |
| written | boolean | yes | – |
No examples provided.
generate_egovframe_sbom SBOM 생성 (CycloneDX) ~605
Maven/Gradle 프로젝트의 SBOM 을 CycloneDX 1.6 JSON(기본) 또는 SPDX 2.3 JSON(bomFormat=spdx-json — 패키지·DEPENDS_ON 관계·purl·공급자·작성자·생성 시각)으로 만듭니다(빌드 파일 변경 없음). Maven 은 cyclonedx-maven-plugin(makeAggregateBom, 해시·라이선스 포함), Gradle 은 해석된 의존성 트리로 문서를 구성합니다. enrich=true(기본)면 component 마다 기준 판정(egovframe:status·basis·baseline)을 properties 로 붙이고, offline=false 면 OSV 로 알려진 취약점을 vulnerabilities[] 로 넣습니다. 출력은 프로젝트 안 경로(기본 sbom/bom.cdx.json)만 허용하고 기존 파일은 overwrite=true 가 아니면 거부하며, dryRun(기본)은 실행 없이 계획만 돌려줍니다. 2027년부터 단계화되는 공공기관 SBOM 등록·제출에 쓸 수 있는 표준 형식입니다.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | SBOM 작성자(metadata.authors) — 없으면 supplier |
| bomFormat | string | – | SBOM 형식: cyclonedx-json(CycloneDX 1.6, 기본) | spdx-json(SPDX 2.3 — CycloneDX 로 만든 뒤 변환) |
| componentName | string | – | 주 component 이름 덮어쓰기(기본 artifactId) |
| componentVersion | string | – | 주 component 버전 덮어쓰기(기본 pom version) |
| dryRun | boolean | – | true(기본)면 실행 없이 명령·출력 경로만 보고 |
| enrich | boolean | – | component 마다 기준 판정 속성 부착 |
| fillSuppliers | boolean | – | 공급자가 없는 component 를 공급자 표(catalog/sbom-rules.json)로 보완(egovframe:supplierBasis=catalog) — 기본은 enrich 와 같음 |
| format | string | – | 응답 형식 |
| offline | boolean | – | false 면 OSV 조회 결과를 vulnerabilities[] 로 포함 |
| outputPath | string | – | 프로젝트 상대 출력 경로(기본 sbom/bom.cdx.json, spdx-json 이면 sbom/bom.spdx.json) |
| overwrite | boolean | – | 기존 출력 파일 덮어쓰기 허용 |
| projectDir | string | yes | 프로젝트 디렉터리(절대경로 권장) |
| scope | string | – | runtime(compile+runtime, 기본) | all(test·provided 포함) |
| supplier | string | – | 공급자(주 component·문서 metadata.supplier) — 없으면 pom <organization><name> |
| timeoutMs | integer | – | 생성 명령 타임아웃(ms) |
| Name | Type | Req | Description |
|---|---|---|---|
| absolutePath | string | yes | – |
| buildTool | string | yes | – |
| bytes | integer | yes | – |
| command | string | yes | – |
| components | integer | yes | – |
| direct | integer | yes | – |
| dryRun | boolean | yes | – |
| durationMs | number | – | – |
| format | string | yes | – |
| generator | string | yes | – |
| logTail | string | – | – |
| minimum | object | – | – |
| notes | array | yes | – |
| osvError | string | – | – |
| outputPath | string | yes | – |
| overwritten | boolean | yes | – |
| projectDir | string | yes | – |
| specVersion | string | yes | – |
| statuses | object | yes | – |
| transitive | integer | yes | – |
| vulnerabilities | integer | yes | – |
| written | boolean | yes | – |
No examples provided.
get_egovframe_guide 공식 가이드 조회 ~109
컴포넌트의 공식 가이드 문서(표준프레임워크 포털 egovframe-docs)를 가져옵니다. 문서가 여러 건이면 목록을 함께 반환하며 docIndex로 선택할 수 있습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| component | string | yes | 컴포넌트 id. 예: bbs, login, cop.cmy |
| docIndex | integer | – | 문서가 여러 건일 때 선택 (0부터, 기본 0) |
No output schema declared.
No examples provided.
list_egovframe_components 공통컴포넌트 목록 ~49
선택 설치를 지원하는 공통컴포넌트 카탈로그를 반환합니다 (저장소 스캔으로 자동 생성, scripts/generate-catalog.mjs).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_egovframe_recipes 레시피 목록 ~55
큐레이션된 레시피(템플릿+컴포넌트 번들) 목록을 반환합니다. apply_egovframe_recipe로 한 번에 조립할 수 있습니다.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_egovframe_templates 공식 템플릿 목록 ~33
사용 가능한 전자정부 표준프레임워크 프로젝트 템플릿 목록을 반환합니다.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
migrate_egovframe_project 5.x 전환 진단·적용 ~899
표준프레임워크 3.x/4.x 프로젝트를 5.x(Jakarta EE 9+, Spring 6, Java 17) 로 옮기기 위해 바꿔야 할 것을 파일·라인 단위로 진단하고(1단계), apply=true 이면 auto 항목을 실제로 치환합니다(2단계). 진단: RTE Maven 좌표(egovframework.rte → org.egovframe.rte:egovframe-rte-*)·패키지(egovframework.rte.* → org.egovframe.rte.*)·5.x 에서 이름이 바뀌거나 제거된 클래스·javax→jakarta 패키지와 의존성·web.xml 스키마·제거된 egov-* XML 네임스페이스·교체 필요 라이브러리, 항목마다 auto(기계 치환 가능)/manual(코드 수정 필요). 적용: apply=true 는 dryRun=true(기본)면 파일별 변경 미리보기만 돌려주고, dryRun=false 면 auto 항목을 하나의 transaction 으로 치환하며 원본을 migration-backup/<시각>/ 에 보관하고 migration-plan.json 을 남깁니다(중간 실패 시 작업 전 상태로 복구). manual 항목은 건드리지 않고 결과에 남깁니다. verify=true 는 3단계(검증): 적용 뒤 compile 을 실행해 컴파일 오류를 수동 항목과 연결하고 "이 항목을 처리하면 해결될 오류 수" 순으로 작업 목록을 만듭니다. 3.x 공통컴포넌트 소스가 섞여 있으면 컴포넌트 단위 재조립 권고를 내고 skipComponents 로 치환에서 뺄 수 있습니다. 규칙은 egovframe-runtime·egovframe-common-components 태그 비교로 만든 동봉 카탈로그(catalog/migration-rules.json)에서 읽습니다. target 에 5.0.2 같은 5.0.x 를 주면 이미 5.x 인 프로젝트의 갱신 모드가 됩니다: parent·RTE 버전 속성·RTE 의존성 리터럴 버전과 예전 parent 기본값을 그대로 덮어쓴 속성은 auto, 그 사이 바뀐 RTE API·동작(보안 설정 Bean 시그니처, 엑셀 수식 주입 방지, XML XXE 차단 등)을 프로젝트가 참조하는 곳과 공통컴포넌트 최신 유지(upgrade·reassemble 안내)는 manual 로 보고하며, apply·dryRun·verify 는 전환과 같게 동작합니다(백업에 update-plan.json, 규칙 catalog/update-rules.json).
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | true 면 2단계(적용). false(기본)면 진단만 |
| dryRun | boolean | – | apply=true 일 때만 의미. true(기본)면 파일별 변경 미리보기만, false 면 실제로 치환(백업 생성) |
| format | string | – | 출력 형식. markdown=사람이 읽는 요약, json=항목 배열 그대로 |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장) |
| skipComponents | boolean | – | true 면 3.x 공통컴포넌트 디렉터리(재조립 권고 대상)의 자동 항목을 치환하지 않고 수동으로 남김 |
| target | string | – | 전환 목표. 5.x(기본) = 3.x/4.x → 5.x 전환, 5.0.2 같은 5.0.x = 이미 5.x 인 프로젝트를 그 버전으로 갱신(parent·RTE 버전 auto, 그 사이 바뀐 RTE API·동작 참조 manual, 공통컴포넌트 최신 유지 안내) |
| verify | boolean | – | true 면 3단계(검증): 진단 후 compile 을 실행해 컴파일 오류를 수동 항목과 연결한 작업 목록을 반환(apply 와 함께 쓰지 않음, 빌드 도구 필요) |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | object | – | – |
| backupDir | string | – | – |
| build | object | – | – |
| buildSystem | string | yes | – |
| conflicts | array | – | – |
| dryRun | boolean | – | – |
| files | array | – | – |
| filesScanned | integer | yes | – |
| items | array | yes | – |
| links | array | – | – |
| mode | string | – | – |
| notes | array | yes | – |
| planPath | string | – | – |
| projectDir | string | yes | – |
| remaining | – | – | – |
| rteVersion | string|null | yes | – |
| rules | object | yes | – |
| skippedManual | integer | – | – |
| sourceEra | string | yes | – |
| summary | object | yes | – |
| target | string | yes | – |
| unlinked | array | – | – |
| update | object | – | – |
| worklist | array | – | – |
No examples provided.
prepare_egovframe_offline_bundle 폐쇄망 오프라인 번들 만들기 ~370
망분리(폐쇄망) 개발 환경용 오프라인 번들을 인터넷 PC 에서 만듭니다. OSV Maven 취약점 전체 덤프·고정 공통컴포넌트 아카이브(sha256 검증)·Initializr zip 템플릿(고정 지문)·재조립용 공식 공통컴포넌트 태그 미러를 한 디렉터리에 담고 bundle-manifest.json(파일별 sha256·크기·출처 URL·받은 시각)을 씁니다. 새(또는 빈) 디렉터리에만 쓰며 dryRun(기본)은 받을 목록만 보여 줍니다. 폐쇄망 PC 에서 환경변수 EGOVFRAME_OFFLINE_BUNDLE 에 옮긴 경로를 지정하면 다운로드는 번들 파일을 지문 검증 후 쓰고, offline=false 의 OSV 조회는 로컬 덤프로 판정하며(스냅숏 기준일 표시·30일 넘으면 경고), 재조립은 번들 미러를 씁니다. Maven 의존성 jar 는 담지 않습니다(기관 저장소 미러 사용).
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true(기본)면 받을 목록만 |
| format | string | – | 응답 형식 |
| include | array | – | 담을 항목 |
| outputDir | string | yes | 번들을 만들 디렉터리(없거나 비어 있어야 함) |
| templates | array | – | 담을 템플릿 id(기본: 고정 지문이 있는 Initializr zip 템플릿 전부, 저장소 템플릿은 지정할 때만) |
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | yes | – |
| items | array | yes | – |
| manifestPath | string | – | – |
| notes | array | yes | – |
| origin | object | – | – |
| outputDir | string | yes | – |
| totalBytes | integer | yes | – |
| usage | array | yes | – |
| written | boolean | yes | – |
No examples provided.
reassemble_egovframe_components 공통컴포넌트 재조립 (5.x) ~594
3.x/4.x(또는 이전 5.x) 프로젝트에 복사돼 있는 공통컴포넌트 소스를 카탈로그 고정 버전(현재 v5.0.7)으로 다시 조립합니다. (1) 프로젝트 파일의 git blob id 를 공식 egovframe-common-components 후보 태그(좌표 세대별)와 대조해 원본 태그를 식별하고(파일 내용을 내려받지 않음, sourceTag 로 지정 가능) (2) 원본·현재·목표로 파일마다 목표와 같음/원본 그대로(교체)/사용자 수정/5.x 신규/5.x 에서 제거/원본 미확인/사용자 추가를 판정한 뒤 (3) dryRun=false 면 하나의 transaction 으로 목표 파일을 쓰고(아카이브 sha256 검증), 5.x 에 없는 원본 파일은 백업 후 지우고, 사용자 수정 소스는 교체하되 원본 대비 변경을 unified diff 패치로 보존하며(설정·자산 파일은 사용자본을 유지하고 목표본을 참고로 저장) 매니페스트를 기록해 이후 upgrade·validate·remove 도구가 적용되게 합니다. 백업·패치·reassemble-plan.json 은 migration-backup/<시각>-reassemble-*/ 에 남고, 작업 목록(패치 다시 반영·5.x 제거 파일·설정 비교)을 돌려줍니다. verify=true 면 적용 뒤 compile 을 실행해 오류를 작업 목록 파일에 붙입니다. 원본 태그 비교에 git 이 필요하며 캐시는 EGOVFRAME_CACHE_DIR(기본 ~/.cache/egovframe-scaffold-mcp)에 둡니다. 패치를 자동으로 다시 적용하지는 않습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | – | 재조립할 컴포넌트 id(그룹 id 는 하위 컴포넌트로 펼침). 미지정 시 감지된 컴포넌트 전부 |
| database | string | – | 지정 시 컴포넌트별 DDL·DML 을 scripts/egovframe-components/<db>/ 에 함께 생성 |
| dryRun | boolean | – | true(기본)면 분류·계획만, false 면 적용(transaction) |
| format | string | – | 출력 형식 |
| projectDir | string | yes | 대상 프로젝트 디렉터리(절대경로 권장) |
| sourceTag | string | – | 원본 태그(예: v3.10.0). auto(기본)면 파일 대조로 식별 |
| timeoutMs | integer | – | verify 컴파일 타임아웃(ms) |
| verify | boolean | – | 적용 뒤 compile 실행해 오류를 작업 목록에 연결 |
| Name | Type | Req | Description |
|---|---|---|---|
| actions | object | yes | – |
| backupDir | string | – | – |
| components | array | yes | – |
| dryRun | boolean | yes | – |
| files | array | yes | – |
| manifestUpdated | boolean | yes | – |
| notes | array | yes | – |
| origin | object | yes | – |
| planPath | string | – | – |
| projectDir | string | yes | – |
| sourceEra | string | yes | – |
| sql | array | yes | – |
| summary | object | yes | – |
| target | object | yes | – |
| verify | object | – | – |
| worklist | array | yes | – |
No examples provided.
rehearse_egovframe_migration 5.x 전환 리허설 (사본에서 실측) ~432
프로젝트를 건드리지 않고 사본에서 5.x 전환을 미리 돌려 봅니다. 사본(EGOVFRAME_CACHE_DIR/rehearsal, 빌드 산출물·VCS·백업 제외)에서 (1) 공통컴포넌트 재조립(원본 태그 식별이 깨지지 않도록 전환 적용보다 먼저) (2) 전환 자동 항목 적용 (3) 컴파일 — Maven 은 javac 를 fork 해 -Xmaxerrs 로 오류 100개 상한 없이 모두 셈 (4) 사본 pom 을 공식 공통컴포넌트 고정 태그 pom 기준(parent·누락 좌표·버전·scope·parent 관리 속성)으로 맞춘 뒤 다시 컴파일합니다. 두 시점의 오류 수, 누락 패키지와 후보 좌표, 같은 파일의 연쇄 오류, 남는 수동 항목·파일, 사라지는 오류 순 작업 목록, 사본에 적용한 pom 패치를 돌려주고, 실행 전후 디렉터리 지문으로 원본 불변을 확인합니다. 최근 결과는 평가서 6절에 실측으로 표시됩니다. keepWorkspace=true 면 사본을 남깁니다.
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | – | 재조립 대상 컴포넌트 id(기본: 감지된 전부) |
| format | string | – | 응답 형식 |
| keepWorkspace | boolean | – | true 면 사본을 지우지 않고 경로를 돌려줌 |
| projectDir | string | yes | 프로젝트 디렉터리(절대경로 권장) — 읽기만 함 |
| sourceTag | string | – | 재조립 원본 태그(기본 auto = 식별) |
| steps | array | – | 실행할 단계(순서는 고정) |
| timeoutMs | integer | – | 컴파일 1회 타임아웃(ms) |
| topN | integer | – | 작업 목록 수 |
| Name | Type | Req | Description |
|---|---|---|---|
| afterAutomation | object | – | – |
| afterPomAlignment | object | – | – |
| buildTool | – | yes | – |
| migrate | object | – | – |
| notes | array | yes | – |
| original | object | yes | – |
| projectDir | string | yes | – |
| reassemble | object | – | – |
| savedTo | string | – | – |
| startedAt | string | yes | – |
| steps | array | yes | – |
| worklist | array | yes | – |
| workspace | object | yes | – |
No examples provided.
remove_egovframe_components 공통컴포넌트 제거 ~172
add_egovframe_components로 조립한 컴포넌트를 제거합니다. 설치 매니페스트에 기록된 파일만 삭제하며, 다른 설치 컴포넌트가 의존하거나 설치 시점 hash와 달라진 파일은 기본 거부합니다. force=true는 remove-backup/에 사본을 만든 뒤 트랜잭션 제거하며, dryRun 미리보기를 지원합니다.
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | yes | 제거할 컴포넌트 id 목록 |
| dryRun | boolean | – | true면 삭제 없이 대상만 미리보기 |
| force | boolean | – | 사용자 수정·hash 미검증 파일도 remove-backup/에 백업한 뒤 제거 |
| projectDir | string | yes | 대상 프로젝트 디렉터리 |
No output schema declared.
No examples provided.
search_egovframe_components 공통컴포넌트 검색 ~107
키워드로 공통컴포넌트를 검색합니다 (id·이름·설명·카테고리 부분 일치, 점수순 상위 10건).
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | 카테고리 필터 (cmm|cop|uss|sym|sec|utl|dam|ext|ssi|sts|uat) |
| query | string | yes | 검색어. 예: 게시판, bbs, 로그인 |
No output schema declared.
No examples provided.
search_egovframe_docs 가이드 문서 검색 ~166
공식 가이드 문서(egovframe-docs) 인덱스를 키워드로 검색합니다. 기본은 오프라인 인덱스 검색(제목·경로·연계 컴포넌트·카테고리 점수순)이며, fetchTop>0이면 상위 결과의 문서 본문을 내려받아 스니펫도 함께 제공합니다.
| Name | Type | Req | Description |
|---|---|---|---|
| fetchTop | integer | – | 본문을 내려받아 스니펫을 붙일 상위 결과 수 (0=오프라인, 최대 5) |
| limit | integer | – | 최대 결과 수 (기본 10) |
| query | string | yes | 검색어. 예: "로그인", "게시판 권한" |
No output schema declared.
No examples provided.
sync_egovframe_catalog 컴포넌트 카탈로그 upstream 대조 ~86
공식 egovframe-common-components 태그·commit·아카이브 무결성을 검증하고, 고정 카탈로그 대비 upstream 변경과 sec.security 보안 패키지를 점검합니다.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | – | 확인할 태그·브랜치·commit. 미지정 시 카탈로그의 공식 고정 태그 사용 |
No output schema declared.
No examples provided.
sync_egovframe_templates 템플릿 카탈로그 upstream 대조 ~154
공식 프로젝트 템플릿 통합 카탈로그(Initializr·MCP·Development)를 upstream 과 대조해 추가·삭제·변경과 MCP 커버리지 격차를 보고하고, 동봉한 5.x 전환 규칙·의존성 기준 카탈로그의 drift(egovframe-runtime·공통컴포넌트의 새 태그, 공식 parent 의 새 버전, 고정 pom sha256 변화)도 함께 보고합니다. 파일은 고치지 않습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | – | 확인할 Initializr 저장소의 브랜치·태그·commit. 미지정 시 고정 카탈로그의 branch 사용 |
No output schema declared.
No examples provided.
test_egovframe_project 테스트 실행 ~325
eGovFrame 프로젝트의 테스트를 실제로 실행하고 JUnit XML 리포트(surefire/gradle)를 읽어 결과를 구조화합니다. 스위트별 통과·실패·오류·건너뜀 수와, 실패 케이스의 메시지·예외 타입·테스트 파일/라인을 반환합니다. testFilter로 특정 클래스/메서드만 실행할 수 있고, dryRun으로 실행 예정 명령을 미리볼 수 있습니다. (build_egovframe_project 의 테스트 후속)
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | true면 실행 없이 감지된 빌드도구·명령·리포트 위치만 반환 |
| maxFailures | integer | – | 반환할 실패·오류 케이스 최대 수. 기본 50 |
| maxLogLines | integer | – | 반환 로그의 최대 줄 수(마지막 N줄). 기본 200줄 |
| projectDir | string | yes | 테스트할 프로젝트 루트 디렉터리(pom.xml 또는 build.gradle 위치, 절대경로 권장) |
| testFilter | string | – | 실행할 테스트 패턴(빌드도구 문법 그대로). maven: `FooTest`, `FooTest#bar`, `com.acme.*Test` / gradle: `com.acme.FooTest`, `*FooTest.bar`. 생략 시 전체 |
| timeoutSeconds | integer | – | 테스트 타임아웃(초). 초과 시 중단. 기본 600초 |
No output schema declared.
No examples provided.
upgrade_egovframe_project 공통컴포넌트 업그레이드 ~191
매니페스트에 기록된 설치 공통컴포넌트를 upstream 최신본과 비교해 갱신합니다. 사용자가 수정한 파일은 force 없이는 보존하며, dryRun(기본)으로 변경 계획을 먼저 확인합니다. 덮어쓰기 전 upgrade-backup/에 백업하고, 하드 충돌 시 아무것도 쓰지 않고 거부합니다.
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | – | 대상 컴포넌트 id (미지정 시 매니페스트 전체) |
| dryRun | boolean | – | true(기본)면 계획만 미리보기, 디스크 변경 없음 |
| force | boolean | – | 사용자 수정 파일(충돌)도 백업 후 덮어쓸지 |
| projectDir | string | yes | 업그레이드할 프로젝트 디렉터리(절대경로 권장) |
No output schema declared.
No examples provided.
validate_egovframe_project 프로젝트 무결성 검증 ~66
조립된 프로젝트의 무결성을 진단합니다: 설치 매니페스트 기준 파일 존재 확인, Globals.DbType과 복사된 DB 스크립트 일치 확인.
| Name | Type | Req | Description |
|---|---|---|---|
| projectDir | string | yes | 검증할 프로젝트 디렉터리 |
| Name | Type | Req | Description |
|---|---|---|---|
| aiChecks | array | yes | – |
| components | array | yes | – |
| dbScriptDirs | array | yes | – |
| dbType | string|null | yes | – |
| manifestFound | boolean | yes | – |
| ok | boolean | yes | – |
| projectDir | string | yes | – |
| warnings | array | yes | – |
No examples provided.
How do I install the io.github.EricSeokgon/egovframe-scaffold-mcp server?
io.github.EricSeokgon/egovframe-scaffold-mcp runs locally as an npm package, launched with npx -y egovframe-scaffold-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · egovframe-scaffold-mcp
claude mcp add ericseokgon-egovframe-scaffold-mcp -- npx -y egovframe-scaffold-mcp
What is the io.github.EricSeokgon/egovframe-scaffold-mcp server?
io.github.EricSeokgon/egovframe-scaffold-mcp is listed in the public MCP registry as io.github.EricSeokgon/egovframe-scaffold-mcp. eGovFrame (전자정부 표준프레임워크) projects: templates, components, CRUD, build, 5.x migration, dependencies. This page covers its npm package (egovframe-scaffold-mcp).
Is the io.github.EricSeokgon/egovframe-scaffold-mcp server safe to use?
io.github.EricSeokgon/egovframe-scaffold-mcp scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.EricSeokgon/egovframe-scaffold-mcp server expose?
io.github.EricSeokgon/egovframe-scaffold-mcp exposes 34 tools: list_egovframe_templates, create_egovframe_project, sync_egovframe_catalog, sync_egovframe_templates, list_egovframe_components, and 29 more. Their descriptions and schemas cost roughly 11,008 tokens of context every time the server is loaded.
Is the io.github.EricSeokgon/egovframe-scaffold-mcp server still maintained?
io.github.EricSeokgon/egovframe-scaffold-mcp is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.EricSeokgon/egovframe-scaffold-mcp server under?
io.github.EricSeokgon/egovframe-scaffold-mcp declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.