Skip to main content
Glama
EricSeokgon

egovframe-scaffold-mcp

by EricSeokgon

테스트 실행

test_egovframe_project
Idempotent

Run eGovFrame project tests and parse JUnit XML reports to return structured pass/fail counts, failure messages, and test locations. Filter specific tests or preview commands.

Instructions

eGovFrame 프로젝트의 테스트를 실제로 실행하고 JUnit XML 리포트(surefire/gradle)를 읽어 결과를 구조화합니다. 스위트별 통과·실패·오류·건너뜀 수와, 실패 케이스의 메시지·예외 타입·테스트 파일/라인을 반환합니다. testFilter로 특정 클래스/메서드만 실행할 수 있고, dryRun으로 실행 예정 명령을 미리볼 수 있습니다. (build_egovframe_project 의 테스트 후속)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunNotrue면 실행 없이 감지된 빌드도구·명령·리포트 위치만 반환
projectDirYes테스트할 프로젝트 루트 디렉터리(pom.xml 또는 build.gradle 위치, 절대경로 권장)
testFilterNo실행할 테스트 패턴(빌드도구 문법 그대로). maven: `FooTest`, `FooTest#bar`, `com.acme.*Test` / gradle: `com.acme.FooTest`, `*FooTest.bar`. 생략 시 전체
maxFailuresNo반환할 실패·오류 케이스 최대 수. 기본 50
maxLogLinesNo반환 로그의 최대 줄 수(마지막 N줄). 기본 200줄
timeoutSecondsNo테스트 타임아웃(초). 초과 시 중단. 기본 600초

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.36.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true; the description is consistent and adds real context — that tests are actually executed, that timeouts abort the run, and exactly what the structured result contains (suite counts, failure message/exception/file/line). It does not describe pagination or result-size limits beyond maxFailures/maxLogLines.

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?

Front-loaded with the core action and return shape, then filters/preview, then the sibling relationship. Four sentences with little waste, though the return-value sentence is somewhat dense.

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

Completeness4/5

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

With no output schema, the description carries the return-value burden and does so well, enumerating suite-level counts and failure details. Combined with the 100%-covered input schema and mutation-relevant annotations, an agent has nearly everything needed to invoke it correctly.

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 description coverage is 100%, so the baseline is 3; the description still adds meaning by explaining testFilter (specific class/method) and dryRun (preview detected tool/command/report location) as behaviors rather than just field names. The other four params rely on the schema, which fully documents them.

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+resource: it actually executes the project's tests and parses the JUnit XML (surefire/gradle) into structured results. It also positions itself relative to a sibling ('build_egovframe_project 의 테스트 후속'), so an agent can tell it apart from the build tool.

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 clear context: use it to run tests and get structured pass/fail data, with testFilter for narrowing to a class/method and dryRun to preview the command. It implies the relationship to build_egovframe_project as a follow-up but states no explicit when-not or exclusion.

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