Skip to main content
Glama

홈택스 원천세 전자파일 변환신고 제출

hometax__tax__withholding__file_conversion__submit
Destructive

REQUIRES prior hometax__session__login call with same account_link_id. preview 로 확인한 원천세 전자파일 변환신고 대상을 기관에 제출합니다. 되돌릴 수 없는 기관 쓰기라 사용자의 제출 확인 confirm_submit 과 동의 sbms_agreement 를 함께 보내야 하고 confirm_submit 이 true 여야 제출됩니다. 내용검증 경고가 있으면 confirm_warnings 도 true 여야 합니다. 미리 본 뒤 대상이 바뀌었으면 제출하지 않고, 이미 모두 접수된 대상이면 다시 제출하지 않고 접수 결과를 돌려줍니다. 결과가 불분명하면 다시 제출하지 말고 receipt 로 접수 여부를 확인하세요. 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. 호출마다 토큰 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": {
      "source_job_id": "<source_job_id>",
      "expected_snapshot_hash": "<expected_snapshot_hash>",
      "confirm_submit": "<confirm_submit>",
      "sbms_agreement": "<sbms_agreement>"
    },
    "name": "hometax__tax__withholding__file_conversion__submit"
  }
}

Input Schema

NameRequiredDescriptionDefault
source_job_idYes이어서 진행할 이전 단계 작업의 job_id 를 그대로 입력합니다(job_ 으로 시작하는 작업 번호). 미리보기(preview) 결과를 받습니다. 미리보기를 거치지 않았거나 그 뒤 제출 대상이 바뀌었으면 409 로 거절합니다. 같은 조직과 환경, 같은 기관 연결에서 성공한 원천세 파일변환 작업이어야 하고 아니면 진행하지 않고 거절합니다.
confirm_submitYes변환신고서를 실제로 제출한다는 확인값입니다. 미리보기(preview) 결과를 사용자에게 보여 주고 제출 동의를 받았을 때 true 로 입력합니다. true 가 아니면(빠지거나 false) 기관에 아무것도 보내지 않고 신고서 제출 확인이 필요하다는 오류(422)로 거절합니다. 이 값도 확인 토큰이 가리키는 요청 본문에 들어가므로 확인 토큰을 받는 첫 요청부터 함께 입력합니다. 나중에 더하면 본문이 달라져 확인 토큰을 다시 받아야 합니다. 1 이나 yes, on 처럼 true 로 읽히는 값도 true 로 받고, true 나 false 로 읽을 수 없는 값은 입력 오류로 거절합니다.
sbms_agreementYes신고 내용에 동의한다는 확인값입니다. 요청 규격에 필수 칸으로 적혀 있으므로 사용자에게 동의를 받아 true 로 입력합니다. 원천세 변환신고는 이 값이 true 가 아니어도 제출을 거절하지 않고, 기관에 보내지 않으며 응답의 submitUserAcknowledgements 에 받은 값을 돌려줍니다. 이 값도 확인 토큰이 가리키는 요청 본문에 들어가므로 확인 토큰을 받는 첫 요청부터 함께 입력합니다. 나중에 더하면 본문이 달라져 확인 토큰을 다시 받아야 합니다. 1 이나 yes, on 처럼 true 로 읽히는 값도 true 로 받고, true 나 false 로 읽을 수 없는 값은 입력 오류로 거절합니다.
account_link_idNo연동 ID(UUID v4). 선택 입력입니다. 비워 두면 서버가 API 키로 연동을 찾아 씁니다. 같은 기관에 인증서를 여러 개 연동했을 때만 직접 입력해 주세요. 기관마다 ID 가 다릅니다.
confirm_warningsNo내용검증 경고를 확인했다는 값입니다. 내용검증에서 경고가 나온 변환은 이 값이 true 여야 제출하고, 아니면 기관에 아무것도 보내지 않고 내용검증 경고를 확인해 달라는 오류(409)로 거절합니다. 경고가 없는 변환에는 필요 없습니다. 이 값도 확인 토큰이 가리키는 요청 본문에 들어가므로 확인 토큰을 받는 첫 요청부터 함께 입력합니다. 나중에 더하면 본문이 달라져 확인 토큰을 다시 받아야 합니다. 1 이나 yes, on 처럼 true 로 읽히는 값도 true 로 받고, true 나 false 로 읽을 수 없는 값은 입력 오류로 거절합니다.
confirmation_tokenNo첫 호출이 돌려준 1회용 확인 토큰입니다(오류 WRITE_CONFIRMATION_REQUIRED). 같은 인자에 이 값을 그대로 넣어 다시 호출하면 실행됩니다. 10분 뒤 만료되고 한 번만 쓸 수 있습니다.
expected_snapshot_hashYessource_job_id 작업 결과의 snapshot_hash 를 그대로 입력합니다(소문자 16진수 64자리). 그 작업의 내용과 맞지 않으면 진행하지 않고 작성 내용이 바뀌었다는 오류(409)로 거절합니다.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, but the description adds the details an agent actually needs: the irreversible institutional write, the two-call confirmation_token handshake with WRITE_CONFIRMATION_REQUIRED, single-use/10-minute expiry, token invalidation on any argument change, the confirm_submit/sbms_agreement/confirm_warnings gating rules, and the resulting error codes (409/422). This is well beyond what the annotations convey and is consistent with them.

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

Conciseness3/5

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

The login precondition is correctly front-loaded and the flow reads in execution order, but the Korean and English passages duplicate the same preview/token instructions verbatim in substance, and the trailing paragraph about XBOSS job creation and 'not purely read-only' restates what the annotations already declare. Tighter single-language structuring would preserve all information at roughly two-thirds the length.

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?

For a destructive two-phase write with no output schema, the definition covers preconditions, gating flags, error codes, and post-submission verification, which is nearly everything an agent needs. The only soft spot is that the preview payload's contents and the shape of the returned acceptance results are left implicit, though the schema's submitUserAcknowledgements note covers part of that.

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% with very detailed per-parameter text, so the baseline is 3; the description earns one more by documenting cross-parameter behavior the schema documents only individually — that confirm_submit and sbms_agreement must be sent together, that confirm_submit must be true for submission, and that confirm_warnings is required only when content validation raised warnings. It does not restate format or pattern constraints, which the schema already handles.

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 description names a specific verb and resource — submitting a converted withholding-tax electronic file report to the institution — and explicitly separates it from the sibling steps it consumes ('preview 로 확인한', 'receipt 로 접수 여부를 확인'). An agent can tell this apart from preview, receipt, and the validation tools 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 Guidelines5/5

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

Guidance is explicit on all three axes: precondition (prior hometax__session__login with the same account_link_id), when not to act ('대상이 바뀌었으면 제출하지 않고', '이미 모두 접수된 대상이면 다시 제출하지 않고'), and the alternative to use instead ('결과가 불분명하면 다시 제출하지 말고 receipt 로'). Retry semantics are spelled out rather than 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