Skip to main content
Glama
EricSeokgon

egovframe-scaffold-mcp

by EricSeokgon

프로젝트 생성

create_egovframe_project

Generate a new eGovFrame project skeleton from official templates, applying project name, groupId, and database type; preview changes with dryRun or align parent versions.

Instructions

전자정부 표준프레임워크 공식 템플릿으로 새 프로젝트 골격을 생성합니다. 공식 GitHub 템플릿을 내려받아 projectName/groupId/DB 타입을 적용합니다. dryRun=true로 먼저 미리보기할 수 있습니다. alignParent=true 면 생성 직후 5.x parent·RTE 버전을 최신 5.0.x 로 맞춥니다(공식 Initializr 템플릿은 parent 5.0.0·5.0.1).

Input Schema

NameRequiredDescriptionDefault
refNo내려받을 브랜치/태그(미지정 시 템플릿 기본 브랜치). 예: main, v4.3.0
dryRunNotrue면 디스크에 쓰지 않고 생성 예정 내용만 미리보기
groupIdYes자바 groupId. 예: egovframework.example
databaseNoDB 타입 (템플릿 지원: hsql|mysql|oracle|altibase|tibero)hsql
templateNo템플릿 종류simple-backend
outputDirYes프로젝트를 생성할 상위 디렉터리(절대경로 권장)
alignParentNotrue면 생성 직후 pom 의 5.x parent·RTE 버전을 최신 5.0.x(공식 parent 기준)로 맞춤. 기본 false = 공식 템플릿 그대로(Initializr 템플릿은 parent 5.0.0·5.0.1)
projectNameYes프로젝트명(artifactId). 소문자·숫자·하이픈, 예: my-egov-app

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.6.0
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed1 schema field changedv0.46.0
    • addedInput schema / properties / alignParent
      Added value: +{
      +  "default": false,
      +  "description": "true면 생성 직후 pom 의 5.x parent·RTE 버전을 최신 5.0.x(공식 parent 기준)로 맞춤. 기본 false = 공식 템플릿 그대로(Initializr 템플릿은 parent 5.0.0·5.0.1)",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changedv0.36.1
    • changedInput schema / properties / template / enum
      Previous value: -[
      -  "simple-backend",
      -  "simple-react",
      -  "simple-homepage",
      -  "portal-site",
      -  "enterprise-business",
      -  "web-sample",
      -  "msa-edu"
      -]New value: +[
      +  "simple-backend",
      +  "simple-react",
      +  "simple-homepage",
      +  "portal-site",
      +  "enterprise-business",
      +  "web-sample",
      +  "msa-edu",
      +  "msa-common-components",
      +  "mobile-device-api",
      +  "ai-rag",
      +  "web",
      +  "boot-web",
      +  "batch-file-scheduler",
      +  "batch-file-commandline",
      +  "batch-file-web",
      +  "batch-db-scheduler",
      +  "batch-db-commandline",
      +  "batch-db-web",
      +  "mobile-web",
      +  "mobile-common-components",
      +  "msa-portal-backend",
      +  "msa-portal-frontend"
      +]
  4. Changed3 schema fields changedv0.19.0
    • addedInput schema / properties / dryRun
      Added value: +{
      +  "default": false,
      +  "description": "true면 디스크에 쓰지 않고 생성 예정 내용만 미리보기",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / ref
      Added value: +{
      +  "description": "내려받을 브랜치/태그(미지정 시 템플릿 기본 브랜치). 예: main, v4.3.0",
      +  "type": "string"
      +}
    • changedInput schema / properties / template / enum
      Previous value: -[
      -  "simple-backend",
      -  "simple-react"
      -]New value: +[
      +  "simple-backend",
      +  "simple-react",
      +  "simple-homepage",
      +  "portal-site",
      +  "enterprise-business",
      +  "web-sample",
      +  "msa-edu"
      +]
  5. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag a non-read-only, non-idempotent, open-world write; the description adds that it downloads from GitHub (network dependency), writes files under outputDir, that dryRun avoids disk writes, and that alignParent mutates pom versions post-generation. The one gap is what happens when outputDir is non-empty or the name already exists — important for a non-idempotent writer.

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?

Four sentences of dense, front-loaded content: purpose first, then template mechanics, then dryRun, then alignParent. Slight redundancy between the description and the alignParent schema text, but no filler.

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

Completeness3/5

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

No output schema and no return-value description — an agent does not know whether it gets a path, a file list, or a summary. For a disk-writing, network-dependent scaffold generator, the description should also mention prerequisites (network, JDK/Maven) and how an existing outputDir is handled.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3 and the schema already explains ref, dryRun, database, template, outputDir and projectName. The description restates the main knobs and adds rationale for alignParent (official templates pin parent 5.0.0/5.0.1), but adds little on ref, template choices, or outputDir constraints.

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 (create a new project skeleton) plus the source of truth: the official eGovFrame GitHub template. That is clearly distinguishable from siblings like add_egovframe_components or upgrade_egovframe_project 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?

Gives real workflow guidance: preview with dryRun=true first, and use alignParent=true when the generated project must sit on the latest 5.0.x parent/RTE. It does not name an alternative for the case where a project already exists (e.g. upgrade_egovframe_project), so there is no explicit when-not clause.

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