Skip to main content
Glama

홈택스 원천세 수정신고 제출

hometax__tax__withholding__amendment_report__submit
Destructive

REQUIRES prior hometax__session__login call with same account_link_id. 원천세 수정신고서를 기관에 제출합니다. 되돌릴 수 없는 기관 쓰기라 사용자의 제출 확인과 동의 값을 명시해야 합니다. 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>",
      "confirmSubmit": "<confirmSubmit>",
      "sbmsAgreement": "<sbmsAgreement>"
    },
    "name": "hometax__tax__withholding__amendment_report__submit"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmSubmitYes신고서를 실제로 제출한다는 확인값입니다. 미리보기(preview) 결과를 사용자에게 보여 주고 제출 동의를 받았을 때 true 로 입력합니다. true 가 아니면(빠지거나 false) 기관에 아무것도 보내지 않고 신고서 제출 확인이 필요하다는 오류(400)로 거절합니다. 이 값도 확인 토큰이 가리키는 요청 본문에 들어가므로 확인 토큰을 받는 첫 요청부터 함께 입력합니다. 나중에 더하면 본문이 달라져 확인 토큰을 다시 받아야 합니다. 1 이나 yes, on 처럼 true 로 읽히는 값도 true 로 받고, true 나 false 로 읽을 수 없는 값은 입력 오류로 거절합니다.
sbmsAgreementYes신고 내용에 동의한다는 확인값입니다. 사용자에게 신고 내용 동의를 받았을 때 true 로 입력하며, true 가 아니면(빠지거나 false) 기관에 아무것도 보내지 않고 신고서 제출 동의가 필요하다는 오류(400)로 거절합니다. 이 값은 기관에 보내지 않고 제출 전 확인에만 씁니다. 이 값도 확인 토큰이 가리키는 요청 본문에 들어가므로 확인 토큰을 받는 첫 요청부터 함께 입력합니다. 나중에 더하면 본문이 달라져 확인 토큰을 다시 받아야 합니다. 1 이나 yes, on 처럼 true 로 읽히는 값도 true 로 받고, true 나 false 로 읽을 수 없는 값은 입력 오류로 거절합니다.
source_job_idYes이어서 진행할 이전 단계 작업의 job_id 를 그대로 입력합니다(job_ 으로 시작하는 작업 번호). 미리보기(preview) 결과를 받습니다. 같은 조직과 환경, 같은 기관 연결에서 이 신고 유형으로 성공한 작업이어야 하고 아니면 진행하지 않고 거절하며, 받지 않는 작성 상태의 결과이면 409 로 거절합니다.
account_link_idNo연동 ID(UUID v4). 선택 입력입니다. 비워 두면 서버가 API 키로 연동을 찾아 씁니다. 같은 기관에 인증서를 여러 개 연동했을 때만 직접 입력해 주세요. 기관마다 ID 가 다릅니다.
confirmWarningsNo기관 검증 경고를 확인했다는 값입니다. 검토(review) 결과의 workflow_gate.warnings_confirmation_required 가 true 였던 신고서는 이 값이 true 여야 제출하고, 아니면 기관에 아무것도 보내지 않고 검증 경고를 확인해 달라는 오류(422)로 거절합니다. 경고 없이 검토를 통과한 신고서(workflow_gate.can_submit 이 true)에는 필요 없습니다. 이 값도 확인 토큰이 가리키는 요청 본문에 들어가므로 확인 토큰을 받는 첫 요청부터 함께 입력합니다. 나중에 더하면 본문이 달라져 확인 토큰을 다시 받아야 합니다. 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.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, but the description goes well beyond: it names the operation as an irreversible institutional write, requires user consent values, discloses the one-time token's 10-minute expiry and single use, notes that changing any argument invalidates the token, and mentions XBOSS job creation. This is exactly the kind of context annotations cannot convey.

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 prerequisite is correctly front-loaded, but the text is bilingual and repeats itself: 'This writes to the institution' duplicates '되돌릴 수 없는 기관 쓰기', and the closing sentence about 기관 원본 조회 여부 restates that the call is not read-only for a third time. The core instructions are buried in that redundancy.

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, stateful submission tool with 7 parameters, the description covers login prerequisite, preview/consent workflow, token lifecycle, argument-change invalidation, warning confirmation gating, and the specific error codes (400/409/422) an agent may encounter. No output schema exists, but the preview result is described as what will be shown to the user, which is sufficient.

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, but the description adds a cross-parameter invariant the schema does not state: the token binds to the full request body, so all arguments including confirmSubmit/sbmsAgreement/confirmWarnings must be present from the first token request or the token becomes invalid. It also explains the error code that signals the preview phase (WRITE_CONFIRMATION_REQUIRED).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource: submits ('제출') an amendment withholding tax report ('원천세 수정신고서') to the institution. The two-phase preview-then-commit nature is made explicit, which separates it from the sibling preview/review tools. It does not name those siblings directly, so an agent must infer the boundary from the tool name.

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 preconditions ('REQUIRES prior hometax__session__login call with same account_link_id'), explicit workflow (first call returns preview + token, second call with same args + token executes), and explicit prohibition ('Never add the token without the user's agreement'). Also explains the conditional confirmWarnings path tied to workflow_gate.warnings_confirmation_required. Nothing about when or when-not to use 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