Skip to main content
Glama
EricSeokgon

egovframe-scaffold-mcp

by EricSeokgon

5.x 전환 리허설 (사본에서 실측)

rehearse_egovframe_migration
Idempotent

프로젝트를 건드리지 않고 사본에서 5.x 전환을 미리 돌려 봅니다. 사본(EGOVFRAME_CACHE_DIR/rehearsal, 빌드 산출물·VCS·백업 제외)에서 (1) 공통컴포넌트 재조립(원본 태그 식별이 깨지지 않도록 전환 적용보다 먼저) (2) 전환 자동 항목 적용 (3) 컴파일 — Maven 은 javac 를 fork 해 -Xmaxerrs 로 오류 100개 상한 없이 모두 셈 (4) 사본 pom 을 공식 공통컴포넌트…

Instructions

프로젝트를 건드리지 않고 사본에서 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 면 사본을 남깁니다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNNo작업 목록 수
stepsNo실행할 단계(순서는 고정)
formatNo응답 형식markdown
sourceTagNo재조립 원본 태그(기본 auto = 식별)auto
timeoutMsNo컴파일 1회 타임아웃(ms)
componentsNo재조립 대상 컴포넌트 id(기본: 감지된 전부)
projectDirYes프로젝트 디렉터리(절대경로 권장) — 읽기만 함
keepWorkspaceNotrue 면 사본을 지우지 않고 경로를 돌려줌

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesYes
stepsYes
migrateNo
savedToNo
originalYes
worklistYes
buildToolYes
startedAtYes
workspaceYes
projectDirYes
reassembleNo
afterAutomationNo
afterPomAlignmentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.45.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations set readOnlyHint=false, destructiveHint=false, idempotentHint=true; the description adds substantial context beyond them: it writes only to EGOVFRAME_CACHE_DIR/rehearsal, excludes build artifacts/VCS/backups, verifies original immutability via pre/post directory fingerprints, removes the 100-error javac cap, and keeps the workspace only when keepWorkspace=true. This is rich disclosure that is fully consistent with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the copy-only guarantee are front-loaded, and the long middle is organized as a numbered (1)-(4) sequence that mirrors the steps parameter. It is dense and slightly run-on but each clause carries distinct operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-stage, mutating, long-running tool it covers what gets created, where, what is excluded, the two compile passes, immutability verification, and what output to expect, and an output schema already exists so return values need no further explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and an output schema exists, so the baseline is already met; the description goes further by mapping the numbered steps (1)-(4) onto the steps enum, noting the order is fixed, and clarifying what sourceTag=auto means. It does not explain topN or format beyond the schema, so it stops short of full parameter elaboration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('5.x 전환을 미리 돌려 봅니다') with the operative scope: run on a copy without touching the project. This clearly separates it from the sibling migrate_egovframe_project (real migration) and reassemble_egovframe_components, and an agent can distinguish them without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'프로젝트를 건드리지 않고 사본에서' establishes the rehearsal-before-migration context and the safety prerequisite clearly. It never names migrate_egovframe_project as the alternative once the rehearsal is done, so the when-to-use is strong but not fully enumerated with exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.