Skip to main content
Glama

전자세금계산서 발행

hometax__etax__invoice__issue
Destructive

REQUIRES prior hometax__session__login call with same account_link_id. Issue an e-tax invoice to 국세청. IRREVERSIBLE: once issued the buyer is notified and it enters VAT filing; it can only be corrected by issuing a 수정세금계산서, and this service's modify tool only issues one that cancels the original in full (reasons 04 and 06). This writes to the institution. The first call is not executed: it returns a preview of exactly what will be sent and a one-time confirmation_token (error WRITE_CONFIRMATION_REQUIRED). Show that preview to the user as it is. Only after the user agrees, call again with the same arguments plus that confirmation_token. Never add the token without the user's agreement. Changing any argument makes the token invalid; call without the token to get a new preview. The preview shows the main values you sent; the supply amount and tax are computed by the server and are not in it. 호출마다 토큰 1소진 요청 처리 시 XBOSS 작업을 생성하고 처리 결과를 저장합니다. 기관 원본의 조회 여부와 별개로 이 호출은 순수 읽기 전용이 아닙니다. 기관 데이터 변경은 도구별 실행 내용과 기존 확인 절차를 따릅니다.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "dmnr_bsno": "<dmnr_bsno>",
      "item_name": "<item_name>",
      "supply_date": "<supply_date>",
      "bill_method": "<bill_method>",
      "item_quantity": "<item_quantity>",
      "item_unit_price": "<item_unit_price>"
    },
    "name": "hometax__etax__invoice__issue"
  }
}

Input Schema

NameRequiredDescriptionDefault
splr_tinNo공급자 식별값(tin). 보통 입력하지 않습니다. 서버가 기관 응답과 로그인 세션에서 공급자 값을 채우고, 거기서 얻지 못할 때만 이 값을 씁니다.
dmnr_bsnoYesBuyer business registration number (구매자 사업자등록번호, 10 digits)
item_nameYesItem/service name (품목명)
bill_methodYesBilling method (청구방법): '01'=영수, '02'=청구
splr_mpb_noNo공급자 종사업장번호. 주사업장이면 "0". Optional (기본 "0").
supply_dateYesSupply date YYYYMMDD (공급일자)
etxiv_knd_cdNoInvoice kind code (전자세금계산서 종류코드). Optional. The tax is 10% of the supply amount whatever this code is.
etxiv_clsf_cdNoInvoice class code (전자세금계산서 구분코드). Optional. The tax is 10% of the supply amount whatever this code is.
item_quantityYesItem quantity (수량)
account_link_idNo연동 ID(UUID v4). 선택 입력입니다. 비워 두면 서버가 API 키로 연동을 찾아 씁니다. 같은 기관에 인증서를 여러 개 연동했을 때만 직접 입력해 주세요. 기관마다 ID 가 다릅니다.
item_unit_priceYesUnit price (단가, KRW)
confirmation_tokenNo첫 호출이 돌려준 1회용 확인 토큰입니다(오류 WRITE_CONFIRMATION_REQUIRED). 같은 인자에 이 값을 그대로 넣어 다시 호출하면 실행됩니다. 10분 뒤 만료되고 한 번만 쓸 수 있습니다.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only say readOnly=false, destructive=true, openWorld=true; the description goes far beyond by explaining *why* it is destructive (buyer is notified, it enters VAT filing, correction requires a separate 수정세금계산서), and by disclosing the full write-confirmation handshake: first call is a no-op preview, returns a one-time token with error WRITE_CONFIRMATION_REQUIRED, token is single-use and expires in 10 minutes, any argument change invalidates it. It also notes an XBOSS job is created per call. No contradiction 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?

Front-loaded with the prerequisite and the IRREVERSIBLE warning, then the token protocol in order of execution — a good structure for an agent. It loses a point for the trailing generic Korean boilerplate about XBOSS job creation and 'this is not a pure read-only call', which restates the annotation rather than adding tool-specific value.

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 destructive, 12-parameter, no-output-schema tool this is complete: prerequisites, irreversibility, the error code the caller will hit, what the preview does and does not contain, token lifetime and invalidation rules, and the correction path. An agent has everything needed to call it correctly and safely.

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%, so baseline is 3, but the description adds meaning the schema does not: the preview contains only the main values sent, while supply amount and tax are server-computed and absent from it, and the confirmation_token must be passed with otherwise identical arguments. It does not explain splr_tin/account_link_id fallback behavior beyond what the schema already says.

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?

The first two sentences give a specific verb and resource ('Issue an e-tax invoice to 국세청') and immediately delimit scope against the sibling modify tool, which 'only issues one that cancels the original in full (reasons 04 and 06)'. An agent can tell this apart from hometax__etax__invoice__modify without opening either schema.

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

Usage Guidelines5/5

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

Explicit prerequisites ('REQUIRES prior hometax__session__login call with same account_link_id'), explicit when-not (correction must go through 수정세금계산서, and the local modify tool only does full cancellation), and an explicit two-step call protocol with the condition that selects each step. Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources