Skip to main content
Glama
EricSeokgon

egovframe-scaffold-mcp

by EricSeokgon

공통컴포넌트 조립

add_egovframe_components

Adds common components to an eGovFrame project, copying source, mapper, JSP, and optional DB scripts. Includes dependencies and supports dry-run preview before writing.

Instructions

공통컴포넌트를 골라 기존 프로젝트에 조립합니다. 의존 컴포넌트를 포함해 소스·매퍼·JSP를 복사하고, database 지정 시 DB DDL·DML 스크립트도 복사합니다. 기존 파일과 충돌하면 아무것도 쓰지 않고 거부합니다. dryRun=true로 먼저 미리볼 수 있습니다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunNotrue면 복사 없이 설치 순서·규모만 미리보기(네트워크 불필요)
databaseNoDB 스크립트 복사 대상 DB (altibase|cubrid|goldilocks|maria|mysql|oracle|postgres|tibero)
componentsYes컴포넌트 id 목록. 예: ["bbs", "login"]
projectDirYes대상 프로젝트 디렉터리(절대경로 권장). 먼저 create_egovframe_project로 생성
includeDependenciesNo의존 컴포넌트 자동 포함 여부

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.19.0

TDQS

A4.5/5.0
Behavior5/5

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

With annotations declaring readOnlyHint=false, destructiveHint=false, and idempotentHint=false, the description adds crucial context beyond them: it specifies exactly what gets copied (sources, mappers, JSPs, and optionally DB scripts), that conflicts cause a complete refusal with no partial writes, and that dryRun provides a no-network preview. This fully discloses mutation behavior, conflict handling, and preview capability.

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

Conciseness5/5

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

Three sentences, each conveying essential information: what the tool does, what it copies, conflict behavior, and preview option. No redundancy; front-loaded with the core purpose.

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 mutation tool with no output schema and full schema coverage, the description covers all critical aspects: action, scope, file types, conflict handling, and preview. It provides enough for an agent to confidently invoke it, though it could mention dependency on create_egovframe_project.

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 all parameters are documented in the schema. The description mentions database (DB script copying), dryRun (preview), and includeDependencies implicitly through '의존 컴포넌트', but doesn't add significant meaning beyond what the schema already provides. Baseline 3 is appropriate.

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 (조립합니다 - assemble) and resource (공통컴포넌트 - common components) with clear scope: selecting components and assembling them into an existing project. Distinguishes from siblings like add_ai_components (AI components) and create_egovframe_project (creates rather than assembles).

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?

Provides clear context: assembling into an existing project (implies create_egovframe_project must run first, echoed in the projectDir schema description). Suggests dryRun=true for preview. However, it doesn't explicitly state when to use this vs. alternatives or mention prerequisites like list_egovframe_components for component selection.

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