Skip to main content
Glama
EricSeokgon

egovframe-scaffold-mcp

by EricSeokgon

네트워크 진단

diagnose_egovframe_network
Read-onlyIdempotent

Diagnose connectivity to hosts used by eGovFrame project scaffolding: run DNS and HEAD checks, report latency and failure type, and get proxy, DNS, or TLS fixes.

Instructions

이 서버의 도구들이 내려받는 외부 호스트(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 명령으로 안내합니다. 프로젝트 생성·컴포넌트 조립이 타임아웃으로 실패할 때 먼저 실행하세요. 파일을 쓰지 않으며 프로젝트 디렉터리도 필요 없습니다.

Input Schema

NameRequiredDescriptionDefault
hostsNo점검할 호스트(기본: 전부)
formatNo출력 형식markdown
timeoutMsNo호스트당 제한 시간(ms, 기본 10000)

Output Schema

NameRequiredDescriptionDefault
envYes
nodeYes
hostsYes
notesYes
summaryYes
platformYes
prescriptionsYes
envProxySupportedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed19 schema fields changedv1.6.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / properties / env / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / hosts / items / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / hosts / items / properties / dns / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / hosts / items / properties / dns / properties / addresses / items / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / hosts / items / properties / dns / properties / addresses / items / properties / family / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / hosts / items / properties / dns / properties / addresses / items / properties / family / minimum
      Added value: +-9007199254740991
    • changedOutput schema / properties / hosts / items / properties / http / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / hosts / items / properties / http / properties / status / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / prescriptions / items / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / prescriptions / items / properties / commands / items / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / summary / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / summary / properties / byKind / additionalProperties / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / summary / properties / byKind / additionalProperties / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / summary / properties / byKind / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / summary / properties / failed / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / summary / properties / failed / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / summary / properties / ok / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / summary / properties / ok / minimum
      Added value: +-9007199254740991
  2. Addedv0.36.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds the key operational fact that it actually sends outbound DNS and HEAD requests to external hosts, plus that it writes no files and needs no project directory. It discloses the failure taxonomy and the concrete remediation it will suggest. It does not say whether failed hosts shorten or abort the sweep, nor how long a full run takes.

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?

Purpose is front-loaded in the first clause, followed by the trigger condition and the negative constraints. The long host enumeration and the remediation env-var list duplicate schema content and make the first sentence dense, but nothing is truly wasted.

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 an output schema present, return values need no explanation, and the description supplies purpose, trigger, side effects, and remediation content. What remains unstated is behavior on partial failure and whether results are actionable when all hosts pass but builds still time out.

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 description coverage is 100%, so each parameter is already documented and the enums constrain hosts and format. The description repeats the host list and adds no syntax or behavioral detail for hosts/timeoutMs/format beyond the schema, so 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 (diagnose) and a precisely bounded resource: DNS lookups and HEAD requests to a fixed host list, reporting reachability, latency, and failure class. The enumerated hosts and failure taxonomy distinguish it clearly from the sibling diagnose_egovframe_project, which targets project state rather than outbound connectivity.

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 an explicit trigger condition and orders it ahead of create_egovframe_project/add_egovframe_components. It also states what is not needed (프로젝트 디렉터리도 필요 없습니다). It stops short of naming when-not-to-use or an explicit alternative for non-network failures.

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