XBOSS
Server Details
Korean national tax and social insurance filings, invoices and payroll data as MCP tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 99 tools
Most tools have detailed descriptions that clearly distinguish them, and the provider/domain prefixes help separate concerns. However, several clusters (certificate apply variants, KB Biz Card search lifecycle tools) are similar enough that an agent may need to read descriptions carefully. Overall, tools are distinct enough for reliable selection.
The snake_case provider__domain__...__action pattern is broadly consistent, but there are irregularities such as apply_auto vs apply__business_registration and the historical search_or_pay. Action verbs also vary (get, search, list, select, check_status) without a single convention. This mixed style is readable but not fully predictable.
With 99 tools, the surface is extremely large and far beyond the 25+ threshold, even for a multi-provider aggregator. While each tool may serve a purpose, the sheer number makes it difficult for an agent to navigate and choose effectively. This is an extreme tool count mismatch.
The set covers a wide range of operations across tax, insurance, payroll, and banking domains, including full lifecycles for work24 subsidies and e-tax invoice correction. Read-only inquiry, certificate applications, and composite payroll packs are well represented. Minor gaps exist (e.g., no cancel for irreversible applications) but these are inherent to the domain.
Available Tools
99 toolscomwel__auth__npki_session__login근로복지공단 로그인AInspect
Call this FIRST before any other tool for this provider. Login to COMWEL via NPKI AnySign certificate.
| Name | Required | Description | Default |
|---|---|---|---|
| auth_provider | No | Auth provider: npki_anysign (default: npki_anysign) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_registration_no | Yes | 10-digit business registration number (e.g. 1234567890) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate the operation is neither read-only nor destructive, and the description adds useful context that the login uses NPKI AnySign and must precede other provider calls. It does not disclose behaviors like session timeout, repeat-login behavior, or failure outcomes, but the core side effect of establishing a login is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the ordering instruction front-loaded before the purpose. It contains no filler and does not redundantly repeat parameter details from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple login tool with fully documented parameters, the description provides the essential ordering context and the certificate mechanism. It could note whether to check session status afterward or what the response indicates, but the schema and straightforward operation make it sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies: auth_provider, account_link_id, and business_registration_no are fully documented in the schema. The description's mention of 'NPKI AnySign' aligns with the auth_provider default but adds no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Login to COMWEL via NPKI AnySign certificate,' naming a specific action, resource, and authentication method. It also scopes the tool to 'this provider,' which clearly distinguishes it from sibling logins like hometax__session__login or work24__auth__npki_session__login.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Call this FIRST before any other tool for this provider,' giving strong ordering guidance. However, it does not mention when not to use it or point to the sibling comwel__auth__session__status as a way to verify an existing session, so it lacks full exclusion/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comwel__auth__session__status근로복지공단 세션 상태 조회BRead-onlyInspect
Check COMWEL session status.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, and the word 'Check' aligns with that. However, the description adds no behavioral context beyond the annotations—it does not explain what statuses are returned, whether the session is refreshed, or what happens when no session exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is adequately concise for a simple status tool, though its brevity begins to approach under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, read-only, and the only optional parameter is fully documented in the schema. However, with no output schema and no description of the returned session status or its role in the login flow, the agent is left without complete context for interpreting the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the account_link_id schema description already covers optionality, API-key auto-resolution, multi-certificate scenarios, and institution-specific IDs. The free-text description contributes no additional parameter semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action, 'Check', against a specific resource, 'COMWEL session status'. The COMWEL prefix plus 'session status' clearly distinguishes it from sibling login tools and data-retrieval tools in the same provider family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling session/login tools. It does not say 'call after login', 'call before COMWEL info queries', or name any alternative, so the agent must infer usage from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fourinsure__session__login4대보험 EDI 로그인AInspect
Call this FIRST before any other tool for this provider. Login to FourInsure (4대보험) EDI. Returns API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| auth_provider | No | Auth provider: manual_session | npki_anysign (default: npki_anysign) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) provide limited safety info. The description adds that the tool returns an API_KEY and must be called first, which is useful behavioral context. However, it does not disclose session lifetime, side effects of creating a session, or how the API_KEY should be used subsequently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The critical sequencing instruction is front-loaded ('Call this FIRST'), followed by the action and return value. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple login tool, the description covers the essential purpose and ordering, but it does not explain what the API_KEY is used for, how it integrates with other tools, or the session's validity period. Since there is no output schema, the description should carry more explanatory weight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are fully documented in the schema. The description adds no parameter-level semantics beyond what the schema already provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (login) on a specific resource (FourInsure 4대보험 EDI) and names its return value (API_KEY). It also distinguishes this tool from sibling login tools for other providers by explicitly naming FourInsure and saying 'for this provider'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use this tool: 'Call this FIRST before any other tool for this provider.' This gives a clear sequencing context. It does not explicitly mention alternatives for other providers, but that is implied by 'for this provider' and the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__cash_receipt__daily_issue__search일일 현금영수증 발행 내역 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search cash receipt issuance records for a single day (당일 발급 조회). trs_dt is optional; omitting it means today. The adapter documents this endpoint as same-day only, so other dates are not a supported lookup. Counts: totalCount (and the same value in pageInfoVO.totalCount) is the record count for this query and is never fewer than the rows in this response; collectionMeta says whether this response already holds all of them (complete) and how many came back (collectedCount). When complete is false, ask for the next page.
| Name | Required | Description | Default |
|---|---|---|---|
| trs_dt | No | Transaction date YYYYMMDD (e.g. 20250731). Optional — defaults to today. | |
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description goes well beyond annotations by explaining the meaning of totalCount (record count, never fewer than rows), the collectionMeta flag (complete vs collectedCount), and explicitly instructing pagination when complete is false. This is rich behavioral disclosure well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but dense and front-loaded with the most critical requirement (login) and scope (single day). It uses compact sentences and avoids fluff, though the count explanations could be tightened. Still, every sentence adds value, so it earns a four rather than a five.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining the return fields (totalCount, collectionMeta, collectedCount) and pagination logic. It covers login, date scope, and parameter nuances. An agent has everything needed to call this correctly and interpret results. Highly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. However, the description adds practical context for parameters: trs_dt defaults to today, account_link_id should be explicit only with multiple certificates, and the pagination instruction ties page_num to the collectionMeta.complete flag. This goes beyond the schema's field-level descriptions and aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource: 'Search cash receipt issuance records for a single day (당일 발급 조회)'. This clearly distinguishes it from sibling tools like purchase search and sales search, and the same-day scope is explicit. Purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires a prior hometax__session__login call with the same account_link_id, and states that the endpoint is same-day only, so other dates are not supported. It does not name alternatives explicitly, but the same-day restriction and login prerequisite are clear and actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__cash_receipt__purchase__search_history현금영수증 매입 내역 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search cash receipt purchase history. from_date/to_date are required (YYYYMMDD or YYYY-MM-DD). 국세청 rejects ranges longer than 3 months with '조회기간은 최대 3개월 까지 가능합니다.' — split longer periods into 3-month calls. Counts: totalCount (and the same value in pageInfoVO.totalCount) is the record count for this query and is never fewer than the rows in this response; collectionMeta says whether this response already holds all of them (complete) and how many came back (collectedCount). When complete is false, ask for the next page.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | Yes | End date YYYYMMDD or YYYY-MM-DD (e.g. 20260131). Required. | |
| page_num | No | Page number (default 1) | |
| from_date | Yes | Start date YYYYMMDD or YYYY-MM-DD (e.g. 20260101). Required. | |
| max_pages | No | Safety cap when fetch_all_pages is true (default 100) | |
| page_size | No | Page size (default 10) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| fetch_all_pages | No | true collects every page instead of one (default false). Each page is a separate NTS request, so it is slower. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and non-destructive, and the description adds substantial behavioral detail beyond that: the mandatory prior login, the 3-month range rejection with the exact server error message, and the nuanced pagination semantics involving totalCount, pageInfoVO.totalCount, collectionMeta.complete, and collectionMeta.collectedCount. This gives the agent actionable knowledge about how the API behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: prerequisite, core purpose, required parameters, date-limit rule with error message, and pagination/count interpretation. It is front-loaded with the most critical prerequisite and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated read-only search tool with 7 parameters and no output schema, this description covers the non-obvious operational details an agent cannot infer: the 3-month cap, the exact rejection message, the distinction between totalCount and row count, and how collectionMeta indicates whether more pages exist. page_num, page_size, fetch_all_pages, and max_pages are already documented in the schema, so they do not need repeating.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds value beyond the schema: it emphasizes that from_date/to_date are required, specifies the accepted date formats, and ties account_link_id to the session login. It also explains the meaning of count-related response fields, even though those are output semantics rather than parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Search cash receipt purchase history.' This is specific and unambiguous, and the title reinforces it. However, it does not explicitly differentiate this from the sibling cash-receipt tools (sales history, daily issue), relying on the resource name and tool name instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong usage context: it requires a prior hometax session login with the same account_link_id, requires both dates, and instructs the agent to split periods longer than 3 months. It does not explicitly compare against alternative cash-receipt tools, but the prerequisites and operational constraints are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__cash_receipt__sales__search_history현금영수증 매출 내역 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search cash receipt sales history. from_date/to_date are required (YYYYMMDD or YYYY-MM-DD). Counts: totalCount (and the same value in pageInfoVO.totalCount) is the record count for this query and is never fewer than the rows in this response; collectionMeta says whether this response already holds all of them (complete) and how many came back (collectedCount). When complete is false, ask for the next page.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | Yes | End date YYYYMMDD or YYYY-MM-DD (e.g. 20260131). Required. | |
| page_num | No | Page number (default 1) | |
| from_date | Yes | Start date YYYYMMDD or YYYY-MM-DD (e.g. 20260101). Required. | |
| max_pages | No | Safety cap when fetch_all_pages is true (default 100) | |
| page_size | No | Page size (default 10) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| fetch_all_pages | No | true collects every page instead of one (default false). Each page is a separate NTS request, so it is slower. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining the count semantics: totalCount equals pageInfoVO.totalCount and is never less than the number of rows in the response. It also introduces collectionMeta's complete and collectedCount fields and instructs the caller to ask for the next page when complete is false. This is exactly the behavioral context an agent needs given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and wastes no words; the prerequisite is front-loaded before the action. The counts/collectionMeta explanation is dense but necessary, and there is no redundant or promotional language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter search tool with no output schema, the description covers the login prerequisite, required dates, and the all-important pagination/collectionMeta behavior. It does not list the response record fields, but that is a minor omission given the tool's role as a history search and the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter. The description only re-states the date format and requiredness, adding no new parameter-level semantics. The valuable detail it adds is about response pagination, which is not parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Search cash receipt sales history.' The name and Korean title ('현금영수증 매출 내역 조회') reinforce that this is the sales-history variant, distinguishing it semantically from purchase history and summary tools. However, the description itself does not explicitly compare to sibling tools, so an agent must rely on the naming convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly requires a prior hometax__session__login call with the same account_link_id, which is the first sentence and immediately orients the agent. It also explains the mandatory from_date/to_date and tells the agent to request the next page when complete is false. It does not, however, state when to prefer this tool over hometax__cash_receipt__sales__search_summary or the daily-issue search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__cash_receipt__sales__search_summary현금영수증 매출 합계 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search cash receipt sales annual summary. Use cmtt_yr for the target year. Optionally specify qrt (quarter 1-4) for quarterly breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| qrt | No | Quarter 1-4. Optional — omit for full-year summary. | |
| cmtt_yr | Yes | Target year YYYY (e.g. '2025'). Required. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and non-destructive. The description adds a valuable behavioral/operational constraint: the login session dependency and account_link_id matching requirement. This goes beyond the annotations by telling the agent what must be true before calling the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences with no filler. The required login prerequisite is front-loaded, followed by the core purpose and parameter usage. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only summary tool with 100% schema coverage and only one required parameter, the description is sufficient. It covers the critical login prerequisite and parameter usage; because there is no output schema, a bit more detail about the expected result (e.g., total amount fields) could have been added, but this is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters and their types. The description adds helpful usage semantics by pointing to cmtt_yr as the target year and qrt as the optional quarterly filter for 1-4, reinforcing how the parameters work together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states a specific verb and resource: 'Search cash receipt sales annual summary.' The use of 'annual summary' and optional 'quarterly breakdown' differentiates it from sibling tools like hometax__cash_receipt__sales__search_history, which would handle detailed transaction search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the required prerequisite: a prior hometax__session__login call with the same account_link_id. It also tells the agent to use cmtt_yr for the target year and qrt for quarterly breakdown, giving clear context for invocation, though it does not explicitly describe when to prefer this tool over related history-search siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply_auto증명서 자동 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for a certificate using the logged-in taxpayer's own details. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| cert_template | No | Certificate template slug. One of: cert_gukse_wannap 국세완납증명 / cert_napse_sasil 납세사실증명 / cert_bugase_gwase_pyojun 부가가치세과세표준증명 / cert_saeopja_deungrok_jeungmyeong 사업자등록증명 / cert_hyupeop_sasil 휴업사실증명 / cert_pyojun_jaemu_jepyo 표준재무제표증명 / cert_pyepeop_sasil 폐업사실증명 / cert_saeopja_jaebalgup 사업자등록증 재발급 / cert_sodeuk_geumaeg_jeungmyeong 소득금액증명. Defaults to cert_gukse_wannap when omitted; any other value is refused before the NTS is contacted. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| use_company_tin | No | true (default) uses the corporate TIN; false uses the representative's personal TIN. | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare destructiveHint=true and readOnlyHint=false; the description adds that the action is irreversible, files a real application with the NTS, creates a receipt record (cvaId + rcatNo), and has no cancel action. It also instructs the agent to never set confirm=true autonomously, which is critical behavioral context. This is exactly the kind of side-effect disclosure annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: prerequisite, action, irreversibility, then confirm workflow. The all-caps warnings draw attention to critical constraints without becoming noise. No sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter irreversible external action, the description covers the dependency, the irreversibility, the receipt outcome, and the exact confirm flow. It does not describe the preview response shape or how to route to sibling download/apply tools, but the schema covers parameter semantics. It is sufficient for correct invocation in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the input schema already documents every parameter, including confirm's two-phase semantics, cert_template enums and defaults, optional account_link_id, and use_company_tin default. The description itself adds no additional parameter-level details beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Apply for a certificate using the logged-in taxpayer's own details') and the resource, making it more than a tautology. It does not explicitly distinguish this generic auto tool from sibling tools like hometax__certificate__apply__business_registration or hometax__certificate__apply_with_template, so agents must infer the difference from the name. Clear, but missing explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit execution guidance: a prior hometax__session__login with the same account_link_id is required, and the preview-then-confirm=true retry workflow is spelled out. It does not, however, state when to choose this tool over the sibling certificate apply tools, so the 'when not to use' side is missing. This is clear context without explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply__business_registration사업자등록증명 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for Business Registration Certificate. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description goes beyond by explaining the specific consequences: it files an application with the NTS, creates a receipt record (cvaId + rcatNo), and is irreversible with no cancel. It also discloses the preview/confirm behavior. This adds valuable behavioral context that annotations do not convey, and it does not contradict the destructive hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-ordered: it front-loads the prerequisite, states the purpose, then delivers the critical warning and step-by-step usage. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex action with 8 parameters and no output schema, the description covers the essential behavioral context: prerequisite login, irreversibility, and the confirm workflow. It doesn't mention alternatives like reissue or auto-apply, but the name and the clear application flow are sufficient for an agent to proceed correctly. Slight gap in not differentiating from sibling certificate apply tools, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented in the schema itself. The description does not add new meaning for most parameters; it repeats the confirm guidance already in the schema ('Omit it on the first call...'). Since the schema already provides comprehensive parameter descriptions, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Apply for Business Registration Certificate') with a specific resource, and the name itself distinguishes it from the reissue sibling. It doesn't explicitly contrast with siblings like apply_auto or reissue, but the verb 'Apply' and the certificate type make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit prerequisites (prior login with same account_link_id) and a clear two-step workflow: call without confirm to preview, show to user, then retry with confirm=true. It also issues a strong directive ('Never set confirm=true on your own') and notes the lack of a cancel action, which fully guides an agent on when and how to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply__business_registration_reissue사업자등록증 재발급 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for Business Registration Reissuance. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the action is IRREVERSIBLE, files an application with the NTS, creates a receipt record (cvaId + rcatNo), and has no cancel action. This goes well beyond the annotations (readOnlyHint=false, destructiveHint=true) by explaining the exact consequence and the absence of undo. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the most critical information (prerequisite, irreversibility, two-step confirm flow). Every sentence earns its place; no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible action with 8 parameters and no output schema, the description covers the prerequisite, the workflow, the irreversibility, and the confirm safety rule. The only minor gap is not describing the preview/response format, but the two-step flow is fully specified and the schema covers parameters. This is complete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters. The description adds value by explaining the confirm parameter's two-phase semantics and the account_link_id auto-resolution behavior, but most parameter meaning is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Apply for Business Registration Reissuance') and resource, and the title confirms the Korean equivalent. It clearly distinguishes this from sibling tools like hometax__certificate__apply__business_registration (initial application) and hometax__certificate__apply_auto, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite (prior hometax__session__login with same account_link_id), the required two-step flow (call without confirm to preview, show to user, retry with confirm=true), and a hard rule ('Never set confirm=true on your own'). This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply__financial_statement표준재무제표증명 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for Standard Financial Statement Certificate. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| bsno | No | 대상 사업자등록번호(숫자 10자리) (서식이 요구하는 값) | |
| txyr | No | 과세년도(개인, YYYY) (구분에 따라 서식이 요구하는 값) | |
| qrtTrt | No | 개인/법인 구분 코드(02 개인, 03 법인) (서식이 요구하는 값) | |
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| incClCd | No | 소득구분(개인) (구분에 따라 서식이 요구하는 값) | |
| bsyrEndYm | No | 사업연도 종료연월(법인, YYYYMM) (구분에 따라 서식이 요구하는 값) | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, and the description substantially enriches this by disclosing the concrete consequences: an application is filed with the NTS, a receipt record (cvaId + rcatNo) is created, and no cancel action exists. It also discloses the auth dependency and the confirm safety rule — exactly the context annotations alone cannot convey. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, each earning its place: prerequisite, action, irreversibility with concrete effects, and the preview/confirm safety rule. Critical warnings are front-loaded ahead of the workflow instructions, though the block could be structurally clearer; it remains efficient with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-phase tool with 13 parameters and no output schema, the description covers the prerequisite, the correct call sequence, irreversibility, and hints at the response shape (cvaId + rcatNo). It would benefit from describing the preview response contents and the follow-up download step, but nothing needed to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies; all 13 parameters are documented in the schema. The description adds only flow-level context for confirm and account_link_id (the preview/confirm sequence and the same-ID-as-login requirement), which is helpful but does not add per-parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-object pair — 'Apply for Standard Financial Statement Certificate' — that matches the Korean title and precisely identifies the resource. With many hometax__certificate__apply__* siblings (business_registration, tax_payment_record, vat_standard, etc.), naming the exact certificate type is sufficient differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a hard prerequisite ('REQUIRES prior hometax__session__login call with same account_link_id') and a mandatory two-phase workflow: preview first, retry with confirm=true, plus the rule 'Never set confirm=true on your own.' It does not explicitly name alternatives or when-not-to-use conditions relative to sibling apply tools, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply__national_tax_payment국세납부증명서 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for National Tax Payment Certificate from Hometax. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by stating that the action is IRREVERSIBLE, files an application with the NTS, creates a receipt record (cvaId + rcatNo), and has no cancel action. It also warns against setting confirm=true on one's own, which is critical behavioral context not present in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most critical requirement (prior login), then states purpose, then irreversibility, then the confirm workflow. Each sentence adds essential operational information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema, the description covers the prerequisites, the irreversible nature, and the confirm workflow, which are the most critical operational details. It does not describe the preview content or the final response structure, but the mention of cvaId and rcatNo gives a partial return hint. This is reasonably complete for a complex application tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 8 parameters with 100% coverage. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool applies for a National Tax Payment Certificate from Hometax, using the specific verb 'apply' and the specific resource. It distinguishes itself from sibling certificate application tools by naming the certificate type explicitly, even though it does not name a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage conditions: it requires a prior hometax__session__login call with the same account_link_id, and it prescribes a two-step workflow (preview without confirm, then retry with confirm=true). It does not, however, name alternatives or exclusion conditions, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply__tax_payment_record납세증명서 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for Tax Payment Record Certificate. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| endMm | No | Receipt period end month MM (납세사실증명 전용) | |
| strtMm | No | Receipt period start month MM (납세사실증명 전용) | |
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| cerEndYr | No | Receipt period end year YYYY (납세사실증명 전용) | |
| cerStrtYr | No | Receipt period start year YYYY (납세사실증명 전용) | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the destructiveHint annotation by explaining the exact consequence: the application is filed irreversibly with the NTS, a receipt record (cvaId + rcatNo) is created, and no cancel action exists. It also discloses the confirmation safeguard and the need for user approval, which is valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences carry the prerequisite, irreversibility warning, confirm workflow, and a firm safety rule without wasted words. Critical information is front-loaded, making the description easy to scan and act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with 12 parameters and no output schema, the description covers the essential context: prerequisite, irreversibility, receipt record creation, and the required preview-confirm sequence. It does not explain what the preview looks like or where cvaId/rcatNo appear in the response, but the workflow is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 12 parameters. The description reinforces the confirm parameter's workflow semantics but does not add substantial meaning beyond what the parameter descriptions already state. This matches the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Apply for Tax Payment Record Certificate,' which clearly identifies the action and object. It does not explicitly differentiate from sibling certificate-apply tools such as national_tax_payment or business_registration, but the resource name is specific enough to avoid major ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: it requires a prior hometax__session__login with the same account_link_id and prescribes a two-step preview-then-confirm workflow. It clearly instructs the agent never to set confirm=true independently, which is strong usage guidance, though it does not explicitly contrast this tool with sibling certificate-apply alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply__vat_standard부가가치세표준증명서 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for VAT Standard Certificate. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry coarse flags (readOnlyHint=false, destructiveHint=true); the description concretizes them by disclosing that the call files an irreversible application with the NTS, creates a receipt record (cvaId + rcatNo), and offers no cancel action. It also reveals the safe preview path before the irreversible step — exactly the behavioral context annotations cannot express. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each substantive: prerequisite, purpose, irreversibility warning, and the two-step confirm discipline. Nothing is wasted and the most critical constraint (prior login) is front-loaded. The heavy ALL-CAPS emphasis is stylistically loud but not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-stakes irreversible filing tool with 8 parameters, the description delivers the critical behavioral context (login prerequisite, preview-before-confirm, no cancel) while the schema carries parameter documentation at 100%. Mentioning the receipt record (cvaId + rcatNo) partially compensates for the absent output schema. Code-valued parameters lack enumerations, but that is a schema gap, not a description gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies — all 8 parameters are already documented in the schema. The description's confirm-workflow guidance overlaps with the schema's own confirm parameter description and adds no new meaning for the other parameters (adrOpYn, amtOpYn, cvaDcumGranMthdCd, etc.).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
'Apply for VAT Standard Certificate' states a specific verb and resource, and naming the certificate type distinguishes it from sibling apply tools (business_registration, financial_statement, tax_payment_record). However, this differentiation comes primarily from the tool name/title itself; the description largely restates the purpose rather than adding new distinguishing context, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear prerequisite (prior hometax__session__login with the same account_link_id) and a precise invocation sequence (call without confirm for a preview, show the user, then retry with confirm=true), plus an explicit prohibition against autonomous confirmation. It does not name sibling alternatives or state when-not-to-use, but the workflow and precondition provide clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__apply_with_template증명서 템플릿 신청ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Apply for a certificate with an explicitly chosen template. IRREVERSIBLE: this files an application with the NTS and a receipt record (cvaId + rcatNo) is created; there is no cancel action. Call without confirm first to get a preview, show it to the user, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| adrOpYn | No | Show address on the certificate: 'Y' or 'N' | |
| amtOpYn | No | Show amount: 'Y' or 'N' | |
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| resnoOpYn | No | Show resident number: 'Y' or 'N' (forced 'N' for corporations) | |
| cerpIsnRqsQty | No | Number of copies to issue (발급 매수) | |
| cert_template | No | Certificate template slug. One of: cert_gukse_wannap 국세완납증명 / cert_napse_sasil 납세사실증명 / cert_bugase_gwase_pyojun 부가가치세과세표준증명 / cert_saeopja_deungrok_jeungmyeong 사업자등록증명 / cert_hyupeop_sasil 휴업사실증명 / cert_pyojun_jaemu_jepyo 표준재무제표증명 / cert_pyepeop_sasil 폐업사실증명 / cert_saeopja_jaebalgup 사업자등록증 재발급 / cert_sodeuk_geumaeg_jeungmyeong 소득금액증명. Defaults to cert_gukse_wannap when omitted; any other value is refused before the NTS is contacted. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| cvaDcumGranMthdCd | No | Delivery method code (교부방법 코드) | |
| cvaDcumSbmsOrgnClCd | No | Submission target code (제출처 구분코드) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true), the description discloses that the action is irreversible, files an application with the NTS, and creates a receipt record. It also warns about the no-cancel nature, which is critical for a destructive operation. This adds substantial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences that front-load the most critical information (login requirement, irreversibility) before the usage flow. No wasted words; every sentence adds essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no output schema, the description covers the prerequisites (login), side effects (irreversible, receipt creation), and the confirm workflow. It also mentions the receipt identifiers (cvaId, rcatNo) for the agent's awareness. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by linking account_link_id to the login requirement and explaining the confirm parameter's role in the preview/confirm flow. While the schema already documents parameters well, the description reinforces the critical confirm semantics and the template selection context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: applying for a certificate with an explicitly chosen template. It distinguishes this from generic auto-apply and specific certificate types (like business registration) by emphasizing template selection, making it easy for an agent to know when to use this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly requires a prior login with the same account_link_id, and provides a precise two-step workflow: call without confirm to get a preview, then retry with confirm=true after user approval. It also gives a clear prohibition ('Never set confirm=true on your own'), which is actionable guidance for safe usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__download증명서 다운로드ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Download an issued certificate as PDF (returned base64-encoded). Get cva_id/rcat_no from the certificate application result (hometax__certificate__apply_auto or apply_with_template).
| Name | Required | Description | Default |
|---|---|---|---|
| cva_id | Yes | Certificate ID (증명서 ID, cvaId) | |
| rcat_no | Yes | Receipt number (접수번호, rcatNo) | |
| rpt_pkg_pth | No | Report package path (rptPkgPth). Optional — looked up from the certificate list when omitted. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only/non-destructive; the description adds useful context by specifying that the result is a base64-encoded PDF and that a prior login with the matching account_link_id is required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the precondition front-loaded before the action. Every sentence carries distinct information: prerequisite, action+output format, and parameter source. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description compensates by stating the output is a base64-encoded PDF, and it covers the only hard prerequisites (prior login and parameter provenance). Between the schema's parameter descriptions and this overview, an agent has enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so baseline is 3. The description adds acquisition context (where cva_id/rcat_no come from, optional rpt_pkg_pth lookup) but does not redefine the parameters' meanings; the schema remains the primary source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete action ('Download an issued certificate as PDF'), identifies the output encoding (base64), and clearly separates this download tool from the sibling apply/list tools by referencing 'issued certificate' and the application-result source. The verb+resource+format specificity is enough for an agent to know what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the prerequisite ('REQUIRES prior hometax__session__login call with same account_link_id') and tells the agent exactly where to obtain cva_id/rcat_no: from hometax__certificate__apply_auto or apply_with_template. It does not explicitly discuss when not to use it or mention the certificate-list alternative, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__list공인인증서 목록 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. List certificate applications already filed at Hometax (민원증명 발급 목록) with their receipt ids (cvaId, rcatNo). Read-only. Without strt_dt/end_dt only the last 3 days are returned, so an empty result does not mean the taxpayer has no certificates — widen the period to look further back. Send both dates or neither. One call covers at most one calendar month (strt_dt no earlier than end_dt minus one month); a longer period is refused, because the institution returns an empty list for it instead of an error — split it into monthly calls.
| Name | Required | Description | Default |
|---|---|---|---|
| end_dt | No | Application end date YYYYMMDD or YYYY-MM-DD. Optional; omitting it means today. Send together with strt_dt. | |
| strt_dt | No | Application start date YYYYMMDD or YYYY-MM-DD. Optional; omitting it means 3 days ago. Send together with end_dt. No earlier than end_dt minus one month. | |
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds critical behavioral detail: the default 3-day window, the misleading empty-result behavior, the one-calendar-month limit, and the institution returning an empty list instead of an error for long periods. This is exactly the kind of non-obvious runtime behavior an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place. It front-loads the mandatory prerequisite, then states purpose, read-only nature, date defaults, and edge-case behavior in a structured, scannable way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation with no output schema, the description covers prerequisites, defaults, pagination-relevant date constraints, failure semantics, and the key returned identifiers. An agent has what it needs to call this tool correctly and interpret empty results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining that both dates must be sent together, that omitting them means a 3-day window, and that periods longer than one month are refused and should be split into monthly calls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List certificate applications already filed at Hometax with their receipt ids (cvaId, rcatNo).' It clearly distinguishes this read/list operation from sibling apply/download tools by emphasizing 'already filed.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly requires a prior hometax__session__login call with the same account_link_id, giving a clear precondition. It also provides concrete guidance on date usage: 'Send both dates or neither' and how to handle empty results by widening the period. It does not explicitly name alternatives, but the conditions are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__certificate__list_templates증명서 템플릿 목록 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. List the certificate templates that can be applied for (9). The slugs returned here are exactly the values accepted by cert_template; nothing else is.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context beyond annotations: the tool requires a prior login and guarantees that its returned slugs are the only accepted values for cert_template. It does not describe failure behavior or output format, but the safety profile is already covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The prerequisite is front-loaded, the action is stated directly, and the final sentence adds a high-value constraint about slug validity. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with one optional parameter, this is complete: it states the precondition, the purpose, and the meaning of the return values. The lack of an output schema is mitigated because the description already tells the agent that the result is the set of cert_template-accepted slugs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the optional account_link_id parameter is already fully documented in the schema. The description does not need to add parameter detail and does not meaningfully expand on it beyond tying it to the login prerequisite.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('certificate templates that can be applied for'), and adds a critical scoping detail: the returned slugs are exactly the values accepted by cert_template, and nothing else. This clearly distinguishes the tool from sibling apply/list/download certificate tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit prerequisite: a prior hometax__session__login call with the same account_link_id. It also implicitly routes the agent to use these slugs with cert_template, but it does not explicitly name the alternative tool or state when not to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__business_info__get사업자 정보 조회 (전자세금계산서)ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Get business info for e-tax invoice purposes.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds a behavioral requirement (prior login with same account_link_id) and specifies the purpose, which helps the agent understand the operational context. It does not describe the return format or any other behavioral nuances, but given the annotation coverage, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The critical prerequisite is front-loaded, followed by a concise statement of the tool's purpose. Every word earns its place, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only operation with one optional parameter and no output schema, the description covers the essential context: the prerequisite and the purpose. It does not explain what the returned business info contains, but the tool name and purpose give a reasonable expectation. The lack of sibling differentiation is a minor gap, but overall the description is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter description in the schema is thorough (explains optionality, auto-resolution, multiple certificates, and cross-institution uniqueness). The tool description adds no additional parameter semantics beyond what the schema already provides. Baseline of 3 is appropriate when the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'business info' with a purpose ('for e-tax invoice purposes'). It is specific enough to indicate what the tool does, though it does not explicitly differentiate it from the sibling 'hometax__etax__client_info__get', which could be a similar lookup. The resource and purpose are unambiguous, but sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite (prior hometax__session__login with the same account_link_id), which is valuable guidance for when the tool can be used. However, it does not mention when to choose this tool over alternatives, nor any exclusions. The usage context is implied rather than explicitly contrasted with similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__client_info__get거래처 정보 조회 (전자세금계산서)ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Get client/counterparty info for e-tax invoicing.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the critical login prerequisite, which is behavioral context not present in annotations. It does not describe any other behaviors, but for a read-only getter this is adequate. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. The prerequisite is front-loaded and the purpose is stated directly. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with complete schema and safety annotations, the description covers the essential context: the login requirement and the purpose. It does not describe the return format, but with no output schema and a self-explanatory name, this is a minor gap. It is complete enough for an agent to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage and the account_link_id parameter is already well-documented in the schema description, including when to provide it and how it resolves. The tool description adds no additional parameter meaning, so a baseline of 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool gets client/counterparty info for e-tax invoicing, which is a specific verb and resource. It does not explicitly name a sibling alternative like hometax__etax__business_info__get, but the name and context make the distinction clear. It is clear but lacks explicit sibling differentiation, so a 4 is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite: 'REQUIRES prior hometax__session__login call with same account_link_id.' This is a clear condition for use. It does not mention when not to use or name alternatives, but for a simple lookup tool the prerequisite guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__invoice__issue전자세금계산서 발행ADestructiveInspect
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 수정세금계산서. Call without confirm first — you get a preview of exactly what will be issued; show it to the user, get their approval, then retry with confirm=true. Never set confirm=true on your own.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. Omit it on the first call to obtain the preview. | |
| splr_tin | No | Supplier TIN. Optional. | |
| dmnr_bsno | Yes | Buyer business registration number (구매자 사업자등록번호, 10 digits) | |
| item_name | Yes | Item/service name (품목명) | |
| bill_method | Yes | Billing method (청구방법): '01'=영수, '02'=청구 | |
| splr_mpb_no | No | 공급자 종사업장번호. 주사업장이면 "0". Optional (기본 "0"). | |
| supply_date | Yes | Supply date YYYYMMDD (공급일자) | |
| etxiv_knd_cd | No | Invoice kind code (세금계산서 유형 코드). Optional. | |
| etxiv_clsf_cd | No | Invoice class code (세금계산서 종류 코드). Optional. | |
| item_quantity | Yes | Item quantity (수량) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| item_unit_price | Yes | Unit price (단가, KRW) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=false and destructiveHint=true, but the description goes well beyond them by spelling out real-world consequences: buyer notification, automatic entry into VAT filing, irreversibility, and correction only via a 수정세금계산서. It also discloses the preview/confirm safety behavior and explicitly forbids setting confirm=true autonomously.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: prerequisite, core action, legal consequence, two-step confirmation workflow, and a blunt safety rule. The key constraints are front-loaded with REQUIRES and IRREVERSIBLE, and the whole description is compact for a destructive 12-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex destructive tool with no output schema, the description still gives an agent everything needed to execute safely and correctly: when to call, what the first call returns (a preview), what to do with it, and how to confirm. The explicit preview/approval contract compensates for the lack of a documented return schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema carries most of the parameter load, but the description adds important cross-parameter meaning: confirm is tied to the preview-then-approve workflow, and account_link_id must match a prior login session. These relationships are not inferable from the individual parameter descriptions alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action — issue an e-tax invoice to 국세청 — and adds a key behavioral distinction from the modify/search siblings by noting an issued invoice can only be corrected via a 수정세금계산서. The resource and target are explicit, so an agent can immediately tell this apart from invoice search or modify tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit prerequisite (prior hometax__session__login with the same account_link_id) and a precise two-step protocol: call without confirm first to get a preview, show the user, then retry with confirm=true only after approval. It stops short of explicitly naming sibling modify/search tools and stating when not to use this tool, but the required context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__invoice__modify전자세금계산서 수정ADestructiveInspect
REQUIRES prior hometax__session__login call with same account_link_id. Issue a correcting e-tax invoice (수정세금계산서) against an existing one. IRREVERSIBLE, same as issuing: call without confirm first to get a preview, show it to the user, then retry with confirm=true. You MUST ask the user which correction reason applies and pass etxiv_mdf_rsn_cd; never guess it.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Set true ONLY after showing the preview to the user and receiving their explicit approval. | |
| old_aprv_no | Yes | Approval number of the original invoice (원본 승인번호, 24 digits; hyphens allowed). Get it from hometax__etax__invoice__search_list. | |
| supply_date | Yes | YYYYMMDD. 수정세금계산서 작성일(사유 04 은 이 날짜로 발행) - 그 밖의 사유는 원본 작성일로 발행하고, 이 값은 원본에 발행일이 없을 때 환율조회 기준일로만 쓴다 | |
| etxiv_knd_cd | No | Invoice kind code (기본 '01'). Optional. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| etxiv_mdf_rsn_cd | Yes | 수정사유코드 - 사용자에게 물어서 받는다. 04 계약의 해제(당초분 전액 음수 1장(계약 해제일)) - 계약 전부가 해제됐을 때만 씁니다(일부 해지는 공급가액 변동). 계약 해제일이 속한 달의 다음 달 10일까지 발급해야 하며, 넘기면 지연발급 가산세 대상입니다. / 06 착오에 의한 이중발급(당초분 전액 음수 1장(당초 작성일)). This is recorded at 국세청 and cannot be undone. | |
| etxiv_dmnr_clsf_cd | No | Buyer class code (기본 '01'). Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true bottles, but the description adds crucial behavioral context: the operation is IRREVERSIBLE, requires a preview-confirm flow, and the reason code is recorded at the National Tax Service and cannot be undone. It also warns about late-issuance penalties for reason 04. These go well beyond the annotation flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the prerequisite, then purpose, then workflow, then a critical user-communication instruction. Every sentence earns its place; no redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive and irreversible operation with no output schema, the description covers all essential contexts: login prerequisite, preview-confirm safety flow, irreversibility, and the mandate to ask the user for the reason. It is sufficiently complete for an agent to execute safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents confirm's preview-approval requirement)Skip instruction, old_aprv_no's format/source, and reason codes' details. The description adds only marginal parameter meaning beyond the schema: it emphasizes the need to pass etxiv_mdf_rsn_cd (already in schema) and reinforces the confirm workflow. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Issue a correcting e-tax invoice'), the resource (an existing invoice via old_aprv_no), and the context (modification). It distinguishes itself from the ordinary hometax__etax__invoice__issue by saying 'against an existing one' and the title matches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear prerequisite (login with same account_link_id), a step-by-step workflow (preview first, show to user, then retry with confirm=true), and an explicit instruction to ask the user for the correction reason. It does not explicitly contrast with sibling tools like invoice__issue, but the purpose and required parameters make the distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__invoice__search_detail전자세금계산서 상세 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Get detailed information for a specific e-tax invoice by its 승인번호 (etan). Get etan from hometax__etax__invoice__search_list results.
| Name | Required | Description | Default |
|---|---|---|---|
| etan | Yes | Invoice approval number (승인번호, 24 chars). Obtain from hometax__etax__invoice__search_list results. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds meaningful behavioral context beyond the annotations: the session prerequisite and the dependency on a prior search_list call. This is useful operational information that the structured metadata does not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the critical prerequisite, then states the action and parameter source. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only detail lookup with 100% parameter coverage and clear annotations, the description is largely complete: it covers the login prerequisite, the required identifier, and how to obtain that identifier. The only minor gap is the absence of explicit return-field details, but the phrase 'detailed information' plus the absence of an output schema makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters, including the etan format and how to obtain it. The description repeats the etan sourcing but does not add new semantic meaning beyond what the schema already provides. A baseline of 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get detailed information for a specific e-tax invoice by its 승인번호 (etan).' It also references the sibling search_list tool as the source of the etan, which distinguishes this detail-retrieval tool from list/search/statistics tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes usage context: it requires a prior hometax__session__login call with the same account_link_id, and it explicitly tells the agent to obtain etan from hometax__etax__invoice__search_list results. It does not explicitly state when-not-to-use or compare against search_statistics/search_summary, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__invoice__search_list전자세금계산서 목록 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search e-tax invoices by date range. Use from_date/to_date (YYYYMMDD or YYYY-MM-DD). prh_sls_cl_cd: '01'=issued(매출), '02'=received(매입). 국세청 rejects long ranges with '6개월이상은 조회할 수 없습니다.' — keep the window under 6 months and split longer periods into several calls.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | Yes | End date YYYYMMDD or YYYY-MM-DD (e.g. 20260131) | |
| page_num | No | Page number (default 1) | |
| from_date | Yes | Start date YYYYMMDD or YYYY-MM-DD (e.g. 20260101) | |
| page_size | No | Page size (default 10) | |
| prh_sls_cl_cd | No | Invoice direction: '01'=issued(매출), '02'=received(매입). Default '01'. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and non-destructive. The description adds valuable behavioral context beyond those annotations: the mandatory prior login, the exact NTS rejection message '6개월이상은 조회할 수 없습니다.', and the resulting 6-month window constraint. It does not describe pagination or rate limits, but the added context is substantial and there is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the prerequisite, action, parameter guidance, and server-side constraint are stated in a handful of purposeful sentences with no filler. The important NTS range-limit warning is placed at the end without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list-search tool with no output schema, the description covers the core operation, login prerequisite, date formats, direction codes, and the critical 6-month range restriction. The main gap is explicit guidance on how this tool relates to sibling invoice search tools, which is already penalized under usage_guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description mostly restates what the schema already says: date formats for from_date/to_date and the '01'/'02' enum meaning for prh_sls_cl_cd. It adds emphasis but no genuinely new parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search e-tax invoices by date range', and the title '전자세금계산서 목록 조회' reinforces list retrieval. However, it does not explicitly distinguish itself from sibling tools such as search_detail, search_summary, or search_statistics, so it misses full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: it requires a prior hometax__session__login with the same account_link_id, documents date formats, and explains the prh_sls_cl_cd direction values. It also warns about the 6-month query limit and advises splitting longer periods, but it never names alternatives or says when to prefer a sibling search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__invoice__search_statistics전자세금계산서 통계 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search e-tax invoice monthly statistics. Use wrt_ym_strt/wrt_ym_end in YYYYMM format (e.g. 202507/202509 for July-September 2025).
| Name | Required | Description | Default |
|---|---|---|---|
| dt_cl | No | '01'=issued(작성일), '02'=received(전송일). Default '01'. | |
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| wrt_ym_end | Yes | End month YYYYMM (e.g. 202509 for September 2025). NOT a full date. | |
| wrt_ym_strt | Yes | Start month YYYYMM (e.g. 202507 for July 2025). NOT a full date. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a non-obvious dependency on an existing session and reinforces the YYYYMM date constraint. However, it does not disclose what the returned statistics contain or how pagination behaves, which matters for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The critical prerequisite is front-loaded, followed by the core action and the most important parameter-format example. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers invocation requirements: session dependency, date-range format, and the tool's core purpose. However, without an output schema, the substance of the returned 'monthly statistics' is left undefined, and the relationship to sibling search_summary/search_list tools is not clarified. It is sufficient for a straightforward call but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds value by giving a concrete date-range example and tying account_link_id to the preceding login call, which is not obvious from the schema alone. The remaining parameters are already well-documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action and resource: 'Search e-tax invoice monthly statistics.' This clearly distinguishes it from invoice issue/modify tools. However, it does not explicitly contrast it with sibling search_list or search_summary tools, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite: a prior hometax__session__login call with the same account_link_id. It also gives explicit date-format guidance for the required parameters. It does not name alternative tools or say when not to use this one, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__etax__invoice__search_summary전자세금계산서 합계 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search e-tax invoice summary (totals). Choose ONE date mode: (1) daily: set date_type='01' and start_date+end_date YYYYMMDD. (2) monthly: set date_type='02' and year+month. (3) quarterly: set date_type='03' and year+quarter. search_type '01'=issued(매출), '02'=received(매입).
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year (e.g. 2025). Required when date_type='02' (monthly) or '03' (quarterly). | |
| month | No | Month 1-12. Required when date_type='02' (monthly). | |
| quarter | No | Quarter 1-4. Required when date_type='03' (quarterly). | |
| end_date | No | End date YYYYMMDD (e.g. 20250930). Required when date_type='01' (daily). | |
| page_num | No | Page number (default 1) | |
| date_type | No | Date mode: '01'=daily(default, needs start_date/end_date), '02'=monthly(needs year+month), '03'=quarterly(needs year+quarter). | |
| page_size | No | Page size (default 10) | |
| start_date | No | Start date YYYYMMDD (e.g. 20250701). Required when date_type='01' (daily). | |
| search_type | No | '01'=issued(매출, default), '02'=received(매입). | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond those annotations: the hard session prerequisite and the conditional dependency between date_type and the other parameters. It does not contradict the annotations in any way.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph front-loaded with the critical precondition ('REQUIRES...') before the purpose. The numbered date modes are easy to scan. It is slightly packed — the parameter requirements are crammed into parentheticals — but no sentence is wasted and the essential info is immediate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no output schema, the description covers the three key agent-facing needs: the login prerequisite, how to pick a date mode, and the search_type semantics. It handles the conditional-parameter complexity well. Minor gaps: enum defaults (date_type='01', search_type='01') are only implied, and return values are unspecified, but the schema carries most of the remaining burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema individually documents all 10 parameters, setting a baseline of 3. The description earns its keep by explaining the cross-parameter combinatorics that the flat schema cannot express — that date_type='01' REQUIRES start_date+end_date, '02' REQUIRES year+month, and '03' REQUIRES year+quarter, plus the issued/received mapping of search_type. This relational meaning is above baseline value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Search e-tax invoice summary (totals)') and the title '전자세금계산서 합계 조회' reinforces the aggregation purpose. It is clearly a read-only summary search. However, it does not explicitly distinguish itself from the near-sibling hometax__etax__invoice__search_statistics, which sounds functionally similar, so an agent could hesitate between the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is rich in usage context: it mandates a prior login ('REQUIRES prior hometax__session__login call with same account_link_id') and precisely prescribes the three mutually exclusive date modes with their required parameter combinations. It does not, however, state when NOT to use this tool or name alternative tools (e.g., search_list vs search_summary), so the exclusion dimension is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__session__login홈택스 로그인AInspect
Call this FIRST before any other tool for this provider. Login to Hometax via NPKI certificate. Returns a session credential.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false and destructiveHint=false, so the description adds useful context by naming the authentication method (NPKI certificate) and noting that it returns a session credential. However, it does not disclose side effects such as creating a server-side session or invalidating prior sessions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The critical 'call first' instruction is front-loaded, and the authentication method and return value are stated efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple login tool with zero required parameters and no output schema, the description is sufficiently complete: it explains when to call it, how authentication works, and what is returned. It could add session lifetime or propagation details, but these are not essential for the agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional parameter account_link_id is fully documented in the schema with 100% coverage, including guidance about when to provide it explicitly. The description adds no parameter-level detail, so the schema carries the burden as expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Login to Hometax via NPKI certificate' and explicitly says to call it FIRST before any other provider tool. This clearly distinguishes it from sibling tools like hometax__session__user_info and other provider login tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'Call this FIRST before any other tool for this provider.' It does not explicitly state when not to use it or mention alternatives for already-active sessions, but the ordering directive is strong and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__session__user_info홈택스 사용자 정보 조회ARead-onlyInspect
Retrieve logged-in user info from Hometax.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds no extra behavioral context beyond the basic purpose, such as what happens if no session exists or what fields are returned. With annotations covering the safety aspects, a 3 is appropriate as the description contributes minimal additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that clearly states the action and target. There is no unnecessary text, and the core purpose is front-loaded. It is optimally brief for the information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with one optional parameter and full schema coverage, the description is largely sufficient. However, it could mention the implicit requirement of an active session or clarify that it returns the current user's details, which would improve completeness. Given the annotations cover safety, this minor gap keeps it at a 4 rather than a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% for the single optional parameter, so the schema already documents its meaning and usage. The tool description does not add any further explanation about the parameter's role or multi-institution distinctions. Following the baseline for high coverage, this is a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieve') and a clear resource ('logged-in user info from Hometax'). This distinguishes it from sibling tools like hometax__session__login (which performs login) and other Hometax data retrieval tools. The purpose is unambiguous and instantly understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites such as an active session, nor does it explain when the optional account_link_id would be needed. The context is implied by the name and description, but explicit usage conditions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__business_registration__search_info사업자등록 정보 조회BRead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search detailed business registration information.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by disclosing the session-login dependency with the same account_link_id, which is behavioral context beyond the annotations. It does not cover output shape or scope, but for a simple read tool with annotations present this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the critical precondition is front-loaded before the purpose statement. Slightly more could be added (e.g., sibling differentiation), but the structure is efficient and the most important operational fact leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read-only tool with complete schema coverage and annotations, the description covers the key prerequisite. The main gaps are the lack of differentiation from the close sibling search_status and no hint about what 'detailed' information is returned, leaving an agent to guess which variant to choose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the schema fully documents account_link_id as an optional UUID v4 with auto-resolution behavior. The description adds only the 'same account_link_id' linkage to the login call, a minor semantic tie-in. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Search detailed business registration information' — matching the tool name and Korean title (사업자등록 정보 조회). It is clear about the domain, but it does not distinguish itself from the near-sibling hometax__tax__business_registration__search_status; 'detailed' is only an implicit differentiator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear precondition: 'REQUIRES prior hometax__session__login call with same account_link_id,' which is useful operational guidance. However, it provides no when-to-use versus alternatives or exclusions — notably nothing clarifying when to pick this over search_status or the public opendata__nts__status lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__business_registration__search_status사업자등록 상태 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search business registration status by business registration number (사업자등록번호).
| Name | Required | Description | Default |
|---|---|---|---|
| txpr_dscm_no | Yes | Business registration number 사업자등록번호 (10 digits, hyphens stripped automatically, e.g. '1234567890' or '123-45-67890'). | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds crucial behavioral context beyond the annotations by mandating a prior login and requiring the same account_link_id, which is material for correct invocation. It relies on the schema for format details, which is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each carrying essential information: the prerequisite warning and the core purpose. The most critical constraint (login requirement) is front-loaded, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters, no output schema, and annotations covering safety, the description provides the essential context: a mandatory prerequisite and the search-by-number semantics. It does not describe the response payload, but for a read-only status lookup the core agent needs is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are already well documented, including the optional account_link_id behavior and automatic hyphen stripping for txpr_dscm_no. The description's mention of 'same account_link_id' reinforces the schema but does not add new semantic information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Search business registration status') and a precise resource ('business registration number'), which cleanly identifies what the tool does. The Korean title reinforces the same concept确, and the scope is unambiguous even though the description doesn't explicitly distinguish from the sibling hometax__tax__business_registration__search_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly requires a prior hometax__session__login call with the same account_link_id, giving a concrete precondition and tying the account_link_id parameter to the session. It does not mention when to prefer this over the similarly named search_info sibling, but the login prerequisite and the search-by-number instruction clearly frame the intended context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__credit_card__search_sales_data신용카드 매출 데이터 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search credit card sales data. Use bsno (business number), stl_yr (year YYYY), qrt_from/qrt_to (quarter 1-4).
| Name | Required | Description | Default |
|---|---|---|---|
| bsno | Yes | Business registration number | |
| qrt_to | Yes | End quarter '1'~'4' | |
| stl_yr | Yes | Settlement year YYYY (e.g. '2026') | |
| page_num | No | Page number (default 1) | |
| qrt_from | Yes | Start quarter '1'~'4' | |
| page_size | No | Page size (default 50) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context by requiring a prior hometax session login and tying it to account_link_id. It does not mention return format or pagination behavior, but the auth requirement is meaningful beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The prerequisite is front-loaded, and the second sentence efficiently maps the core parameters. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The required prerequisites and core parameters are covered, and the schema handles the rest of the parameter details. However, with no output schema and no description of what the search returns or how pagination behaves, the description is slightly incomplete for an agent trying to use the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters, including formats and defaults. The description's mention of 'bsno', 'stl_yr', and 'qrt_from/qrt_to' reinforces which parameters matter, but adds no meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search credit card sales data' with business number, year, and quarter parameters. It is clearly distinguishable from most siblings by the 'credit card' scope, though it does not explicitly name an alternative or contrast with similar hometax search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a required precondition: prior hometax__session__login with the same account_link_id. This is strong usage guidance for an authenticated data-lookup tool, but it does not explicitly say when to prefer this tool over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__electronic_notice__check_status전자고지 수신상태 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Check electronic notice reception status.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds valuable behavioral context by requiring a prior login with a matching account_link_id. It does not describe failure modes, but it does not contradict the annotations either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The critical prerequisite is front-loaded before the action statement, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only status lookup with one optional parameter, the description plus schema and annotations are nearly sufficient for correct invocation. It does not describe the exact shape or possible values of the returned status, but this is unlikely to prevent an agent from calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents account_link_id fully, including optionality and auto-resolution. The description adds one non-obvious semantic detail: the account_link_id must be the same as the one used in the prior login, which is useful beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action ('Check electronic notice reception status') and resource, so an agent knows what the tool does. It is not a tautology and is clearly scoped to electronic notices, though it does not explicitly differentiate itself from related siblings like hometax__tax__notice__search_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit prerequisite: a prior hometax__session__login call with the same account_link_id. This is clear invocation context, but it does not address when to choose this tool over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__my_tax_agent__search나의세무대리인 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search assigned tax agent information.
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | Page number (default 1) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the dependency on a prior login and the account_link_id matching requirement, which is valuable behavioral context beyond annotations. It does not disclose pagination behavior or return format, but that is a minor gap given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the critical login requirement before stating the purpose. There is no filler or redundant phrasing; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with two self-documented parameters and no output schema, the description covers the essential purpose and the critical prerequisite. It does not detail what fields are returned, but the tool name and title convey the subject matter sufficiently, and the schema handles parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of both parameters, including page_num's default and account_link_id's optional/resolution behavior. The description adds no parameter-specific information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb-resource pair: 'Search assigned tax agent information.' The Korean title '나의세무대리인 조회' corroborates the purpose. While it doesn't explicitly differentiate from sibling search tools like hometax__tax__payment_statement__search, the specific resource 'assigned tax agent' is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear, actionable precondition: 'REQUIRES prior hometax__session__login call with same account_link_id.' This is strong contextual guidance for when the tool can be used. However, it does not mention alternatives or exclusions relative to other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__notice__search_history고지 내역 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search tax notice history. Use strt_dt/end_dt (YYYYMMDD). The NTS accepts start dates within the last 10 years.
| Name | Required | Description | Default |
|---|---|---|---|
| end_dt | Yes | End date YYYYMMDD | |
| strt_dt | Yes | Start date YYYYMMDD | |
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 3) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is safe. The description adds the login prerequisite and the 10-year date restriction, which are behavioral requirements not covered by annotations. It does not contradict annotations and adds meaningful context, though it does not describe pagination behavior (which is already handled by schema defaults).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the critical prerequisite. Every sentence earns its place with no filler. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema, the description covers purpose, prerequisite, date format, and a time restriction. It does not explain what a 'tax notice' includes, but given the simplicity and that annotations cover safety, it is largely complete. A minor gap is not explicitly stating that page_num/page_size defaults apply, but those are in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The description adds the date range limit (last 10 years) and clarifies that account_link_id must match the prior login, which is beyond the schema. This is useful additional semantics that help the agent use the parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Search tax notice history.' This is specific and distinguishes it from many other search tools in the sibling list (e.g., overdue__search_history, payment_due__search_or_pay). However, it does not explicitly differentiate itself from these similar tools, so it is clear but not fully distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit prerequisite (prior hometax__session__login with same account_link_id), a date format instruction (YYYYMMDD), and a constraint (start dates within last 10 years). This is strong usage guidance, but it does not explicitly state when to prefer this over alternative search tools, so it is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__overdue__search_history체납 내역 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search overdue tax history (체납 내역). Narrow the period with strt_dt/end_dt; without them the NTS default period applies. Only 3 rows come back per page unless you raise page_size.
| Name | Required | Description | Default |
|---|---|---|---|
| end_dt | No | End date YYYYMMDD or YYYY-MM-DD (optional) | |
| strt_dt | No | Start date YYYYMMDD or YYYY-MM-DD (optional) | |
| page_num | No | Page number (default 1) | |
| surv_ttl | No | Survey title filter (조회 제목). Optional. | |
| page_size | No | Page size (default 3) | |
| ntpl_crp_cl_cd | No | Taxpayer classification code (납세자 구분). Optional. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=true, destructiveHint=false), the description discloses several behaviors: the login prerequisite, the NTIS default period when no dates are given, and the default page size of 3 rows per page. These are value-adding and not present in the annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no fluff. It front-loads the critical login requirement, then covers period and pagination. Every sentence earns its place and the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description covers the key prerequisites (login), period behavior, and pagination. It does not describe the return format or detail all optional filters, but the schema handles those. It is sufficient for an agent to call correctly, though a bit more on output could improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a description, so baseline is 3. The description adds semantic context for strt_dt/end_dt (narrowing period, default behavior) and page_size (default 3 rows), enriching the schema. However, it does not explain all parameters' practical implications, so a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search overdue tax history (체납 내역)' with a specific verb and resource. It clearly identifies the tool as a search for overdue tax history, distinguishing it from sibling search tools like hometax__tax__notice__search_history and hometax__tax__refund__search_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: it explicitly requires a prior login call with the same account_link_id, and explains the behavior of date filtering. However, it does not explicitly mention when to use this tool versus alternatives, so it misses the 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__payment_due__search_or_pay납부기한 조회/납부ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search tax amounts due by payment deadline (납부할 세액 조회). Read-only: this tool never executes a payment; the 'or_pay' in its name is historical.
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| inqr_cl_cd | No | Lookup mode (조회구분코드). Optional. '01' shows only items whose payment deadline has passed. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds value by explaining the historical name and reinforcing the read-only nature, plus the login dependency, which annotations don't cover. This is beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the critical login requirement, and the read-only clarification. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, preconditions, and the read-only behavior. It doesn't describe return format or pagination details, but with no output schema and self-explanatory params, that's acceptable for a search tool. Could be slightly more explicit about response structure, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter clearly described (e.g., inqr_cl_cd explains '01' behavior). The tool description adds no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches tax amounts due by payment deadline, and explicitly clarifies that despite the 'or_pay' in its name, it never executes payments. This distinguishes it from any payment-related tools and leaves no ambiguity about its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies a required precondition: prior hometax__session__login with the same account_link_id. It also explicitly states the tool is read-only and never pays, which serves as a when-not-to-use warning. It doesn't name specific alternative tools, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__payment_statement__search납부 내역 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search tax payment statement. mate_knd_cd: document type code. sbms_ym_strt/sbms_ym_end: submission year-month YYYYMM.
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| mate_knd_cd | Yes | Document type code (자료종류코드) — one of: A0051 근로소득 지급명세서 / A0053 퇴직소득 지급명세서 / A0056 의료비 명세서 / A0057 기부금 명세서 / A0086 사업소득 지급명세서 / A0085 사업소득(연말정산용) 지급명세서 / A0088 기타소득 지급명세서 / A0087 종교인소득(연말정산용) 지급명세서 / A0084 이자·배당소득 지급명세서 / A0283 연금계좌 지급명세서 / A0055 비거주자 사업·기타소득 지급명세서 / A0259 부동산등 양도소득 지급명세서 / A0257 유가증권 양도소득 지급명세서. Any other value is refused before the NTS is contacted. | |
| sbms_ym_end | Yes | Submission end year-month YYYYMM | |
| sbms_ym_strt | Yes | Submission start year-month YYYYMM | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive behavior. The description adds the auth dependency and same-account-link requirement, which is useful, but it says nothing about pagination, result shape, or NTS-side behavior/limits; with annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with the most important prerequisite, with no filler. The parameter notes are terse but somewhat redundant with the schema; overall it is efficient, though slightly fragmentary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Together with a fully-described schema and read-only annotations, the description provides enough to call the tool safely: login prerequisite, required parameters, and formats. Missing output/pagination semantics and the sibling distinction are notable gaps, but they are not blocking for a basic search invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents all six parameters with 100% coverage, including the full enum mapping for mate_knd_cd. The description just restates the document-type and YYYYMM formats, adding no meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies a concrete operation: search tax payment statement, aligned with the title '납부 내역 조회'. However, it does not contrast with the sibling search_submit_history tool, so the agent cannot distinguish this search variant from related siblings based on the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states the critical precondition: a prior hometax__session__login call with the same account_link_id. It gives no when-to-use/when-not-to-use guidance or alternatives, so selection among the many hometax search tools is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__payment_statement__search_submit_history신고 납부 내역 조회BRead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search tax declaration and payment submission history. Use sbms_ym_strt/sbms_ym_end (YYYYMM).
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| mate_knd_cd | No | Document type code | |
| sbms_ym_end | Yes | Submission end year-month YYYYMM | |
| txtn_ym_end | No | Taxation end year-month YYYYMM | |
| sbms_ym_strt | Yes | Submission start year-month YYYYMM | |
| txpr_dscm_no | No | Taxpayer number (hyphens allowed) | |
| txtn_ym_strt | No | Taxation start year-month YYYYMM | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the login prerequisite, which is useful behavioral context, but does not disclose other behaviors such as pagination limits, response format, or how optional parameters interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the critical prerequisite. It is efficient and avoids redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 9 parameters and no output schema, the description is minimal. It does not explain the distinction between submission date (sbms_ym) and taxation date (txtn_ym), nor does it clarify when to use the many optional filters. The login requirement is useful but not sufficient for full operational clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all parameters. The description explicitly mentions sbms_ym_strt and sbms_ym_end with YYYYMM format, but this is already in the schema. It does not add deeper meaning about optional parameters like txtn_ym_* or mate_knd_cd.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches tax declaration and payment submission history, which is a specific verb+resource. However, it does not explicitly differentiate from the sibling tool hometax__tax__payment_statement__search, which may have a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a prerequisite (prior login with same account_link_id) but does not mention when to use this tool versus alternatives like hometax__tax__payment_statement__search or other search tools. There is no guidance on conditions that would favor this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__refund__search_detail환급금 상세 조회BRead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search tax refund details. Use strt_dt/end_dt (YYYYMMDD). The NTS only serves the last 5 years from today.
| Name | Required | Description | Default |
|---|---|---|---|
| end_dt | Yes | End date YYYYMMDD | |
| strt_dt | Yes | Start date YYYYMMDD | |
| txaa_id | No | Tax accountant ID | |
| txaa_yn | No | Tax accountant flag Y/N | |
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| inqr_cl_cd | No | Inquiry classification code | |
| txpr_dscm_no | No | Taxpayer number (hyphens allowed) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable context: the requirement of a prior login with the same account_link_id and the NTS's 5-year data limit. These are behavioral constraints beyond the annotations, making the description informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—two sentences with no filler. The prerequisite is front-loaded, and the key usage constraint (date format) is stated. It is efficient but slightly sparse given the tool's complexity, though it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and a complex domain, the description is inadequate. It does not mention what the response contains, pagination behavior, or how optional parameters affect results. It also fails to distinguish this tool from sibling refund-related tools, leaving the agent without enough context to use it correctly beyond the basics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 9 parameters are individually documented. The description only reiterates the date format for strt_dt/end_dt, which the schema already states. It adds no extra meaning for optional parameters like txaa_id, page_num, or account_link_id. Since coverage is high, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: 'Search tax refund details.' It is specific enough to differentiate from other search tools (e.g., search_history, search_summary) by focusing on refunds, though it does not explicitly name alternatives. The title '환급금 상세 조회' further clarifies the resource, so purpose is adequately conveyed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only mentions a prerequisite (prior login with same account_link_id) and a date format (YYYYMMDD). It provides no guidance on when to choose this tool over sibling tools like hometax__tax__unclaimed_refund__search or other search_detail tools. There is no when-not-to-use or alternative selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__return_history__search_vat부가가치세 신고 이력 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search VAT return history. Use rtn_dt_srt/rtn_dt_end (YYYYMMDD). Dates before 2015-02-23 are refused ('2015년 2월 23일 이후 신고내역만 조회 가능합니다.'), and the NTS screen documents a maximum window of one year — split longer periods into several calls.
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| rtn_dt_end | Yes | Return date range end YYYYMMDD | |
| rtn_dt_srt | Yes | Return date range start YYYYMMDD | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral details beyond annotations: the mandatory login prerequisite, the refusal of pre-2015 dates, and the one-year window requiring split calls. This is useful context not inferable from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the critical login requirement comes first, followed by the action, then the date constraints. Every sentence carries useful information and there is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with annotations covering the safety profile, the description covers everything needed to call it correctly: prerequisite session, parameter formats, date restrictions, and how to handle long ranges. Pagination defaults are already in the schema, so no additional return-format explanation is essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning to rtn_dt_srt/rtn_dt_end by giving the YYYYMMDD format, the earliest accepted date, and the maximum allowed window. It also reinforces the account_link_id semantics by tying it to the prerequisite login, going slightly beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search VAT return history.' This clearly distinguishes it from sibling history-search tools like overdue, notice, or payment-statement searches. The Korean title reinforces the same meaning, leaving no ambiguity about which domain the tool covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit operational guidance: it requires a prior hometax__session__login with the same account_link_id, specifies the date parameters to use, and warns about the 2015-02-23 cutoff and one-year maximum window. It does not explicitly contrast the tool with alternatives, but the usage context is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__trade_partner__search_list거래처 목록 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search list of trade partners (buyers/sellers) from tax records.
| Name | Required | Description | Default |
|---|---|---|---|
| page_num | No | Page number (default 1) | |
| page_size | No | Page size (default 10) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, non-destructive nature of the tool. The description adds useful behavioral context beyond annotations by requiring a prior session login and tying that login to the same account_link_id. It does not detail pagination or return shape, but the safety profile is already disclosed by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with the most important precondition front-loaded. There is no filler, no restatement of the schema, and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with three optional, self-documenting parameters, the description provides the essential context: what it searches, the required prior login, and the account_link_id binding. No output schema exists, but the operation name and description make the expected list result sufficiently clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters well. The description's mention of 'same account_link_id' reinforces the schema's guidance but does not add substantial new meaning. page_num and page_size are fully covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and a specific resource ('list of trade partners (buyers/sellers) from tax records'), which clearly differentiates this tool from sibling search/list tools. It is immediately clear what the tool does and what domain it operates in.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a critical prerequisite: a prior hometax__session__login call with the same account_link_id. This gives the agent a clear when-to-call condition. However, it does not name alternative tools or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hometax__tax__unclaimed_refund__search미수령 환급금 조회ARead-onlyInspect
REQUIRES prior hometax__session__login call with same account_link_id. Search unclaimed tax refunds (최근 5년간 미수령 국세환급금). Both txpr_dscm_no and txpr_nm are required by 국세청 — the session TIN does not substitute for them.
| Name | Required | Description | Default |
|---|---|---|---|
| nnf_cl | No | 내외국인구분: 'n'=내국인(default), '1'=외국인. Optional. | |
| txpr_nm | Yes | 납세자명 (성명 또는 상호). Required. | |
| txpr_dscm_no | Yes | 납세자식별번호 (사업자등록번호 또는 주민등록번호, 하이픈 없이 숫자만). Required. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false)Skip. The description adds valuable behavioral context beyond those: a login prerequisite, the need for explicit parameters despite an existing session TIN, and the 5-year lookback scope. This is meaningful contextual information for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the critical prerequisite front-loaded first. Every word adds value—no filler or redundant statements. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only annotation arranged, no output schema, and the tool's straightforward purpose, the description covers all necessary call context: the login prerequisite, required parameters, and the search scope. An agent has enough information to invoke the tool correctly without needing additional detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all 4 parameters (100% coverage), setting a baseline of 3. The description adds extra semantic value by clarifying why txpr_dscm_no and txpr_nm are required (국세청 requirement) and that the session TIN cannot substitute for them—information not present in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search unclaimed tax refunds') and the resource (최근 5년간 미수령 국세환급금). It is unambiguous about the tool's function but does not explicitly differentiate it from sibling tools like hometax__tax__refund__search_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: it requires a prior hometax__session__login call with the same account_link_id, and states that both txpr_dscm_no and txpr_nm are mandatory per 국세청, with the session TIN not substituting. This gives clear guidance on when and how to use the tool, though it does not mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ibk_fast_account__accounts__quick_summary__getIBK 빠른계좌조회 잔액 요약ARead-onlyInspect
REQUIRES prior ibk_fast_account__session__login call with same account_link_id. Read the balance and daily summary for one registered IBK bank account.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| bank_account_credential_id | Yes | ||
| bank_account_credential_ids | No | ||
| bank_account_selection_mode | No | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the login prerequisite and the scope ('balance and daily summary'), which are behavioral details not in the annotations. There is no contradiction. It does not mention error behavior or output format, but for a read-only tool with annotations, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the critical prerequisite, and contains zero fluff. Every word adds value: the login requirement, the same-link condition, and the exact output scope. It is exemplary in structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with annotations covering safety and no output schema, the description is nearly complete: it tells what it does, when to use it, and the key prerequisite. The missing piece is guidance on the optional parameters, but those are largely auto-resolved or system-driven, so the gap is minor. Overall it is sufficiently complete for an agent to call it correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, meaning most parameters lack descriptions. The tool description does not explain any parameter beyond the implicit 'account_link_id' mentioned in the prerequisite. It does not compensate for the low coverage, leaving the agent to rely on the schema alone, which is insufficient for optional parameters like bank_account_credential_ids and bank_account_selection_mode.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read'), a concrete resource ('balance and daily summary for one registered IBK bank account'), and is clearly distinguished from sibling tools like transaction-history or login tools. It names the exact institution (IBK) and the operation scope, leaving no ambiguity about what this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states a required prerequisite: a prior ibk_fast_account__session__login call with the same account_link_id. This tells the agent when it can be used and the condition (same link ID). It does not name alternatives, but the context of sibling tools makes it clear that this is the only quick-summary tool for IBK, so the usage context is adequately conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ibk_fast_account__session__loginIBK 빠른계좌조회 로그인AInspect
Call this FIRST before any other tool for this provider. Create an IBK fast-account session from the parent account link.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate the call is neither read-only nor destructive. The description adds the key behavioral trait that a session is created and must precede all other IBK fast-account calls, but it stops short of explaining session state, expiry, or side effects. This adds value without being rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences with no filler. The most important operational instruction ('Call this FIRST') is front-loaded, and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional, fully documented parameter and no output schema, the description provides enough context: it names the session, the provider, and the required call order. The only minor gap is the undefined phrase 'parent account link,' but the schema's account_link_id description covers that concept.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents account_link_id, including optionality, server-side auto-resolution, the multi-certificate caveat, and per-institution ID separation. The description's 'parent account link' phrase merely echoes the schema, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and names the exact resource: an IBK fast-account session. The provider qualifier 'IBK' and the parent-account-link source distinguish it from sibling session-login tools like kb_fast_account__session__login and hometax__session__login.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call this FIRST before any other tool for this provider' is an explicit when-to-use directive: it is the required bootstrap for all IBK fast-account tools. It does not enumerate exclusions or alternatives, but provider scoping and ordering are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__approvals__initKB국민카드 승인내역 초기화AInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Initialize KB Biz Card approvals inquiry for a date range.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the operation is neither read-only nor destructive. The description adds auth-related context by requiring a prior login with the same account_link_id, but it does not disclose side effects such as whether repeated init calls reset state or how the initialized inquiry behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The prerequisite is front-loaded in uppercase, and the core action is stated clearly and directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The login prerequisite is helpful, but the description does not explain where this init step fits in the approvals flow or what an agent should call next (e.g., approvals page/result/search). With no output schema, the lack of follow-up guidance leaves a noticeable gap for an agent executing the full sequence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so date formats and account_link_id behavior are already documented. The description adds a meaningful constraint: account_link_id must match the one used in the preceding login call, which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Initialize KB Biz Card approvals inquiry for a date range.' This distinguishes it from the approvals page/result/search siblings, though 'initialize' itself is not elaborated beyond being a setup action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the prerequisite of a prior kb_biz_card__session__login call with the same account_link_id. However, it does not explicitly say when to use this tool versus the sibling approvals search/page/result tools, leaving the sequential relationship to be inferred from the name 'init'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__approvals__pageKB국민카드 승인내역 페이지 조회ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Fetch one KB Biz Card approvals page from a prior search context.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Page number to fetch | |
| search_context | Yes | Search context returned by init/search | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds a behavioral precondition (prior login with the same account_link_id) plus scoping to a single page from an existing search context. It does not describe runtime errors or invalid-context behavior, but that is a minor gap given the annotations cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The critical login prerequisite is front-loaded in the first sentence, and the second sentence delivers the operation and its data source. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple paginated fetch within a defined workflow, the description conveys the essential requirements (login, prior search context, single page). The lack of an output schema means the return structure is not described, but this is a minor gap for a page-fetch operation whose shape is likely defined by the search context and sibling result tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 tool description adds value by tying account_link_id to the same one used in the prior login and by reinforcing that search_context must come from a prior init/search call. This is meaningful semantic context beyond the schema's generic field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and names the exact resource ('one KB Biz Card approvals page'), and the qualifier 'from a prior search context' clearly separates it from the search/init/result siblings in the same domain. The Korean title reinforces the approvals-domain scope, making this a unambiguous page-fetch tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a hard prerequisite ('REQUIRES prior kb_biz_card__session__login call with same account_link_id') and implies the tool is a follow-up to a search. However, it never names alternative tools (e.g., kb_biz_card__approvals__search) or says when not to use this one, so the guidance is clear but not fully comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__approvals__resultKB국민카드 승인내역 결과 수집ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Collect KB Biz Card approvals result rows.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to collect | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name | |
| department_sequence_no | No | Department sequence number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read trait (readOnlyHint=true, destructiveHint=false). The description adds a valuable behavioral constraint not present in annotations: the requirement of a prior login with the same account_link_id. This is meaningful context, though it doesn't disclose pagination behavior or result volume.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The critical prerequisite is front-loaded before the action, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The action and prerequisite are stated clearly, but the description omits the surrounding flow: how this step relates to approvals__init, approvals__search, and approvals__page, and what 'result rows' implies about the output. With no output schema and a closely related sibling family, an agent is left without enough context to sequence calls reliably. The presence of the core precondition keeps it from being lower.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all six parameters, so the schema carries the semantic burden. The description makes only a passing reference to account_link_id in the context of the login prerequisite, which adds a slight usage link but no new parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Collect KB Biz Card approvals result rows.' This is clear and distinct from generic tooling. It doesn't explicitly contrast with sibling tools like approvals__search or approvals__page, but the combination of name and action conveys the result-collection role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the prerequisite that kb_biz_card__session__login must have been called with the same account_link_id. There is no explanation of when to use this tool versus the approvals__init, approvals__search, or approvals__page siblings, nor any alternative or exclusion conditions. An agent must infer the intended call sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__approvals__searchKB국민카드 승인내역 검색ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Search KB Biz Card approvals rows.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number; default 1 | |
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to collect | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name | |
| department_sequence_no | No | Department sequence number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the login prerequisite with matching account_link_id, which is valuable operational context. But it doesn't disclose pagination behavior, rate limits, or whether the search returns all pages by default vs. requiring explicit page/max_pages handling — leaving a gap for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The critical prerequisite is front-loaded before the purpose statement, and the purpose itself is a single concise clause. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 7 parameters and no output schema, the description is minimally adequate. It doesn't explain the relationship to the kb_biz_card__approvals__init/page/result siblings (whether this search is a prerequisite to those or an alternative), nor does it clarify pagination semantics or the return format. The date range is implied by the required date_from/date_to but the filtering semantics are left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 7 parameters are documented in the schema. The description's mention of account_link_id in the prerequisite context reinforces the schema's note about auto-resolution but adds no new parameter semantics beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search KB Biz Card approvals rows.' This distinguishes it from the payments and purchases siblings, and from the init/page/result approvals siblings which represent a different workflow stage. However, it doesn't explicitly name any sibling to differentiate itself, so the agent must infer the distinction from the resource noun.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the critical prerequisite: 'REQUIRES prior kb_biz_card__session__login call with same account_link_id.' This is genuinely useful guidance for an agent. However, it doesn't explain when to choose this tool over kb_biz_card__approvals__init/page/result or over payments__search/purchases__search, leaving the when-not-to-use cases unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__common__cards__selectKB국민카드 카드 선택ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Select KB Biz Card cards available to the current session.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name filter | |
| department_sequence_no | No | Department sequence number from departments.select |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the login dependency, which is valuable behavioral context. It does not describe the response format or side effects, but with the annotation covering read-only behavior, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the critical login requirement, and contains zero filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the prerequisite and the core action. Given no output schema, it might benefit from clarifying what is returned (e.g., a list of card identifiers), but for a simple select tool with full schema coverage, the missing details are minor and inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a thorough description. The tool description adds no additional meaning to the parameters (e.g., how they influence the selection). Baseline of 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Select') and a clear resource ('KB Biz Card cards available to the current session'), and implicitly distinguishes it from sibling tools like kb_biz_card__common__departments__select by naming a different resource. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states a prerequisite ('REQUIRES prior kb_biz_card__session__login call with same account_link_id') but gives no explicit guidance on when to use this tool versus alternatives or when not to use it. The context is clear, but there are no exclusions or comparison with sibling select tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__common__departments__selectKB국민카드 부서 선택ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Select KB Biz Card departments available to the current session.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: the tool depends on an established session and only exposes departments available to that session. This clarifies why login is required without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that front-loads the critical login requirement before stating the tool's purpose. Every word earns its place; there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only filtered selection tool, the precondition and parameters are adequately documented. However, there is no output schema and the description does not describe the return shape or how the selected departments should be used downstream, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already well described in the input schema. The description reinforces that account_link_id must match the prior login, but it does not add new semantic meaning for either parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Select KB Biz Card departments available to the current session.' The login prerequisite adds useful scope, and the resource name distinguishes it from sibling tools like cards__select. However, it does not explicitly differentiate from alternatives or state the return format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the required precondition: a prior kb_biz_card__session__login call with the same account_link_id. This gives the agent clear context for when the tool can be invoked. It does not mention when not to use it or alternative tools, but the context is sufficient for a simple session-scoped read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__payments__initKB국민카드 결제내역 초기화AInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Initialize KB Biz Card payments inquiry for a date range.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are not informative (readOnlyHint=false, destructiveHint=false), so the description carries the behavioral burden. It contributes an auth-related context by requiring a prior login with the same account_link_id, and implies stateful initialization. However, it does not disclose side effects, whether repeated calls reset state, or what the initialization actually changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the most critical constraint (login requirement) and then states the tool's purpose. Every word earns its place; there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the init call returns or how it feeds into the payment inquiry flow (e.g., subsequent payments__page or payments__result calls). While the prerequisite is helpful, an agent navigating this stateful multi-step flow is left to infer the next steps and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds only a general date-range reference and ties account_link_id to the login prerequisite, but it does not add meaning beyond what the schema provides, matching the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action — 'Initialize KB Biz Card payments inquiry for a date range' — with a clear resource (payments inquiry) and scope (date range). It is clear enough to distinguish from the payments page/result/search siblings, though it does not explicitly name or contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage prerequisite: a prior kb_biz_card__session__login call with the same account_link_id. This tells the agent when the tool can be invoked, but it does not explicitly state when to prefer this over payments__search or what to call after initialization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__payments__pageKB국민카드 결제내역 페이지 조회ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Fetch one KB Biz Card payments page from a prior search context.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Page number to fetch | |
| search_context | Yes | Search context returned by init/search | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description discloses an authentication/session precondition and stateful dependence on prior search context. It does not describe failure modes or invalid-context behavior, but the added prerequisite context is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The prerequisite is front-loaded and the core action is stated clearly in the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-page fetch tool, the description covers the required login dependency, the need for a prior search context, and the basic operation. It could add pagination or return-shape details, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a cross-parameter constraint: account_link_id must match the one used in the required login call. It also reinforces that search_context comes from a prior search step, though the schema already states this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: fetching one KB Biz Card payments page from an existing search context. It is specific enough to distinguish this from the init, search, and result siblings, though it does not name an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly names a hard prerequisite: a prior kb_biz_card__session__login call with the same account_link_id, and it clarifies that a search context must already exist. It does not mention exclusions or point to alternative sibling tools for other steps in the flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__payments__resultKB국민카드 결제내역 결과 수집ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Collect KB Biz Card payments result rows.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to collect | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name | |
| department_sequence_no | No | Department sequence number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a behavioral requirement (prior login), which is important context beyond the annotations. It does not disclose other behaviors like pagination limits or result structure, but given the annotation coverage, the bar is met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The most critical operational constraint (the login prerequisite) is front-loaded, and the action is stated plainly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits what 'result rows' actually look like (there is no output schema) and does not explain the relationship to the init/search/page flow beyond the login prerequisite. For a 6-parameter tool with no output schema, more context about return format or pagination would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage of all six parameters, each with descriptive text. The description adds no extra parameter-level context, so the baseline of 3 applies; the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Collect') and the resource ('KB Biz Card payments result rows'), and the naming convention distinguishes it from the approvals and purchases result tools. However, it does not explicitly contrast with the sibling __search or __page tools, relying on the tool name to carry that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a critical prerequisite (prior session login with same account_link_id), which is valuable operational guidance. However, it does not state when to use this tool versus the payments __search or __page alternatives, nor does it outline the typical multi-step flow (init → search → page → result).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__payments__searchKB국민카드 결제내역 검색ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Search KB Biz Card payments rows.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number; default 1 | |
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to collect | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name | |
| department_sequence_no | No | Department sequence number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the session prerequisite and the fact that it searches 'rows', but it does not disclose pagination behavior, result limits, or whether the search is a one-shot call versus a multi-step flow. With annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no waste. The prerequisite is front-loaded, which is the most important operational fact. It could be slightly more structured, but it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 7 parameters and no output schema, the description is adequate but thin. It covers the prerequisite and the basic action, but it does not explain the relationship to the init/page/result siblings, pagination semantics, or what 'rows' means in terms of return shape. Given the tool's moderate complexity, a 3 is fair.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters. The description adds no parameter-level meaning beyond what the schema provides. Baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and resource ('KB Biz Card payments rows'), and the title confirms the domain (KB국민카드 결제내역 검색). It is clear what the tool does. However, it does not explicitly distinguish itself from sibling tools like kb_biz_card__payments__init/page/result or kb_biz_card__purchases__search, so it loses a point on sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a prerequisite: 'REQUIRES prior kb_biz_card__session__login call with same account_link_id.' This is valuable usage guidance. However, it does not explain when to use this search versus the init/page/result flow or the purchases search, so the guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__purchases__initKB국민카드 매입내역 초기화BInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Initialize KB Biz Card purchases inquiry for a date range.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false and destructiveHint=false, which does not clarify what 'initialize' actually does. The description reveals that a login is required but does not disclose side effects, whether initialization resets previous state, whether it is idempotent, or whether it returns a job identifier or other status needed for subsequent calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one efficient sentence that front-loads the critical prerequisite before stating the function. There is no wasted wording, though a slightly structured breakdown of the init workflow could improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool part of a stateful multi-step workflow, but the description does not explain what output or state the initialization produces, how the agent should proceed afterward, or how this relates to the sibling purchases__page/result/search tools. Without an output schema, the agent is left guessing about the follow-up steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all parameters with 100% coverage. The description adds value by linking account_link_id to the prior login call ('same account_link_id') and by confirming the date range mapping to date_from/date_to, which goes slightly beyond the schema's standalone parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Initialize') and identifies the resource ('KB Biz Card purchases inquiry') and scope ('for a date range'). It clearly distinguishes from sibling init tools by naming 'purchases' rather than approvals or payments, though it does not elaborate on what initialization entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the required prerequisite: a prior kb_biz_card__session__login call with the same account_link_id. However, it gives no guidance about when to use this tool versus the sibling purchases__page, purchases__result, or purchases__search tools, nor does it clarify the intended call sequence beyond the login requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__purchases__pageKB국민카드 매입내역 페이지 조회ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Fetch one KB Biz Card purchases page from a prior search context.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Page number to fetch | |
| search_context | Yes | Search context returned by init/search | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is covered. The description adds the login requirement and the account_link_id matching nuance, which is useful beyond annotations. However, it does not describe potential side effects, rate limits, or error conditions, though these are less critical for a read-only pagination tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the critical prerequisite (login requirement) before describing the action. Two sentences with no fluff. It efficiently conveys the required state and the tool's purpose, though it could structure the requirement more formally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a pagination tool with a search context and page number, the description covers the essential prerequisites: login and prior search context. The schema documents parameters, and annotations cover the safety profile. The description does not mention edge cases like page out of range, but that is minor for this simple tool. Overall, it is complete enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters (page, search_context, account_link_id) have descriptions. The description reinforces that search_context comes from a prior search, which aligns with the schema. It does not add new meaning beyond the schema, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a page of KB Biz Card purchases from a prior search context, using the verb 'Fetch' with a specific resource. It distinguishes from init/search/result by implying it is for pagination, though it doesn't explicitly name sibling alternatives. The 'from a prior search context' clause helps differentiate it from a fresh search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires a prior kb_biz_card__session__login call with the same account_link_id, which is a clear prerequisite. It also indicates the need for a prior search context, but it does not state when to use this tool versus alternatives like kb_biz_card__purchases__result or kb_biz_card__purchases__search. The usage context is implied but not fully enumerated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__purchases__resultKB국민카드 매입내역 결과 수집BRead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Collect KB Biz Card purchases result rows.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to collect | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name | |
| department_sequence_no | No | Department sequence number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the login prerequisite, which is a useful behavioral context not in annotations. It does not describe pagination, result format, or any side effects, but given the annotation coverage, the description's contribution is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two short sentences. The critical prerequisite is front-loaded. There is no fluff or redundancy. It is efficiently structured for a tool with a simple purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich sibling context (init, search, page, result), the description does not explain how this tool fits into the overall workflow. It does not mention that it likely gathers all rows after a search, nor does it specify any ordering or interaction with other tools beyond login. This is a significant gap for an agent trying to sequence calls correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are described in the schema. The description adds no extra parameter-specific meaning; it only references account_link_id in the context of the login prerequisite, which is already explained in the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Collect') and resource ('KB Biz Card purchases result rows'). It is specific about the outcome, but it does not explicitly distinguish itself from sibling tools like kb_biz_card__purchases__search or __page. The name implies a result-collection role, and the description aligns with that, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires a prior login call with the same account_link_id, which is a valuable prerequisite. However, it does not explain when to use this tool versus the sibling init/page/search tools, nor does it describe the expected flow (e.g., after a search). It provides a prerequisite but no guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__purchases__searchKB국민카드 매입내역 검색ARead-onlyInspect
REQUIRES prior kb_biz_card__session__login call with same account_link_id. Search KB Biz Card purchases rows.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number; default 1 | |
| date_to | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| date_from | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to collect | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| department_name | No | Department name | |
| department_sequence_no | No | Department sequence number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the requirement of a prior login, which is a behavioral trait. It does not describe pagination, result format, or any side effects beyond what annotations imply. Given annotations handle the read-only nature, the added login context earns a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, the first stating a critical prerequisite, the second stating the action. It is front-loaded and contains no redundant or extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions the login prerequisite but omits details about pagination behavior, return structure, or how this tool relates to the init/page/result siblings for purchases. Given there is no output schema, an agent might not know what to expect from the call. However, the schema covers parameters, and the prerequisite is a key contextual element. Overall, it is adequate but with notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 7 parameters, including date formats and account_link_id guidance. The description adds no additional parameter semantics beyond what the schema already provides. Since the schema carries the full burden, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches KB Biz Card purchases rows, which is a specific verb+resource. However, it does not differentiate this from sibling tools like kb_biz_card__approvals__search or kb_biz_card__payments__search, leaving ambiguity about the exact distinction between purchase, approval, and payment data. The title provides the Korean equivalent but not additional clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states a prerequisite: a prior kb_biz_card__session__login call with the same account_link_id. This is useful. However, it gives no guidance on when to use this tool versus the sibling search tools for approvals or payments, nor does it mention any conditions under which this tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_biz_card__session__loginKB국민카드 기업 로그인AInspect
Call this FIRST before any other tool for this provider. Create a KB Biz Card certificate/NPKI session from a registered account link.
| Name | Required | Description | Default |
|---|---|---|---|
| auth_provider | No | Authentication provider; default npki_delfino | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is non-read-only and non-destructive, so a state-changing session creation is expected. The description adds useful context about sequencing and the 'registered account link' prerequisite, but it does not disclose what a successful login returns or whether repeated calls are idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the most operationally important advice ('Call this FIRST') is front-loaded, followed by a single-purpose statement. There is no filler, redundancy, or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity login operation with all parameters documented, and the description covers the key prerequisite and ordering. It omits response/error details, but no output schema exists and the session-login pattern makes those details less critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters already have descriptive schema text, including the default for auth_provider and the UUID/optionality semantics for account_link_id. The description reinforces the 'registered account link' idea but adds no schema-independent parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Create a KB Biz Card certificate/NPKI session.' It also scopes the tool to 'this provider,' which distinguishes it from the many other provider session-login siblings. This is specific and immediately actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this FIRST before any other tool for this provider,' giving a clear when-to-use instruction in a workflow. It does not explicitly name alternative login tools for other providers, but sibling prefixes make the intended routing obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_fast_account__accounts__transaction_history__searchKB국민은행 빠른계좌조회 거래내역ARead-onlyInspect
REQUIRES prior kb_fast_account__session__login call with same account_link_id. Search transaction history for one registered KB Kookmin Bank fast-account using the existing provider session.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| sort_order | No | Transaction time sort order | desc |
| start_date | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| transaction_type | No | Transaction direction filter | all |
| bank_account_credential_id | Yes | ||
| bank_account_credential_ids | No | ||
| bank_account_selection_mode | No | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the session dependency and single-account scoping, which is useful behavioral context. It doesn't cover pagination, result limits, or date-range constraints beyond the schema, but with annotations present the bar is lower and no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The critical prerequisite is front-loaded in caps, and the purpose sentence conveys verb, resource, scope, and execution context without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with a self-describing name and 63% schema coverage, the description covers the key operational gotcha — the login prerequisite — plus the single-account scope. No output schema exists, so the missing return-format detail is a minor gap, not a critical one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 63%, so the parameters are mostly self-documenting. The description adds meaningful semantic value by clarifying this tool searches exactly 'one registered account', which disambiguates bank_account_credential_id from the plural bank_account_credential_ids array. It doesn't add date-format or sort semantics beyond the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search transaction history') with clear scope ('for one registered KB Kookmin Bank fast-account'). The explicit bank name differentiates it from the similar sibling shinhan_easy__accounts__transaction_history__search, and 'one registered account' disambiguates it from multi-account list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a hard prerequisite ('REQUIRES prior kb_fast_account__session__login call with same account_link_id'), which is exactly the kind of sequencing guidance an agent needs. It identifies the provider session as the execution context, though it does not explicitly name alternatives or say when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_fast_account__session__loginKB국민은행 빠른계좌조회 로그인AInspect
Call this FIRST before any other tool for this provider. Create a KB Kookmin Bank fast-account inquiry session from an existing account link. Secrets are never accepted as MCP inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present (readOnlyHint=false, destructiveHint=false). The description adds meaningful context beyond annotations: the mandatory call ordering, the requirement of an existing account link, and the security note that secrets are never accepted as inputs. It does not contradict annotations and discloses key behavioral traits, though it omits session lifecycle details (e.g., expiration, failure handling).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero redundancy. The most important instruction ('Call this FIRST') is front-loaded, followed by the purpose and a security constraint. Every sentence earns its place; nothing is missing or extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a session-creation tool with one optional parameter and no output schema, the description covers the essential points: when to call, what it does, and a critical security constraint. The prerequisite (existing account link) is mentioned. No critical information for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already fully describes the single parameter (optional, auto-resolves, when to provide explicitly). The description only echoes the 'existing account link' concept without adding new meaning or format details. Baseline 3 is appropriate when the schema carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Create a session') and resource ('KB Kookmin Bank fast-account inquiry session'), and distinguishes it from sibling login tools by naming the provider and the 'Call this FIRST' ordering. It is not a tautology and provides a concrete purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call before any other tool for this provider, which is strong usage guidance. It does not explicitly state when not to use it or name alternative tools, but the ordering instruction is clear and the context (session creation) implies it is the entry point. Slightly less than a 5 due to missing exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nhis_edi__public__notices__list건강보험 공지 목록 조회BRead-onlyInspect
No credential or login required. List public NHIS notices.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the behavioral detail that no authentication is required, which is useful. However, it does not disclose pagination behavior or response structure beyond the schema's page parameter, so it adds limited value beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, with the auth requirement front-loaded. It is efficient and free of fluff, though it could be slightly more informative without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple public list tool with one optional parameter and no output schema, the description is minimal but functional. It lacks explicit mention of return format or pagination, but given the simplicity, it is adequate. An agent could call it correctly, though more detail on the notice content would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the only parameter (page) with a description and default value, so coverage is 100%. The description adds no additional meaning about parameters, which is acceptable given the schema's completeness. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('List') and resource ('public NHIS notices'), and adds a key qualifier that no login is required. It distinguishes from sibling tools like nhis_edi__public__resources__list by the object (notices), though it does not explicitly contrast them. This is clear enough for an agent to infer the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It only mentions that no credential is required, which implies it is for public data, but it does not name sibling tools or specify conditions for selection. An agent would have to infer usage context from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nhis_edi__public__resources__list건강보험 자료 목록 조회ARead-onlyInspect
No credential or login required. List public NHIS resources/documents.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the meaningful behavioral fact that no authentication is needed, which is not already captured by the readOnlyHint and destructiveHint annotations. This is valuable because many sibling tools require session logins, so the agent knows this call can be made directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The key authentication trait is stated first, followed by the core purpose, making it efficient and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list operation with only one optional parametercars and safety annotations already present, the description is largely complete. It conveys public access, the resource type, and the action, though it does not describe the shape of the returned resource list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single 'page' parameter is already documented in the input schema. The tool description does not add extra meaning about pagination behavior or page format, so it does not exceed the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation as 'List public NHIS resources/documents', with a specific verb and resource. However, it does not explicitly distinguish this tool from the closely named sibling nhis_edi__public__notices__list, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that 'No credential or login required' but gives no explicit guidance on when to choose this tool over alternatives. It does not mention exclusions, preferred contexts, or how it relates to sibling list tools such as nhis_edi__public__notices__list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nhis_edi__session__login건강보험 EDI 로그인AInspect
Call this FIRST before any other tool for this provider. Login to NHIS EDI via NPKI certificate. Returns API_KEY for chaining.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the auth mechanism (NPKI certificate), the side effect of logging in, and the return value (API_KEY for chaining), which goes beyond the minimal readOnlyHint/destructiveHint annotations. It does not contradict the annotations, and the additional context is meaningful for calling downstream tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the critical ordering, the authentication method, and the return value without unnecessary detail. The most important usage instruction is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter login tool with no output schema, the description adequately explains the return value and how it should be used for chaining. It could additionally clarify session lifecycle or re-login behavior, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The main description does not discuss account_link_id, but the schema already documents it thoroughly with 100% coverage, including optionality and multi-certificate guidance. Since the schema carries the parameter semantics, the description does not need to compensate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Login to NHIS EDI via NPKI certificate' and identifies its role as the session entry point for this provider. It also distinguishes itself from sibling login tools by naming the provider and explaining that it returns an API key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call this FIRST before any other tool for this provider' is explicit sequencing guidance that tells the agent when this tool must be used. It does not explicitly name alternative login/status tools or state when not to call it, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nhis_edi__session__status건강보험 EDI 세션 상태 조회BRead-onlyInspect
Check NHIS EDI session status.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive, and 'Check' is consistent with that. However, the description adds no behavioral detail beyond the annotation, such as whether an active session is required, how failures are reported, or what state is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence that immediately states the action and target. It is appropriately sized, front-loaded, and contains no filler or redundant schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has no required parameters, but there is no output schema and the description does not explain what the response contains (e.g., active/inactive, expiration, message). For a status check this minimal description is usable, but return semantics are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is already fully documented in the schema: UUID format, optionality, auto-resolution from API key, multi-certificate usage, and per-institution distinction. With 100% schema coverage, the description does not need to add parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and a specific resource ('NHIS EDI session status'), clearly distinguishing it from sibling tools like nhis_edi__session__login and hometax session tools. It is concise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this tool versus logging in or versus other session-status tools. The account_link_id note covers only parameter selection, not tool selection, so the agent must infer the usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nps_edi__auth__npki_session__login국민연금 EDI 로그인AInspect
Call this FIRST before any other tool for this provider. Login to NPS EDI via NPKI certificate.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | Yes | 11-digit business management number (e.g. 12345678901) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate not read-only and not destructive; the description goes beyond that by disclosing that this operation establishes a login session and is a prerequisite for other calls. It does not mention session expiry, repeated-login behavior, or error conditions, but the essential behavioral trait is conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the critical sequencing instruction front-loaded before the action statement. No filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple login tool with one required parameter and 100% schema coverage, the description provides the essential prerequisite context and auth method. It would benefit from noting how to verify login success via nps_edi__auth__session__status, and there is no output schema, but the core call path is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter semantics are already fully documented, including the optional/auto-resolved account_link_id and the required business_management_no format. The tool description itself adds no parameter information, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Login to NPS EDI via NPKI certificate') and adds a sequencing cue ('Call this FIRST'), which distinguishes it from the many sibling login/session tools by identifying both the provider and the auth method. The title and tool name reinforce the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent exactly when to invoke this tool ('FIRST before any other tool for this provider'), which is strong usage context. It does not document exclusions such as 'skip if a session already exists' or direct the agent to the nps_edi__auth__session__status sibling, so it falls short of fully explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nps_edi__auth__session__status국민연금 EDI 세션 상태 조회ARead-onlyInspect
Check NPS EDI session status.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description's 'Check' verb aligns with that safety profile. However, the description adds little beyond repeating the tool's name; it does not disclose whether a prior login is required, what the status payload contains, or session expiration behavior. No contradiction exists, and the annotations lower the bar, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It states the operation and subject efficiently; nothing needs to be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one optional parameter, full schema coverage, and read-only annotations. The description is sufficient for the core operation, but with no output schema it does not explain what the response looks like or any prerequisites such as an existing session. This is a minor gap for a low-complexity status-check tool, so a moderate score is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema fully explains account_link_id: optional, auto-resolved from API key, when to provide it explicitly, and institution-specific IDs. Since the schema carries the entire parameter burden, the description adds no extra meaning, matching the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Check NPS EDI session status' uses a specific verb ('Check') and a clear resource ('NPS EDI session status'). It explicitly names the institution (NPS EDI) and the operation (session status), distinguishing it from sibling tools like nhis_edi__session__status and hometax__session__user_info. The title in Korean confirms the same intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that it should be called before NPS EDI operations, nor does it refer to the related login tool nps_edi__auth__npki_session__login. The only contextual hint is the parameter schema, which is about account_link_id, not about when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opendata__env__waste_sanction사업장폐기물 행정처분 조회AInspect
Look up workplace waste administrative disposition rows (data.go.kr 15156661) from the local batch M1 index by bizno/brno. Upstream getlist accepts bzentyNm/admdspYmd only — not brno; Jobs never call live bizno GET. Empty matches mean no non-expired index row — not a certified clean claim. Index ingest requires 15156661 활용신청 (ops 심의승인). Platform service key only — no account_link_id. Requires OPENDATA_ENABLED=1 on the server.
| Name | Required | Description | Default |
|---|---|---|---|
| bizno | Yes | Business registration number, 10 digits. Matched against local index brno. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Look up' implying a read-only operation, but the annotation readOnlyHint is false, indicating the tool may have side effects. This is a direct contradiction. The description does add useful behavioral context about empty match semantics and operational requirements, but the contradiction forces a score of 1 per the rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: the primary purpose is stated first, followed by essential clarifications about upstream behavior, result interpretation, ingest prerequisites, and environment requirements. Every sentence adds value, though the density of operational details might overwhelm an agent without a clear need for all of them upfront.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and no output schema, the description is remarkably thorough: it covers the data source, the local index mechanism, result interpretation, ingest approval, service key requirements, and environment variable. The only gap is the absence of a return format description, but since no output schema exists, the description could reasonably include field names. Overall, it's nearly complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for the single bizno parameter, already explaining it is a 10-digit business registration number matched against brno. The description reinforces this by mentioning 'by bizno/brno' and upstream limitations, but adds no new syntactic or semantic details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool looks up workplace waste administrative disposition rows from a local batch M1 index by bizno/brno, specifying the data source ID (data.go.kr 15156661). It distinguishes itself from siblings like opendata__g2b__sanction and opendata__kiscon__sanction by emphasizing it uses the local index and never calls live APIs, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool: it retrieves from the local batch index rather than live services, and notes that upstream getlist only accepts bzentyNm/admdspYmd, not brno. It also warns that empty matches mean no non-expired index row, not a certified clean claim. While it doesn't explicitly name alternatives, it clearly signals this is the batch/lookup variant, not the live API tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opendata__g2b__sanction나라장터 부정당업자 제재 조회AInspect
Look up G2B (나라장터) unfair-supplier sanction records (data.go.kr 15129466 getUnptRsttCorpInfo02, inqryDiv=1 + bizno). Empty upstream rows mean no matching record in this API response — not a certified 'no sanction ever' claim. Platform service key only — no account_link_id. Requires OPENDATA_ENABLED=1 on the server.
| Name | Required | Description | Default |
|---|---|---|---|
| bizno | Yes | Business registration number, 10 digits (e.g. "1234567890"). Hyphens are stripped server-side. | |
| pageNo | No | Page number (default 1). | |
| numOfRows | No | Rows per page (default 100, max 100). | |
| inqryBgnDt | No | Optional inquiry begin datetime YYYYMMDDHHMM. | |
| inqryEndDt | No | Optional inquiry end datetime YYYYMMDDHHMM. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and destructiveHint=false, so the description carries the burden of behavior disclosure. It does so well: the empty-row semantics ('not a certified no sanction ever claim') is a genuinely important interpretation guardrail, and it surfaces the server-side service-key and OPENDATA_ENABLED=1 requirements. This is valuable context beyond the schema. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler; purpose is front-loaded and each subsequent sentence earns its place (interpretation guardrail, then operational prerequisites). Slightly technical phrasing (API ids, env flags) but efficient for this domain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex tool with no output schema, the description covers purpose, the authoritative source, the key parameter, the key caveat, and operational prerequisites. Its only gap is that it doesn't describe the response/return structure or pagination beyond what the schema implies, which matters more given the absence of an output schema. Still, the core calling guidance is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (bizno, pageNo, numOfRows, inqryBgnDt, inqryEndDt). The description reinforces that bizno is the key lookup identifier via 'inqryDiv=1 + bizno', which is a slight value-add, but it doesn't explain the date-format semantics or pagination defaults beyond what the schema already states. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Look up'), a specific resource (G2B unfair-supplier sanction records), and pins the exact upstream API (data.go.kr 15129466 getUnptRsttCorpInfo02, inqryDiv=1 + bizno). This clearly differentiates it from sibling sanction tools like opendata__env__waste_sanction and opendata__kiscon__sanction, which are distinct data sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints (platform service key only, no account_link_id, OPENDATA_ENABLED=1 required) that condition use, and a critical semantic caveat about empty results. However, it never tells an agent when to pick this tool over the sibling sanction lookups (env waste, kiscon), so differentiation from alternatives is left implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opendata__kiscon__sanctionKISCON 건설업체 공시·행정처분 조회AInspect
Look up KISCON construction-firm disclosure rows (data.go.kr 15061362 ConAdminInfoSvc1/GongsiReg). Upstream requires sDate/eDate (not bizno); server scans the window and matches ncrMasterNum (M1), with optional corp_name fallback when source bizno is blank (B-5 M1_WITH_FALLBACK, missing_rate=0.14). Empty matches mean no hit in this window — not a certified clean claim. Platform service key only — no account_link_id. Requires OPENDATA_ENABLED=1 on the server.
| Name | Required | Description | Default |
|---|---|---|---|
| bizno | Yes | Business registration number, 10 digits. Matched against response ncrMasterNum after window scan. | |
| eDate | Yes | Gongsi period end YYYYMMDD (required by upstream). | |
| sDate | Yes | Gongsi period begin YYYYMMDD (required by upstream). | |
| maxPages | No | Max upstream pages to scan (default 5, hard max 20). | |
| corp_name | No | Optional firm name for M2/M3-style fallback when source ncrMasterNum is blank. | |
| numOfRows | No | Rows per upstream page (default 100, max 100). | |
| ncrAreaName | No | Optional registration sido filter. | |
| ncrAreaDetailName | No | Optional registration sigungu filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only sparse annotations (readOnlyHint=false, destructiveHint=false), the description carries the transparency burden and does substantial work: it discloses the fallback strategy and its 14% missing rate, the requirement for a platform service key (no account_link_id), the OPENDATA_ENABLED=1 server prerequisite, and the result-interpretation caveat. These go well beyond what the annotations provide. It loses a point only for not addressing pagination limits (hard max 20 pages implies possible missed rows) or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four dense sentences with the purpose front-loaded and every clause earning its place — source, strategy, caveat, auth, config. It is admirably compact for the amount of operational detail it conveys, though the unexplained internal designations (M1, B-5, M1_WITH_FALLBACK) are cryptic jargon an agent cannot act on, which nudges it below a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema and minimal annotations, the description is thorough on behavior, auth, deployment requirements, and result interpretation. The notable gap is the return shape: no output schema exists, yet the description never indicates what fields each disclosure row contains, so an agent cannot tell whether the result will answer a specific question (e.g., whether administrative dispositions are included, as the title suggests).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real parameter meaning: it explains that upstream truly requires sDate/eDate and that the required bizno is a post-hoc match key against ncrMasterNum rather than an upstream query field. It also quantifies the corp_name fallback scenario with missing_rate=0.14, which the schema does not. This is meaningful added semantics, not schema restatement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource pair — 'Look up KISCON construction-firm disclosure rows' — and pinpoints the exact upstream endpoint (data.go.kr 15061362 ConAdminInfoSvc1/GongsiReg). This immediately distinguishes it from similar siblings like opendata__g2b__sanction and opendata__env__waste_sanction by naming the KISCON data source, so an agent can tell them apart without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context: the window-based matching approach, that upstream keys on sDate/eDate rather than bizno, and the corp_name fallback path. The caution that 'Empty matches mean no hit in this window — not a certified clean claim' is especially useful for when an agent should not treat a null result as a definitive negative. However, it never explicitly names sibling alternatives or states when to prefer g2b/env-sanction tools, so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opendata__nts__status국세청 사업자등록 상태 조회ARead-onlyInspect
Look up NTS business registration status (data.go.kr 15081808). Platform service key only — no account_link_id. Requires OPENDATA_ENABLED=1 on the server.
| Name | Required | Description | Default |
|---|---|---|---|
| b_no | Yes | Business registration number(s), 10 digits each (e.g. ["1234567890"]). Max 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is covered. The description adds operational constraints (platform key, server env flag) and does not contradict annotations, but it does not describe response behavior or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the first states the action, the second specifies auth mode, and the third gives a server prerequisite. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup tool, the description is complete: the schema covers the parameter, annotations cover safety, and the description covers the API source, auth requirement, and environment flag. No output schema exists, but the return value is not needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: b_no is fully documented with format, min/max length, item count limits, and an example. The description adds no parameter-specific meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Look up'), a clear resource ('NTS business registration status'), and identifies the underlying data.go.kr API by reference number. However, it does not explicitly distinguish itself from similar sibling tools like opendata__nts__validate or hometax__tax__business_registration__search_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage context: this uses a platform service key, requires no account_link_id, and needs OPENDATA_ENABLED=1 on the server. This tells an agent when the open-data route is applicable, though it does not enumerate exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opendata__nts__validate국세청 사업자등록 진위 확인ARead-onlyInspect
Validate NTS business registration identity (data.go.kr 15081808). Requires b_no, start_dt (YYYYMMDD), p_nm per businesses[] item. Platform service key only — no account_link_id. Requires OPENDATA_ENABLED=1 on the server.
| Name | Required | Description | Default |
|---|---|---|---|
| businesses | Yes | NTS validate businesses[]. Each item requires b_no, start_dt (YYYYMMDD), p_nm. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds worthwhile operational context beyond annotations: the data.go.kr source identifier, the 'platform service key only' requirement, and the OPENDATA_ENABLED server flag. It does not disclose response format, but that is a smaller gap given the read-only validation nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler: purpose, required fields, key/flag prerequisites. All meaningful constraints are front-loaded, and every sentence contributes information an agent needs before calling the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validation tool with read-only annotations, the description covers the non-obvious prerequisites: external data source, required per-item fields, auth mode, and environment flag. A response-form semantics mention would slightly improve it since there is no output schema, but the definition is otherwise complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents b_no, start_dt, p_nm and optional fields. The description reinforces the required trio and adds the YYYYMMDD format for start_dt, but does not materially go beyond what the input schema already communicates, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Validate') on a specific resource ('NTS business registration identity') and identifies the exact upstream API (data.go.kr 15081808). This clearly differentiates it from sibling tools like opendata__nts__status, which would be a status lookup rather than a validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete invocation context: which fields must be present per array item, that only a platform service key is accepted, that account_link_id is not used, and that the server must have OPENDATA_ENABLED=1. It does not explicitly name alternatives or exclusions, but the context is clear enough to prevent misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_artifact__payslip_xlsx급여명세서 엑셀 생성AInspect
Build one payroll payslip workbook (xlsx) with one sheet per employee from attribution_ym, payment_date, and employees[]. Platform key Job — no account_link_id. Result is a single signed download_url (not composite merge; not Gmail).
| Name | Required | Description | Default |
|---|---|---|---|
| employees | Yes | Employee rows for payslip sheets (amounts already computed). | |
| company_name | No | Alias for workplace_name (runtime accepts either). | |
| payment_date | Yes | Payment date YYYY-MM-DD. | |
| attribution_ym | Yes | Payroll attribution month as YYYYMM (e.g. 202603). | |
| workplace_name | Yes | Workplace / company display name (required for payslip). | |
| workplace_address | Yes | ||
| business_registration_no | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and destructiveHint=false, so the description must carry the behavioral burden. It discloses that the output is a single signed download_url and that it's not composite merge or Gmail, but it doesn't state whether the artifact is persisted, any authentication requirements, or potential side effects beyond generating a URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that front-load the main purpose. Every phrase earns its place, though the 'Platform key Job — no account_link_id' is cryptic and may confuse agents. Overall it is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description adequately describes the output as a single signed download_url and the workbook layout (one sheet per employee). It doesn't cover error conditions or prerequisites, but given the moderate complexity and good schema coverage, it's sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 71% of parameters with descriptions. The tool description adds meaning by indicating that the employees array maps one sheet per employee, which is not explicit in the schema. It also names the key input parameters (attribution_ym, payment_date, employees) and notes the no account_link_id context, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Build), resource (payroll payslip workbook xlsx), and scope (one sheet per employee). Explicitly excludes composite merge and Gmail, distinguishing it from other artifact types. The tool name and title also align.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (generate a payslip xlsx) but does not explicitly contrast with sibling tools like payroll_artifact__register_xlsx. The 'not composite merge; not Gmail' clarifies the output type, but it's more about the result than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_artifact__register_xlsx급여대장 엑셀 생성AInspect
Build a standard payroll register workbook (xlsx) from attribution_ym and employees[] (tax/deduction amounts already computed). Platform key Job — no account_link_id. Result is a signed download_url via jobs.result_storage_uri (not composite merge).
| Name | Required | Description | Default |
|---|---|---|---|
| employees | Yes | Employee rows with name, birth_date, dependent counts, pay/allowance/deduction/tax/net amounts in won. | |
| company_name | No | Alias for workplace_name | |
| attribution_ym | Yes | Payroll attribution month as YYYYMM (e.g. 202603). | |
| workplace_name | No | ||
| workplace_address | No | ||
| business_registration_no | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, so this is a mutation (generation) tool. The description adds important behavioral context: it is a job-based operation ('Platform key Job') and the result is a signed download_url via jobs.result_storage_uri, not an immediate file. It also clarifies that tax/deduction amounts are already computed, so the tool does not calculate them. This goes beyond the annotations and helps set expectations for an asynchronous, file-generating process. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundancy. It front-loads the core purpose and input, then provides the key result format and a distinguishing note. Every word adds value, and it is appropriately brief for a tool of this complexity. The structure is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, a nested employees array, and no output schema, the description covers the essential outcome (signed download_url via jobs.result_storage_uri) and the fact that amounts are pre-computed. It also mentions the platform key and absence of account_link_id, which are operational prerequisites. It does not mention potential error conditions or maximum array sizes, but for a generation tool, the essentials are present. The description is largely complete for an agent to call it correctly, though it could benefit from noting any asynchronous polling requirements explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, meaning half of the parameters lack descriptions. The tool description only mentions attribution_ym and employees[], ignoring the optional parameters like workplace_name, workplace_address, and business_registration_no. It does not add meaning beyond the schema for the required parameters, nor does it compensate for the undocumented ones. For example, it doesn't explain the relationship between monthly_pay_won and monthly_salary_won beyond what the schema already provides. The description is not sufficient to guide parameter usage given the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a standard payroll register workbook (xlsx) from attribution_ym and employees[]. It names the specific verb (Build), the resource (payroll register workbook), and the inputs. It also distinguishes itself by noting 'not composite merge' and the platform key Job, which differentiates it from siblings like payroll_artifact__payslip_xlsx, though not explicitly. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention the sibling payslip_xlsx or any other payroll-related tools. The phrase 'not composite merge' is a hint about method but not about selection. It fails to state conditions for using this tool instead of others, leaving the agent to infer from the name alone. There is no when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_pack__employment_insurance_summary_v1__generate고용보험 보험료 요약AInspect
Composite employment-insurance summary v1: runs COMWEL premium billing notice search then employment detail as internal Jobs, and returns computed employment_insurance_won material. Requires prior comwel session login. requires_account_link=False — links resolve per leg provider. If computed is null the result could not be assembled: read computed_error for the reason and do not present the result as complete. Two shapes carry that case: this envelope with partial set to true (we fetched everything - the legs hold it - but could not calculate), or an error whose data carries the same envelope. partial is true whenever the result is incomplete, whether a leg failed or the calculation did.
| Name | Required | Description | Default |
|---|---|---|---|
| billing_year | Yes | Billing year in YYYY format | |
| billing_month | Yes | Billing month 1-12 (string or integer) | |
| idempotency_key | No | Optional outer idempotency key; leg keys are derived deterministically from this value. | |
| business_management_no | No | Optional COMWEL business management number; defaults to the logged-in workplace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the sparse annotations by disclosing the composite execution, the failure mode when computed is null (read computed_error), and the exact semantics of the partial flag, including the two shapes that carry incomplete results. It also explains the account-link behavior per leg provider, which is valuable for an agent deciding whether results are trustworthy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loads the core purpose and then adds prerequisites and failure semantics. Every sentence conveys necessary information, but some phrasing is convoluted (e.g., 'we fetched everything - the legs hold it') and could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description appropriately explains the computed material, the computed_error path, and partial flag semantics for both failure shapes. However, it does not define the full structure of the success envelope, which is a notable omission for a composite tool with multiple internal legs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all four parameters (billing_year, billing_month, idempotency_key, business_management_no), so the schema already documents parameter meaning. The tool description does not add parameter-specific semantics beyond the schema, though it does mention the login prerequisite and default workplace behavior in the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Composite employment-insurance summary v1'), the internal pipeline (COMWEL premium billing notice search then employment detail as internal Jobs), and the output (computed employment_insurance_won material). This clearly differentiates it from sibling generate tools like payroll_pack__premium_summary_v1__generate by naming the employment-insurance scope and composite behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite ('Requires prior comwel session login') and notes the account-link behavior, but it does not explicitly say when to choose this tool over alternatives or include exclusions. Usage context is implied by the name and composite description, yet no direct routing to sibling tools is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_pack__insurance_deduction_material_v1__generate4대보험 공제 재료AInspect
Composite insurance-deduction material v1: combines NHIS, NPS, and COMWEL employment billing notice Jobs, then returns computed insurance deduction material fields. Requires prior session login for 건강보험·국민연금·고용산재. Tax fields remain out of scope. One 고지 (고지년월 + 고지차수) reissued as several NHIS 작성회차 (WRT_CHASU) resolves to the newest revision; rows from different 고지 are never collapsed and stay skipped unless the provider-specific row key disambiguates them. requires_account_link=False — links resolve per leg provider. If computed is null the result could not be assembled: read computed_error for the reason and do not present the result as complete. Two shapes carry that case: this envelope with partial set to true (we fetched everything - the legs hold it - but could not calculate), or an error whose data carries the same envelope. partial is true whenever the result is incomplete, whether a leg failed or the calculation did.
| Name | Required | Description | Default |
|---|---|---|---|
| goji_round | No | Optional NHIS notice round | |
| nps_row_key | No | Optional NPS row key from pension notice search, used only to disambiguate multiple exact matches | |
| billing_year | Yes | COMWEL billing year in YYYY format | |
| nhis_row_key | No | Optional NHIS row key from premium notice search, used only to disambiguate multiple exact matches | |
| billing_month | Yes | COMWEL billing month 1-12 (string or integer) | |
| idempotency_key | No | Optional outer idempotency key; leg keys are derived deterministically from this value. | |
| nhis_document_id | No | NHIS summary document: BMBB_030=regular, BMBB_050=adjusted | BMBB_030 |
| installment_round | Yes | NPS installment round: 1=ED02, 2=ED08 | |
| notice_year_month | Yes | Target notice year-month in YYYYMM format | |
| business_management_no | No | Optional COMWEL business management number; defaults to the logged-in workplace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry almost no signal (readOnlyHint=false, destructiveHint=false), so the description shoulders the burden and delivers richly. It discloses revision resolution (newest WRT_CHASU wins), row-collapsing rules with provider-specific row keys, the computed/computed_error null pattern, and the precise meaning of partial=true across two error shapes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but every sentence earns its place: core purpose first, then prerequisites, scope exclusion, resolution edge case, account-link behavior, and finally error/partial handling. No filler or repetition; the operational edge cases are exactly what an agent needs before invoking.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a composite tool with 10 parameters editions, no output schema, and cross-provider coordination, the description is unusually complete: prerequisites, scope, dedup rules, and failure semantics are all covered. The notable gap is that the actual computed 'insurance deduction material fields' returned are not enumerated, which matters more given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds modest enrichment by tying 고지년월+고지차수 to the resolution semantics and explaining that row keys disambiguate rows from different 고지, but it does not systematically add per-parameter meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'combines NHIS, NPS, and COMWEL employment billing notice Jobs, then returns computed insurance deduction material fields.' This clearly distinguishes it as a composite generation tool from the surrounding session-auth, search, and single-provider sibling tools like nhis_edi__public__notices__list or payroll_pack__premium_summary_v1__generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: it requires prior session login for the three providers, explicitly excludes tax fields, and explains that requires_account_link=False means links resolve per leg provider. It does not explicitly name alternatives or state when-not-to-use versus sibling generate tools (e.g., premium_summary), so exclusions are implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_pack__smoke__generate급여 융합 팩 스모크 (홈택스+건보)AInspect
Composite smoke tool: runs hometax.session.user_info and nhis_edi.session.status as internal Jobs, merges results. Requires prior session login per institution. requires_account_link=False — links resolve per leg provider.
| Name | Required | Description | Default |
|---|---|---|---|
| idempotency_key | No | Optional outer idempotency key; leg keys are derived deterministically from this value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses that the tool internally executes two Jobs and merges results, and it explicitly states that account linking is not required and links resolve per leg provider. It also flags session dependencies. These details add meaningful behavioral context beyond the annotations, which only provide readOnlyHint=false and destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct information: composition, internal jobs, merge behavior, session prerequisites, and account-link semantics. There is no filler, and the most important facts are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers the tool's composite nature, target institutions, merge behavior, and session/account-link preconditions, which are the main non-obvious facts an agent needs. It does not spell out return/error shape, but as a smoke tool the purpose is reasonably clear and the schema/annotations cover the rest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, idempotency_key, is already fully described in the input schema with 100% coverage, including deterministic derivation of leg keys. The description adds no parameter-level semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Composite smoke tool' and names the exact internal jobs (hometax.session.user_info, nhis_edi.session.status) plus the merge behavior, so an agent knows both what and how it operates. This clearly distinguishes it from sibling payroll_pack generate tools and individual session/status tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by labeling the tool as a smoke/health-check composite and stating the critical precondition that sessions must already be logged in per institution. It does not explicitly name alternatives or exclusions, but the composite framing and prerequisite are enough for an agent to infer when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shinhan_easy__accounts__list신한은행 계좌 목록 조회ARead-onlyInspect
REQUIRES prior shinhan_easy__auth__id_password_session__login call with same account_link_id. List Shinhan easy-inquiry accounts for a registered account link.
| Name | Required | Description | Default |
|---|---|---|---|
| include_raw | No | Include raw provider response fields | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true and destructiveHint=false, so safety is disclosed. The description adds the login dependency and the requirement of an existing registered account link, which are behavioral context beyond the annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that immediately states the critical prerequisite, followed by a precise purpose statement. No redundant words or extraneous content, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with two well-documented parameters and safety annotations, the description covers all essential usage context: the prerequisite, the scope, and the operation. No output schema exists, but for a list operation the return type is self-evident, and nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (include_raw and account_link_id) having detailed descriptions. The description adds no additional parameter-specific meaning beyond what's in the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb ('List') and a clear resource ('Shinhan easy-inquiry accounts') within the scope of 'a registered account link.' This clearly distinguishes it from the sibling transaction-history tool (shinhan_easy__accounts__transaction_history__search) whose purpose is different.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the mandatory prerequisite (prior login call with the same account_link_id), which is critical usage context. It doesn't explicitly list alternatives or when-not-to-use scenarios, but the prerequisite and the nature of the operation effectively communicate its role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shinhan_easy__accounts__transaction_history__search신한은행 거래내역 조회ARead-onlyInspect
REQUIRES prior shinhan_easy__auth__id_password_session__login call with same account_link_id. Search Shinhan easy-inquiry transaction history for one account.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date YYYY-MM-DD or YYYYMMDD | |
| max_pages | No | Maximum pages to fetch; default 20, max 100 | |
| sort_order | No | ||
| start_date | Yes | Start date YYYY-MM-DD or YYYYMMDD | |
| employee_yn | No | Provider employee flag; default 2 | |
| include_raw | No | Include raw provider response fields | |
| business_type | No | Provider business type; default 2 | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| bank_account_credential_id | Yes | Opaque bank-account credential selected by the user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the login dependency and scopes the call to a single account. It does not disclose pagination or response characteristics, but with annotations covering the main behavioral safety signals, this level of additional context is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The critical prerequisite is front-loaded at the very beginning, followed by a concise statement of purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters and no output schema, the description covers the essential precondition and scope but does not mention return format, pagination behavior, or error conditions. The schema and annotations carry most of the operational context, so the description is minimally viable but not rich enough to fully orient an agent encountering this tool for the first time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 89%, so most parameters are already described. The description adds value by tying account_link_id to the required prior login call ('same account_link_id'), which clarifies the relationship between the login and this search. No other parameter semantics are enriched beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a precise resource ('Shinhan easy-inquiry transaction history'), and a scope ('one account'). The full tool name and title reinforce the bank and operation, distinguishing it from siblings like kb_fast_account__accounts__transaction_history__search by provider and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly declares the prerequisite: a prior shinhan_easy__auth__id_password_session__login call with the same account_link_id. This is an unambiguous conditional for correct invocation. It does not name alternative tools, but the precondition is the most critical usage guidance for this operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shinhan_easy__auth__id_password_session__login신한은행 간편조회 로그인AInspect
Call this FIRST before any other tool for this provider. Create a Shinhan easy-inquiry session from a registered ID/password account link.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only and non-destructive behavior, and the description confirms it creates a session, which matches. It does not disclose side effects like session invalidation or idempotency, but given the annotations, the bar is lowered. The description adds the ordering requirement but little else about behavior beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the primary instruction ('Call this FIRST') and the action. There is zero fluff; every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for an agent to know when to call the tool and what it does. It could mention the return value (e.g., a session token) but since there's no output schema and it's a standard login step, the current information is adequate. The optional parameter is auto-resolved, so no additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, account_link_id, is fully documented in the schema (100% coverage), so the description need not add more. The description does not mention the parameter, but since the schema already explains it clearly, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a Shinhan easy-inquiry session') and the resource ('from a registered ID/password account link'). It also distinguishes itself from other tools by explicitly instructing to call it FIRST before any other tool for this provider, making its role unambiguous among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Call this FIRST before any other tool for this provider' provides explicit timing for usage. It doesn't mention when NOT to use it or alternative login methods (like NPKI) for this provider, but given the tool name and siblings, it's clear this is the sole login for Shinhan easy-inquiry, so no exclusion is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__auth__npki_session__login고용24 로그인AInspect
Call this FIRST before any other tool for this provider. Login to work24 (고용24) via 공동인증서 (corporate joint certificate).
| Name | Required | Description | Default |
|---|---|---|---|
| isoa_no | No | 사무대행기관 번호. Required only when member_type_code=BE902. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| member_type_code | No | 회원유형: BE904 일반사업자 (default) or BE902 사무대행기관 | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. Required for 장려금 신청 screens. | |
| business_registration_no | Yes | 10-digit business registration number (e.g. 1234567890) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false and destructiveHint=false, so the description carries much of the behavioral burden. It adds the key credential requirement and the sequencing requirement, but it does not disclose session effects, repeated-login behavior, or success/error outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The critical 'call first' instruction is front-loaded, followed by the provider and authentication method. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a login tool with no output schema, the description provides the essential ordering and credential method, and the schema fully documents all five parameters. It omits post-login session behavior and verification steps, but those are not necessary for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has detailed semantic documentation including conditional requirements (isoa_no for BE902) and defaults (BE904). The description adds no parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific verb ('Login'), resource ('work24 (고용24)'), and authentication mechanism ('공동인증서 / corporate joint certificate'). This clearly separates it from status-checking tools like work24__auth__session__status and from other providers' login tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening instruction 'Call this FIRST before any other tool for this provider' is an explicit when-to-use directive with clear ordering context. It does not name alternatives or conditions for skipping login, such as checking an existing session first via work24__auth__session__status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__auth__session__status고용24 세션 상태 조회CRead-onlyInspect
Check work24 session status.
| Name | Required | Description | Default |
|---|---|---|---|
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond restating that it is a status check – it does not mention possible session states, whether sessions expire, or what the response looks like. With no extra disclosure beyond the annotations, the description contributes minimal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and free of fluff, but it is close to a restatement of the tool name and title. It is concise but under-specified; it does not add enough information to justify a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and annotations plus schema cover safety and parameters, but there is no output schema and no explanation of what session statuses may be returned or how to interpret them. The description lacks usage context and expected result semantics, leaving the agent without enough information to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single optional parameter, and the schema provides a detailed explanation of account_link_id including when to omit it and when to provide it explicitly. The description itself adds no parameter semantics, but because the schema is complete, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Check work24 session status.' It is clear that this tool queries session state for the work24 provider, and the name/prefix distinguishes it from sibling session-status tools for other providers. However, it provides no detail on what 'status' means or what kinds of results are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. It does not mention using it after login, before other work24 operations, or how it relates to work24__auth__npki_session__login or other session-status siblings. The agent is left to infer the proper invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__delete고용24 기업지원금 작성중 초안 삭제ADestructiveInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Delete a work24 subsidy draft that has not been submitted. Requires explicit caller acknowledgement. Submitted applications must be withdrawn instead.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | 되돌릴 수 없는 처리에 대한 명시 확인. true 가 아니면 거부된다. | |
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, and the description adds meaningful context: it deletes only drafts, requires explicit caller acknowledgement, and requires a prior authenticated session. This goes beyond the annotation flags by clarifying what gets destroyed and under what conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no wasted words. The prerequisite is front-loaded, followed by the action, the acknowledgement requirement, and the alternative. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with annotations covering the safety profile and full schema parameter coverage, the description provides the essential call context: prerequisite, target scope, confirmation, and fallback. No output schema exists, but a delete operation does not need return-value explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add new parameter meaning beyond schema, but it correctly mentions account_link_id in the prerequisite and the confirmation requirement, reinforcing the confirm parameter's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Delete a work24 subsidy draft that has not been submitted.' It also distinguishes itself from the withdrawal sibling by explicitly saying submitted applications must be withdrawn instead. The Korean title reinforces the same scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the prerequisite login call and the account_link_id requirement, states the condition under which this tool applies (unsubmitted drafts), and names the alternative path for submitted applications (withdraw). It also flags the confirmation requirement for destructive action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__draft_validate고용24 기업지원금 제출 전 확인ARead-onlyInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Validate a work24 subsidy draft against the live screen and report the attachment set and whether submission is allowed. Nothing is saved or submitted. Read-only — the mandatory dry run before submit.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable context: the login prerequisite, validation against the live screen, and the specific output (attachment set and whether submission is allowed). This goes beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The critical prerequisite is front-loaded, followed by the action and its read-only nature. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no output schema, the description explains purpose, prerequisite, return value (attachment set and allowed flag), and safety profile. It is sufficient for correct invocation, though it could elaborate on error conditions or the exact format of the attachment set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented in the schema. The tool description adds the 'same account_link_id' constraint in the login prerequisite, but otherwise does not elaborate on parameter semantics, warranting the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('validate') and resource ('work24 subsidy draft'), and explicitly frames it as a read-only dry run before submission. This clearly differentiates it from sibling tools like submit, delete, modify, and withdraw.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the prerequisite login call with the same account_link_id and positions the tool as 'the mandatory dry run before submit.' This tells the agent when to invoke it, though it does not explicitly name the alternative submit tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__history고용24 기업지원금 신청 이력 조회ARead-onlyInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. List past work24 subsidy applications for this programme with their processing state (작성중/처리중/보완요청/반려/처리완료/…). Read-only — the state SSOT is work24, not XDATA. Covered only for programmes whose svcCd is measured on the '참여 사업관리(기존 신청자)' screen; other programmes answer 501 with the measured list.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | 조회 종료일 YYYYMMDD. 비우면 오늘. | |
| date_from | No | 조회 시작일 YYYYMMDD. 비우면 date_to 기준 30일 전(화면 기본값과 동일). | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only'. It adds useful behavioral context beyond the annotations: the work24 SSOT vs XDATA, the auth prerequisite, and the 501 failure mode for unsupported programmes. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich with no filler. The most important prerequisite is front-loaded, followed by the core purpose, read-only semantics, SSOT note, and coverage caveat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, required auth context, supported programme scope, processing states, and failure behavior, while the schema fully documents all five parameters. However, there is no output schema and the description does not explain the exact response shape or clarify the 'measured list' phrase in the 501 case, so a small completeness gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and the schema already explains every parameter including programme_key, date defaults, account_link_id behavior, and business_management_no. The description adds contextual constraints like the auth prerequisite and programme coverage, but it does not add new parameter-level meaning beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List past work24 subsidy applications for this programme with their processing state'. It also names the programme scope and states read-only behavior, clearly distinguishing this from mutation siblings like submit, modify, withdraw, and delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage prerequisite: a prior work24__auth__npki_session__login call with the same account_link_id. It also provides a vital exclusion: only programmes measured on the '참여 사업관리(기존 신청자)' screen are supported, with other programmes returning 501. It does not explicitly name alternative tools, but the coverage boundary and auth context are strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__init고용24 기업지원금 신청 진입BInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Enter a work24 (고용24) employer-subsidy application. Confirms the 사전진단 verdict for the programme and returns the screen contract. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly claims 'Read-only', but the annotations declare readOnlyHint: false, indicating the tool is NOT read-only. Given the tool name includes 'init' (entering/initiating an application, which creates state), the read-only claim is directly contradicted by the structured annotation. This is a serious inconsistency that could mislead an agent into treating a state-changing call as safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with the critical prerequisite front-loaded before the purpose. The text is efficient and wastes no words, though the misleading 'Read-only' sentence does undercut the overall value. Structurally it is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the prerequisite login, the core purpose, and the return (screen contract), and the schema covers all params. But the false 'Read-only' claim, combined with no output schema and no explanation of the screen contract's structure or the expected follow-up workflow steps (e.g., __workplace_save, __target_save), leaves meaningful gaps for an agent deciding whether and how to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters with rich detail (example values, conditions, cross-references to subsidy_pack diagnosis). The tool description itself adds no parameter semantics beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Enter') with a clear resource ('work24 employer-subsidy application'), and adds that it confirms the 사전진단 verdict and returns the screen contract. This distinguishes it from sibling application tools like __submit, __modify, and __delete by framing it as the entry/initiation step. It doesn't explicitly name siblings, but the 'init' purpose is clear enough against the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States an explicit, important precondition: REQUIRES prior work24__auth__npki_session__login with the same account_link_id. This gives clear context on when the tool can be invoked. However, it does not name alternatives or state when NOT to use it (e.g., versus __target_init or __requirements), so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__modify고용24 기업지원금 신청 수정ADestructiveInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Modify an already-submitted work24 subsidy application (prssMode=UPDT). Same endpoint as submit, different mode. Requires explicit caller acknowledgement and the LIVE write mode.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | 되돌릴 수 없는 처리에 대한 명시 확인. true 가 아니면 거부된다. | |
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. | |
| admin_info_sharing_consent | Yes | 행정정보 공동이용 동의 여부. 고용24 제출 화면의 필수 항목이며 동의 여부는 고객이 직접 정해야 한다. 미지정이면 제출이 거부된다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true; the description adds useful context beyond that by emphasizing 'LIVE write mode' and 'explicit caller acknowledgement.' It also clarifies that this is the same endpoint as submit but a different mode, which is valuable operational detail. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: prerequisite, purpose, and operational caution. The hard requirement is front-loaded with 'REQUIRES,' and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with strong annotations and fully documented parameters, the description covers the essential invocation context: login prerequisite, update mode, live write nature, and caller confirmation. It does not describe return behavior, but no output schema exists and that is not critical for deciding to call or invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and parameter descriptions are already detailed (e.g., confirm must be true, receipt_no comes from workplace_save). The description adds only mild extra meaning by tying account_link_id to the prior login call, but it does not need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Modify') and resource ('already-submitted work24 subsidy application'), and further distinguishes itself from submit by naming prssMode=UPDT and 'Same endpoint as submit, different mode.' This leaves no ambiguity about the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes the mandatory precondition (prior work24__auth__npki_session__login with the same account_link_id) and limits the action to already-submitted applications. It does not explicitly enumerate alternatives like submit/delete/withdraw, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__requirements고용24 기업지원금 신청 필요입력 안내AInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. List what the applicant must supply before any write: institution-provided values, customer-required fields, registered payment accounts, and how attachments are procured (the document list itself is issued by draft_validate, keyed by 접수번호). Read-only — call this before workplace_save.
| Name | Required | Description | Default |
|---|---|---|---|
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims 'Read-only' but the annotations declare readOnlyHint: false. This is a direct contradiction, which is a serious inconsistency that could mislead the agent. The description also adds useful context about prerequisites and the relationship to draft_validate, but the contradiction overrides any positive contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste. It front-loads the critical prerequisite and clearly states the tool's purpose and read-only nature (though contradicted by annotations). The structure is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no output schema, and no nested objects, the description covers the key aspects: prerequisite, when to call, what it returns (list of required inputs), and how attachments are procured. It doesn't describe the exact output format, but that's not required given the absence of an output schema. The contradiction with annotations slightly reduces completeness, but otherwise it's thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters with 100% coverage, so the description adds little beyond what is already available. It mentions account_link_id in the prerequisite but not in the parameter semantics, and it references 접수번호 which is not a parameter. The description doesn't compensate for any schema gaps because there are none, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('List what the applicant must supply before any write') and clearly identifies the resource (subsidy application requirements). It also distinguishes itself from related tools by referencing draft_validate and workplace_save, making its role explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage context: requires prior login with the same account_link_id, and should be called before workplace_save. It also clarifies that the document list comes from draft_validate, so the agent knows when to use this tool versus others. However, it doesn't explicitly state when not to use it, leaving a small gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__submit고용24 기업지원금 신청 제출ADestructiveInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Submit a work24 subsidy application to 고용노동부 (prssMode=SNDG). Irreversible: requires explicit caller acknowledgement, the LIVE write mode, and a draft_validate that reports can_submit. Undo is withdraw (반려요청), not delete.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | 되돌릴 수 없는 처리에 대한 명시 확인. true 가 아니면 거부된다. | |
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. | |
| admin_info_sharing_consent | Yes | 행정정보 공동이용 동의 여부. 고용24 제출 화면의 필수 항목이며 동의 여부는 고객이 직접 정해야 한다. 미지정이면 제출이 거부된다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint=true), the description adds irreversibility, need for explicit caller acknowledgement, live write mode, and login prerequisites. It also explains the undo path. No contradictions with annotations; in fact, it enriches them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each essential: prerequisite, action, and irreversibility. Front-loaded with the login requirement, no redundancy, and all critical information is conveyed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers prerequisites, irreversibility, and undo path, which is sufficient for a high-stakes mutation. However, it does not describe the expected response or what happens after submission (e.g., returns a receipt number or status), and no output schema exists. This small gap prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with detailed per-parameter descriptions (e.g., receipt_no from workplace_save, programme_key from subsidy_pack). The description text adds no additional param-specific semantics beyond referencing account_link_id in the login prerequisite, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Submit' and the resource 'work24 subsidy application' to 고용노동부, distinguishing it from siblings like draft_validate, modify, and withdraw. It also mentions the technical mode (prssMode=SNDG), making the action specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly requires a prior login with the same account_link_id, mandates a draft_validate that reports can_submit, and clarifies that undo is via withdraw, not delete. This fully routes the agent to use this tool only after validation and provides clear conditions for use versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__target_init고용24 기업지원금 대상자정보 단계 진입BInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Enter the 대상자정보 step of an existing work24 subsidy draft and return its form contract. Requires a 접수번호 from workplace_save. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims 'Read-only' while annotations set readOnlyHint to false, a direct contradiction. Per the rules, this warrants a score of 1. The description does disclose the return of a form contract, but the contradiction is a severe transparency failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the most critical prerequisite (REQUIRES prior login), then states the purpose and dependency. Every sentence earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the schema covers all parameters, the description has a major contradiction with annotations (read-only claim vs readOnlyHint false). It also lacks error conditions or post-conditions. The missing output schema is offset by the mention of returning a form contract, but the contradiction and lack of edge-case guidance make it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by specifying the provenance of receipt_no (from workplace_save) and programme_key (from subsidy_pack diagnosis), which are not in the schema. This enhances understanding beyond the field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Enter the 대상자정보 step of an existing work24 subsidy draft and return its form contract.' This is a specific verb and resource, distinguishing it from other application tools like target_save or target_search. It does not explicitly name alternatives but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: it requires a prior login with the same account_link_id and a receipt number from workplace_save. This establishes a dependency chain but does not mention alternatives or when not to use it. That fits 'clear context, no exclusions.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__target_save고용24 기업지원금 대상자 저장ADestructiveInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Name the chosen 피보험자 as subsidy targets on a draft, identified by the irno values returned by target_search. Write — reversible while the draft is 작성중.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| worker_type | Yes | 근로자유형. 고용24 화면 필수 선택 항목이며 기관이 채워 주지 않는다. 라벨은 target_search 응답의 selection_options 에 있다. | |
| target_irnos | Yes | target_search 결과의 irno 배열. 주민번호는 필요하지 않다 — 기관이 이미 아는 값을 다시 받지 않는다. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| labor_contract | Yes | 근로계약유형. 고용24 화면 필수 선택 항목. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false and destructiveHint=true. The description adds useful behavioral nuance: this is a write operation and is reversible only while the draft is in 작성중 status. That is meaningful context beyond the structured annotations. No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler. The prerequisite is front-loaded, the main action is clearly stated, and the reversibility caveat earns its place. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with 7 parameters and no output schema, the description covers the critical workflow: login prerequisite, target_search as ID source, draft context, and reversibility condition. The main gaps are explicit sequencing with target_init/submit and any expected response, so it is strong but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds extra meaning by tying target_irnos to target_search results and by requiring account_link_id to match the prior login session. This goes beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: naming selected insured persons (피보험자) as subsidy targets on an existing draft, using irno values from target_search. This is a specific verb+resource description that distinguishes the tool from search/read siblings like target_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a hard prerequisite: prior work24__auth__npki_session__login with the same account_link_id. It also indicates the right upstream data source (target_search irno values). It does not explicitly name alternatives or when-not-to-use conditions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__target_search고용24 기업지원금 대상자 후보 조회ARead-onlyInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. List the 사업장 고용보험 피보험자 who can be named as subsidy targets. Targets are chosen from this list, never created, so no resident registration number is required from the caller. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based 페이지 (기본 1) | |
| query | No | 대상자 성명 부분검색. 비우면 피보험자 전체. | |
| page_size | No | 페이지 크기 (기본 10) | |
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, which the description's 'Read-only' mirrors. The description adds value beyond annotations by stating no resident registration number is required from the caller and that the prerequisite login is mandatory, useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the prerequisite and the core purpose. No filler. Slightly denser than strictly necessary but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter search tool with a rich schema and safety-relevant annotations, the description adequately covers the prerequisite login, read-only behavior, and selection semantics. A minor gap is not describing what the result list contains beyond '피보험자', but no output schema exists and the schema parameters carry most of the burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 7 parameters including cross-references to workplace_save (receipt_no) and subsidy_pack (programme_key). The description adds no parameter-level detail, so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb (List/search) with a clear resource (사업장 고용보험 피보험자 who can be named as subsidy targets). Explicitly distinguishes itself from siblings by stating targets are chosen from this list, never created, which separates it from target_save and target_init.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States a hard prerequisite (prior work24__auth__npki_session__login with same account_link_id) and explains the workflow role of the tool (candidates are selected from the returned list, not created). It doesn't name an alternative tool, but the 'never created' phrasing clarifies when this is appropriate versus the target_save/modify siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__withdraw고용24 기업지원금 신청 철회ADestructiveInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Withdraw a submitted work24 subsidy application (반려요청). Requires explicit caller acknowledgement. This is the undo for submit.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | 되돌릴 수 없는 처리에 대한 명시 확인. true 가 아니면 거부된다. | |
| receipt_no | Yes | 민원신청접수번호 (cvplRqutRcno). workplace_save 가 발급한 값. | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description adds that explicit caller acknowledgement is required and that it is an undo for submit. This adds some behavioral context but does not detail side effects or error handling beyond what annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The mandatory prerequisite is front-loaded, and the action is stated directly. It earns a high score for being concise and well ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutating tool with no output schema, the description does not explain return values or failure modes. It also does not distinguish itself from the delete sibling, leaving some ambiguity. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter has a thorough description. The tool description only reinforces that account_link_id must match the login session, which is already captured in the schema. No meaningful parameter semantics are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Withdraw') and resource ('submitted work24 subsidy application'), and frames it as the undo for submit. This distinguishes it from submit, though it does not explicitly differentiate it from the sibling delete tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear prerequisite (prior login with same account_link_id) and positions the tool as the undo for submit. It does not explicitly state when not to use versus the delete sibling, but the context is clear enough for most agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work24__subsidy__application__workplace_save고용24 기업지원금 사업장정보 저장ADestructiveInspect
REQUIRES prior work24__auth__npki_session__login call with same account_link_id. Save 사업장정보 into a work24 subsidy draft and obtain the 접수번호 (cvplRqutRcno). Write — business-key idempotent: a retry returns the existing 접수번호 instead of creating a second draft.
| Name | Required | Description | Default |
|---|---|---|---|
| manager_name | No | 담당자명 | |
| applicant_zip | No | 사업장 우편번호 (5자리) | |
| manager_email | No | 담당자 이메일 (예: manager@example.com) | |
| programme_key | Yes | 카탈로그 사업 키 (예: w24_b0010 고용촉진장려금). subsidy_pack 진단 결과의 programme_key 를 그대로 넣는다. | |
| manager_phone1 | No | 담당자 유선전화 국번 앞자리 (예: 02) | |
| manager_phone2 | No | 담당자 유선전화 나머지 (예: 6380-5554) | |
| account_link_id | No | Account link ID (UUID v4). Optional — the server auto-resolves from your API key when omitted. Provide explicitly only when you have multiple certificates for the same provider. Each institution has a separate ID (Hometax != NHIS != NPS != FourInsure). | |
| manager_mobile1 | No | 담당자 휴대전화 앞자리 (예: 010) | |
| manager_mobile2 | No | 담당자 휴대전화 나머지 | |
| application_year | No | 신청 시작 연도 | |
| payment_bank_name | No | 지원금 입금 은행명 | |
| payment_account_no | No | 지원금 입금 계좌번호 | |
| application_quarter | No | 신청 시작 분기/월 구분값 | |
| applicant_base_address | No | 사업장 기본주소 | |
| business_management_no | No | 11-digit 고용보험 사업장관리번호. 비우면 로그인 시 저장된 값을 쓴다. | |
| payment_account_holder | No | 예금주명 (사업장명과 일치해야 한다) | |
| applicant_detail_address | No | 사업장 상세주소 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true and readOnlyHint=false, so the agent knows it is a write operation. The description adds valuable behavioral context beyond that: it is idempotent on retry (returns existing 접수번호 instead of creating a duplicate draft). It also clarifies the output is the receipt number. This adds meaningful disclosure without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the critical prerequisite front-loaded and the core action stated immediately. It includes the idempotency behavior and the output in a compact, efficient manner. Every sentence earns its place; there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 17 parameters and no output schema, the description provides the essential context: the required login, the save action, the output receipt number, and idempotency. However, it does not describe the response format beyond the receipt number, nor does it mention error scenarios or side effects on existing drafts. Given the complexity, the description is adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 17 parameters, so the schema already documents each field. The description does not add additional parameter-level semantics beyond noting the account_link_id must match the login call, which is a cross-parameter constraint already implied by the prerequisite. Baseline 3 is appropriate since the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Save 사업장정보 into a work24 subsidy draft and obtain the 접수번호'. It names the specific verb (save), resource (work24 subsidy draft), and the output (receipt number). It also distinguishes itself from siblings by mentioning idempotency, which is not typical of other save/modify tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite: 'REQUIRES prior work24__auth__npki_session__login call with same account_link_id'. This tells the agent when it can be used. However, it does not explicitly contrast with sibling tools like modify or target_save, nor does it state when not to use this tool. The context is clear but not fully differentiated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
99 tool updates
- First observed
comwel__auth__npki_session__login - First observed
comwel__auth__session__status - First observed
comwel__info__individual_billed_premium__detail - First observed
comwel__info__individual_billed_premium__worker_select - First observed
comwel__info__premium_billing_notice__detail - First observed
comwel__info__premium_billing_notice__search - First observed
fourinsure__session__login - First observed
hometax__cash_receipt__daily_issue__search - First observed
hometax__cash_receipt__purchase__search_history - First observed
hometax__cash_receipt__sales__search_history - First observed
hometax__cash_receipt__sales__search_summary - First observed
hometax__certificate__apply__business_registration - First observed
hometax__certificate__apply__business_registration_reissue - First observed
hometax__certificate__apply__financial_statement - First observed
hometax__certificate__apply__national_tax_payment - First observed
hometax__certificate__apply__tax_payment_record - First observed
hometax__certificate__apply__vat_standard - First observed
hometax__certificate__apply_auto - First observed
hometax__certificate__apply_with_template - First observed
hometax__certificate__download - First observed
hometax__certificate__list - First observed
hometax__certificate__list_templates - First observed
hometax__etax__business_info__get - First observed
hometax__etax__client_info__get - First observed
hometax__etax__invoice__issue - First observed
hometax__etax__invoice__modify - First observed
hometax__etax__invoice__search_detail - First observed
hometax__etax__invoice__search_list - First observed
hometax__etax__invoice__search_statistics - First observed
hometax__etax__invoice__search_summary - First observed
hometax__session__login - First observed
hometax__session__user_info - First observed
hometax__tax__business_registration__search_info - First observed
hometax__tax__business_registration__search_status - First observed
hometax__tax__credit_card__search_sales_data - First observed
hometax__tax__electronic_notice__check_status - First observed
hometax__tax__my_tax_agent__search - First observed
hometax__tax__notice__search_history - First observed
hometax__tax__overdue__search_history - First observed
hometax__tax__payment_due__search_or_pay - First observed
hometax__tax__payment_statement__search - First observed
hometax__tax__payment_statement__search_submit_history - First observed
hometax__tax__refund__search_detail - First observed
hometax__tax__return_history__search_vat - First observed
hometax__tax__trade_partner__search_list - First observed
hometax__tax__unclaimed_refund__search - First observed
ibk_fast_account__accounts__quick_summary__get - First observed
ibk_fast_account__session__login - First observed
kb_biz_card__approvals__init - First observed
kb_biz_card__approvals__page - First observed
kb_biz_card__approvals__result - First observed
kb_biz_card__approvals__search - First observed
kb_biz_card__common__cards__select - First observed
kb_biz_card__common__departments__select - First observed
kb_biz_card__payments__init - First observed
kb_biz_card__payments__page - First observed
kb_biz_card__payments__result - First observed
kb_biz_card__payments__search - First observed
kb_biz_card__purchases__init - First observed
kb_biz_card__purchases__page - First observed
kb_biz_card__purchases__result - First observed
kb_biz_card__purchases__search - First observed
kb_biz_card__session__login - First observed
kb_fast_account__accounts__transaction_history__search - First observed
kb_fast_account__session__login - First observed
nhis_edi__public__notices__list - First observed
nhis_edi__public__resources__list - First observed
nhis_edi__session__login - First observed
nhis_edi__session__status - First observed
nps_edi__auth__npki_session__login - First observed
nps_edi__auth__session__status - First observed
opendata__env__waste_sanction - First observed
opendata__g2b__sanction - First observed
opendata__kiscon__sanction - First observed
opendata__nts__status - First observed
opendata__nts__validate - First observed
payroll_artifact__payslip_xlsx - First observed
payroll_artifact__register_xlsx - First observed
payroll_pack__employment_insurance_summary_v1__generate - First observed
payroll_pack__insurance_deduction_material_v1__generate - First observed
payroll_pack__premium_summary_v1__generate - First observed
payroll_pack__smoke__generate - First observed
shinhan_easy__accounts__list - First observed
shinhan_easy__accounts__transaction_history__search - First observed
shinhan_easy__auth__id_password_session__login - First observed
work24__auth__npki_session__login - First observed
work24__auth__session__status - First observed
work24__subsidy__application__delete - First observed
work24__subsidy__application__draft_validate - First observed
work24__subsidy__application__history - First observed
work24__subsidy__application__init - First observed
work24__subsidy__application__modify - First observed
work24__subsidy__application__requirements - First observed
work24__subsidy__application__submit - First observed
work24__subsidy__application__target_init - First observed
work24__subsidy__application__target_save - First observed
work24__subsidy__application__target_search - First observed
work24__subsidy__application__withdraw - First observed
work24__subsidy__application__workplace_save
Related MCP Connectors
Korean company identity, registration status and monthly payroll-based employment, in English.
Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals
Korean tax-office and fair-trade registries, HS codes, landed cost. Two tools need no API key.
- mcpweaveOAuthcom.mcpweave
Korea-native MCP gateway: Korean commerce, payments, messaging, gov & finance APIs for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables searching and retrieving tax law data from the Korean National Tax Service database, including interpretations, rulings, forms, publications, and site menus via MCP tools.141MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to retrieve current Korean tax statutes, judicial precedents, and tax authority interpretations via MCP, with daily-updated legislative history and full-text search.1MIT
- AlicenseBqualityBmaintenanceEnables Korean legal document processing, case analysis, and consultation using MCP, with OCR parsing, fact extraction, claim identification, subsumption grid, legal API verification, and document drafting.24MIT
- FlicenseAqualityCmaintenanceMCP server for Korean National Law Information. Enables searching and retrieving Korean laws, English-translated laws, administrative rules, court precedents, and constitutional decisions via 54 MCP tools.54-
Glama MCP Gateway
Add one secure layer between your agents and this server.