MadeCheck
Server Details
Free landed cost estimates and import requirements for US businesses buying from China.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 27 tools
Most tools map to distinct resources and actions, and descriptions clarify actor-specific pairs like cancel_order_pack vs decline_order_pack. Some adjacent compliance/import-cost and document/material tools require careful reading to sequence correctly, so minor ambiguity remains.
All names use snake_case with a predictable verb_noun or verb_noun_phrase structure, such as create_order_pack, get_order_pack, and list_order_packs. Minor variations like lookup_factory and get_buy_credits_link are still readable and consistent.
The 27 tools are heavy, but the server spans order-pack lifecycle, compliance, credits, documents, messaging, and approvals, so most tools map to real operations. The set is still on the high side and could likely be consolidated.
Core order-pack lifecycle, approvals, messages, compliance quote/accept/read, credits, and document upload are covered. Minor gaps remain around document retrieval/listing, compliance cancellation, and direct order-pack edits, but agents can work around them.
Available Tools
27 toolsaccept_compliance_quoteAccept compliance quoteCInspect
Accept compliance quote. Accept the quoted compliance_case_id using request_id and available credits; returns case completion state and charged_cents after payment. charges credits. 接受报价。用 compliance_case_id、request_id 和可用额度接受合规报价;返回受理状态及 charged_cents。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| compliance_case_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the description does not need to restate safety basics. It adds useful context by stating that the tool 'charges credits' and returns case completion state and charged_cents. It does not explain failure behavior, credit sufficiency handling, or reversibility, which limits the score.
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 core operation is front-loaded, but the description is cluttered with bilingual duplication, a repeated 'Accept compliance quote. Accept...' opening, and promotional text about credits going on sale at madecheck.com. Those sentences do not help the agent invoke the tool correctly and take space away from operational 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?
This is a mutation tool with financial impact and no output schema, so return-value context is important; the description does provide 'case completion state and charged_cents'. However, it omits error conditions, credit insufficiency behavior, and when acceptance is valid versus other compliance tools. The 'Coming soon' note is unclear and potentially misleading for an agent deciding whether to call 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 0%, so the description should explain both parameters. It merely names compliance_case_id and request_id without defining what identifies the request versus the case, and it does not describe format, source, or constraints. The mention of 'available credits' is not tied to any parameter.
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 and resource: 'Accept compliance quote' and 'Accept the quoted compliance_case_id'. It also states the inputs and outcome (case completion state and charged_cents), which is clearer than a tautology. However, it does not distinguish this tool from sibling tools like request_compliance_check or get_compliance_check.
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 usage through phrases like 'using request_id and available credits' and 'after payment,' but it never states when to use this tool versus alternatives such as request_compliance_check, get_compliance_check, or decline_order_pack. There are no explicit preconditions beyond having available credits, and the 'Coming soon' note adds ambiguity rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_order_pack_materialAdd order pack materialAInspect
Add order pack material. Add text or uploaded documents in materials to order_pack_id with request_id; returns the queued material publication and its target version. charges credits. 加材料(成员侧)。用 order_pack_id、materials 和 request_id 加入文字或已上传文件;返回材料版的排队状态及将出版的版号。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
| Name | Required | Description | Default |
|---|---|---|---|
| materials | Yes | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare it is a non-read-only, non-destructive mutation, and the description goes beyond them by disclosing two behaviors those hints don't cover: that the call charges credits and that it returns a queued publication state plus the target version to be published. It does not explain the cost amount or how request_id relates to retries, which is notable given idempotentHint=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?
The core sentence is front-loaded and useful, but the whole payload is duplicated verbatim in Chinese and followed by promotional 'Coming soon: credits go on sale' text that adds no invocation value. Roughly half the text is redundant for an English-reading agent.
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 and no annotation coverage of cost, the description supplies the return shape ('queued material publication and its target version') and the credits charge, which is what an agent most needs before calling a billable mutation. Missing only retry/request_id semantics and prerequisites about prior document upload.
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 0%, so the description must carry the load, and it does partially: it explains that 'materials' accepts either text or already-uploaded documents (matching the anyOf branches) and names order_pack_id and request_id. It stops short of explaining request_id's purpose or the document_id format, so the gap is narrowed rather than closed.
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 ('Add order pack material ... to order_pack_id') and what it does with the payload (text or uploaded documents). The member-side framing plus the 'charges credits' note separates it from sibling admin tools like create_order_pack, though no sibling is named 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?
The '(member-side)' note implies the audience and the mention of 'uploaded documents' implies documents must already be uploaded (start/finish_document_upload siblings), but neither is stated as a condition. No explicit when-to-use, when-not, or named alternative is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
answer_order_pack_linesAnswer order pack linesCInspect
Answer order pack lines. Submit factory answers for line_id entries at the current order_pack_id/version, optionally new_lines; returns a queued answer publication and version. 工厂答复。按 order_pack_id、当前 version 和 answers 中的 line_id 提交工厂答复,可附 new_lines;返回答复版排队状态及版号。
| Name | Required | Description | Default |
|---|---|---|---|
| answers | Yes | ||
| version | Yes | ||
| new_lines | No | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description usefully adds that the result is a *queued* answer publication plus a version, which tells the agent the write is asynchronous. It does not address permissions, duplicate-submission behavior, or what happens to prior answers, despite the non-idempotent 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 English sentence is front-loaded and efficient, but the full Chinese restatement doubles the length without adding information, violating conciseness.
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 5-parameter mutation tool with 0% schema description coverage and no output schema, the description leaves key gaps: request_id is unmentioned, answer field semantics (decline, factory_says_zh) are undefined, and non-idempotent duplicate-submission risk is not addressed.
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 0%, so the description must carry parameter meaning. It names order_pack_id, version, answers' line_id, and new_lines, but never explains the required request_id, nor the answer-level fields decline and factory_says_zh, nor the new_lines item fields.
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: submit factory answers for line_id entries at a given order_pack_id/version, optionally adding new_lines. This distinguishes it from sign_order_pack_lines and decline_order_pack in substance, but no sibling is named 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?
The description implies usage by mentioning 'at the current order_pack_id/version', but never states when to choose this over sign_order_pack_lines or decline_order_pack, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_order_packCancel order packADestructiveInspect
Cancel order pack. Cancel order_pack_id before deposit using request_id; returns completion or a pending_action_id, with refunds governed by first publication. requires the member's own approval. 成员作废。定金前用 order_pack_id 和 request_id 作废订单包;返回完成状态或 pending_action_id,退款按首版是否出版处理。要本人点同意。
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and idempotentHint=false, but the description adds meaningful behavior: refunds depend on first publication, the call may complete immediately or return a pending_action_id, and member approval is required. It still does not explicitly state irreversibility or what happens if cancellation is attempted after deposit.
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 purpose is front-loaded, but the English and Chinese versions repeat nearly the same content, and the first sentence merely restates the title. The duplication consumes space without adding semantic value for an agent.
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 still explains return states (completion or pending_action_id) and the refund rule. Annotations cover the destructive profile; the main remaining gap is how to proceed when a pending_action_id is returned.
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 0%, so the description must explain the parameters. It mentions both required fields and ties them to the cancel action, but request_id remains opaque — no format, uniqueness, or idempotency semantics — and order_pack_id gets no format guidance.
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 — cancel an order pack — plus a key timing constraint: before deposit. It does not distinguish this from the sibling decline_order_pack or explain how cancel differs from declining, 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?
It gives clear usage context: use before deposit and only with the member's own approval. It does not name alternatives such as decline_order_pack or decide_pending_action for handling a returned pending_action_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_order_packCreate order packBInspect
Create order pack. Open an order pack using title, style_count, materials and request_id; returns a queued publication, order_pack_id, version and charged_cents. charges credits. 开订单包。用 title、style_count、materials 和 request_id 开订单包;返回排队出版状态、order_pack_id、版号及 charged_cents。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| materials | Yes | ||
| request_id | Yes | ||
| style_count | Yes | ||
| company_query | No | ||
| factory_title_zh | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which only say non-read-only, non-destructive, not idempotent, closed-world), the description discloses that the operation consumes credits, that the result is a queued publication rather than an immediate one, and what fields come back including charged_cents. Missing detail on whether credits are refunded on failure or what the queued state implies for follow-up 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 substantive content is front-loaded and reasonably tight, but the entire passage is duplicated verbatim in Chinese, roughly doubling length, and a promotional line about credit availability is appended. Both cost tokens without adding new information.
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 does list the returned fields, which is a real plus. However, for a credit-charging mutation with six parameters and a queued/async result, it omits cost magnitude, failure behavior, and what an agent should do next after receiving a queued publication.
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 0%, so the description must compensate, but it only restates four parameter names (title, style_count, materials, request_id) with no format, constraints, or meaning. company_query and factory_title_zh are never mentioned, and the text/document variants of materials and the role of request_id as a dedup key are left unexplained.
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 ('Create/Open an order pack') and names the key inputs plus the return shape (queued publication, order_pack_id, version, charged_cents). An agent can distinguish it from siblings like add_order_pack_material or get_order_pack, though no sibling is named 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?
Usage is only implied: 'charges credits' plus the note that credits go on sale at madecheck.com signals a prerequisite (credit balance) and a current availability constraint. There is no explicit when-to-use/when-not guidance or routing to alternatives such as cancel_order_pack or add_order_pack_material.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decide_pending_actionDecide pending actionAInspect
Decide pending action. Decide pending_action_id with decision=approve or reject and request_id as the person; returns the decision or executed action result after current-value checks. not available to AI agents. 处理待本人点的请求。本人用 pending_action_id、decision=approve/reject 和 request_id 处理请求;核对当前值后返回决定或动作执行结果。AI 不能调用。
| Name | Required | Description | Default |
|---|---|---|---|
| decision | Yes | ||
| request_id | Yes | ||
| pending_action_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare that this is not read-only, not idempotent, and not destructive. The description adds that the result follows current-value checks and may return either the decision or an executed action result, plus the AI exclusion. It does not describe approval side effects in detail, but it provides meaningful behavioral context 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 English and Chinese text duplicate the same information, roughly doubling length without adding new semantics. The content is front-loaded and useful, but the bilingual repetition hurts conciseness.
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 explains that the return is either the decision or the executed action result. Combined with annotations and the explicit AI exclusion, this is largely complete for a three-parameter mutation tool, though the meaning of current-value checks remains 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?
Schema description coverage is 0%, so the description must compensate, and it does: it identifies pending_action_id, decision=approve/reject, and request_id as the person identifier. It explains all three required parameters and supplies the key decision enum values.
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 (decide a pending action) and names the key inputs and decision values. It remains somewhat internal in that it does not explain what a pending action represents, but it is distinguishable from the sibling list_pending_actions 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 says the tool is not available to AI agents and is for the person themselves to handle requests. That is a clear when-not-to-use condition, which is especially valuable for agent selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decline_order_packDecline order packBInspect
Decline order pack. Decline a factory order before deposit using order_pack_id, reason_zh and request_id; returns completion or a pending_action_id for the factory rep. requires the factory rep's own approval. 工厂拒单。工厂在定金前用 order_pack_id、reason_zh 和 request_id 拒单;返回完成状态或待业务员本人点的 pending_action_id。要业务员本人点。
| Name | Required | Description | Default |
|---|---|---|---|
| reason_zh | Yes | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavior beyond the annotations: the call may either complete immediately or return a pending_action_id that requires the factory rep's own approval, which is important execution-path information. It doesn't say what happens to the order after decline or whether it is reversible, but the approval flow disclosure is the key operational fact.
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 English text is front-loaded and efficient, but the full Chinese restatement duplicates every sentence without adding information, roughly doubling length for the same payload. The 'requires the factory rep's own approval' clause is also repeated at the end of both halves.
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?
Return behavior is adequately covered despite no output schema (completion vs pending_action_id), and the approval requirement is stated. However, a mutation tool with 0% schema coverage and no documented parameter meaning leaves the agent guessing about request_id and reason_zh, which is a real 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 0%, so the description must carry the burden, and it only lists the three parameter names without explaining them. It doesn't clarify that reason_zh should be Chinese text, nor what request_id is for (presumably idempotency/deduplication), nor what identifies the order pack.
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 ('Decline a factory order before deposit') and scopes the operation by timing. It does not explicitly distinguish itself from the closely named sibling cancel_order_pack, leaving some ambiguity, but the purpose is unambiguous on its own.
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 'before deposit' precondition is useful context, but the description never says when to use this instead of cancel_order_pack or decide_pending_action, which are the obvious alternatives among the siblings. Usage is implied rather than clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_landed_costEstimate landed costBRead-onlyIdempotentInspect
Estimate landed cost. Estimate a shipment total from hts_code or product, total fob_usd and quantity; returns duty lines, fees and total/per-unit cents with tax-date notes. free, rate-limited. 到岸成本估算。按 hts_code 或 product、整票 fob_usd 和 quantity 估算到岸成本;返回税费明细、整票及单件美分金额和税率日期说明。免费,限次。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| origin | No | ||
| fob_usd | Yes | ||
| product | No | ||
| hts_code | No | ||
| quantity | Yes | ||
| freight_usd | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower, and the description still adds real value: it declares the call is free and rate-limited, and it describes the response shape (duty lines, fees, per-unit conversion in cents, tax-date notes). It stops short of stating whether results are cached, how tax dates affect validity, or what rate limits actually are.
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 English text is front-loaded and efficient, leading with the action and then the I/O contract. However, the entire passage is duplicated in Chinese verbatim, doubling length without adding new information for an agent, which weakens density. Structure is fine; the redundancy costs it.
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 compensates for the missing output schema by describing the return payload, which is the biggest completeness win. But with 7 parameters, 0% schema coverage, and no annotations describing semantics, an agent still cannot confidently supply origin, mode, or freight_usd, and the meaning of 'tax-date notes' is left opaque.
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 0% for 7 parameters, so the description carries the full burden and only partially discharges it. It names hts_code, product, fob_usd and quantity, but says nothing about mode, origin, or freight_usd — and origin and freight are materially important for a landed-cost calculation. Three undocumented parameters with zero schema help is a substantial gap.
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 (estimate) and resource (landed cost) and spells out both the inputs it consumes (hts_code or product, fob_usd, quantity) and the outputs it produces (duty lines, fees, total/per-unit cents, tax-date notes). That is far beyond a restated title. It does not name or distinguish itself from any sibling, though no sibling in the list appears to be a competing cost estimator, so the practical ambiguity is low.
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 'hts_code or product' phrasing implies the two entry paths, and 'free, rate-limited' hints at how freely to call it. But there is no statement of when to prefer this over other steps in the order/compliance workflow, and no exclusion of cases where it would be inappropriate (e.g. quoting vs. estimating). Usage must be inferred from the workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finish_document_uploadFinish document uploadBIdempotentInspect
Finish document upload. Finish a previously uploaded document_id with request_id after verifying its stored hash; returns document_id and done state. 上传完成。用 document_id 和 request_id 完成上传,核对已存文件哈希;返回 document_id 和 done 状态。
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | No | ||
| document_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real value beyond the annotations by disclosing that the stored file hash is verified and that the response carries document_id and a done state. It does not say what happens when the hash mismatches (error? partial upload?), which is the key failure mode for a finish step, so behavioral coverage is useful but incomplete against annotations that already declare idempotent, non-destructive, closed-world 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 English sentence is front-loaded and efficient, but the opening 'Finish document upload.' merely restates the title, and the full content is duplicated verbatim in Chinese, roughly doubling length with no added information for a reader of either 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?
With no output schema, the description correctly compensates by naming the return values (document_id, done state), and it covers the core two-step upload flow. The remaining gap is error/failure semantics on hash verification and the optionality of request_id, which an agent completing a mutation needs.
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 0%, so the description must carry parameter meaning, and it only partially does: document_id's role is clear, but request_id is never explained (tracking key? idempotency token?) and the description implies it is needed 'with document_id' even though the schema marks it nullable and optional. That mismatch leaves an agent guessing about a required-vs-optional parameter.
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: finalizes a previously uploaded document by document_id and request_id, with hash verification, and names the return (document_id + done state). The phrase 'previously uploaded' implicitly pairs it with start_document_upload, though that sibling is never named, so differentiation is inferential rather than 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?
'Finish a previously uploaded document_id' implies this is the second step after start_document_upload, which is the main usage guidance. However, there are no explicit when/when-not rules, no statement about what happens if called twice (idempotency is implied only via annotations), and no alternative tool named despite start_document_upload being a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_buy_credits_linkGet buy credits linkARead-onlyIdempotentInspect
Get buy credits link. Get the payment URL at https://madecheck.com/credits/buy, optionally prefilled with positive amount_cents; returns url and available to show whether credit sales are open. 拿买额度链接。用可选的正整数 amount_cents 取得 https://madecheck.com/credits/buy 网页付款链接;返回 url 及表示额度是否开售的 available。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
| Name | Required | Description | Default |
|---|---|---|---|
| amount_cents | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: what comes back (a url plus an 'available' flag) and the important caveat that credit sales may not yet be open — information an agent cannot infer from 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 core is front-loaded and short, but the text is duplicated verbatim in English and Chinese, including a repeated 'coming soon' notice. Roughly half the tokens carry no new information for an English-reading agent.
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 no output schema, the description covers what the call returns (url, available) and the sales-not-open state. Only minor gaps remain, such as currency or whether the URL expires.
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 0% and the parameter has no description, so the description must compensate — and it does, explaining that amount_cents optionally pre-fills the payment amount and must be a positive integer, which is exactly the semantic an agent needs. It stops short of clarifying units or currency, so not a 5.
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 — fetching a credit-purchase payment link — and pins it to a concrete URL (https://madecheck.com/credits/buy). It is distinguishable from sibling get_credit_balance, though it never names that sibling to make the contrast 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?
Usage is implied: call this to obtain a payment URL for buying credits. The 'Coming soon / 即将开放' note hints that sales may not yet be open, but there is no explicit statement of when to prefer this over get_credit_balance or pay_style_topup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compliance_checkGet compliance checkARead-onlyIdempotentInspect
Get compliance check. Read the caller member's compliance_case_id; returns the case status, quoted_cents and its requirements with supporting citations. 看合规办理。按 compliance_case_id 看本成员的合规办理;返回状态、quoted_cents 和带出处的要求。
| Name | Required | Description | Default |
|---|---|---|---|
| compliance_case_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive, closed-world operation. The description adds useful behavioral context by stating that it reads the caller member's own case and returns status, quoted_cents, and requirements with citations; it does not contradict 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 short and front-loads the core action and return fields. The English and Chinese sentences duplicate the same information, which is redundant but still structurally clear.
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 and only one input parameter, the description does a good job of naming the key return fields and access scope. It does not cover error cases or pagination, but those are minor for this simple read-only lookup.
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 0%, so the description must compensate for the single compliance_case_id parameter. It adds meaningful scope by saying the ID belongs to the caller member's compliance case, but it does not explain the ID format or provenance beyond that.
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/resource (get compliance check) and clarifies that it reads a single compliance case by compliance_case_id for the caller member. This distinguishes it from list_compliance_checks implicitly, though it does not explicitly name the 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 phrase '按 compliance_case_id' implies the tool should be used when a specific case ID is available, but it does not explicitly state when to use this instead of list_compliance_checks or request_compliance_check. Usage is therefore inferable but not fully guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_balanceGet credit balanceCRead-onlyIdempotentInspect
Get credit balance. Read member credit balance and recent transactions using optional limit and cursor; returns balance_cents, transactions and next_cursor. 查额度。用可选 limit 和 cursor 查成员额度及近期变动;返回 balance_cents、transactions 和 next_cursor。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds value by naming return fields and noting optional pagination inputs, but it doesn't disclose auth requirements, rate limits, or pagination semantics beyond 'cursor'.
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 English portion is reasonably front-loaded and compact, but the description then repeats itself verbatim in Chinese, which adds no new information for a typical agent. Half the text is redundant duplication.
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, so naming balance_cents, transactions and next_cursor is genuinely useful. However, with zero schema parameter documentation, the description leaves pagination and limit behavior underspecified, and offers no sibling routing for a tool set containing several credit-related tools.
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 0%, so the description must compensate, but it only repeats parameter names ('optional limit and cursor'). It does not explain what limit controls, the maximum of 100, how to obtain or reuse a cursor, or the default page size.
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: 'Get credit balance' and 'Read member credit balance and recent transactions'. Clear what it does, but it does not distinguish itself from balance-adjacent siblings such as get_buy_credits_link or pay_style_topup.
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 no when-to-use guidance, no exclusions, and no alternatives. An agent cannot infer from the text alone whether this is the right tool versus get_buy_credits_link or pay_style_topup; only the tool name hints at usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_packGet order packARead-onlyIdempotentInspect
Get order pack. Read order_pack_id at an optional published version; returns pack details and lines with derived signoffs, limited to the factory view for company callers. 看订单包。按 order_pack_id 及可选已出版 version 看订单包;返回正文、逐行内容和派生签认,公司侧只收到工厂可见内容。
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint, non-destructive), so the bar is lower, yet the description adds real behavioral context: results are 'limited to the factory view for company callers' (caller-dependent visibility) and signoffs are 'derived' (computed, not stored). It also constrains version to a published version, which the schema does not. No mutation, auth flow, or pagination detail is needed here.
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 English sentence is well front-loaded and earns its place. But the description then repeats the entire content verbatim in Chinese, roughly doubling length without adding information for an agent that already parsed the first version.
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 simple parameters, rich read-only annotations, and no output schema, the description covers the essentials: what is returned (pack details, lines, derived signoffs) and the caller-scoped visibility caveat. Only the omitted-version default behavior is left unstated.
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 0%, so the description must compensate. It clarifies that version refers to a published version (a constraint absent from the schema's anyOf integer), which is genuinely useful, and implies order_pack_id identifies the pack. However, it gives no format guidance for order_pack_id and no statement of what happens when a version is omitted.
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?
Specific verb and resource ('Get order pack'), plus scope detail: fetch by order_pack_id at an optional published version and return pack details, lines, and derived signoffs. Clearly distinct from the plural list_order_packs and write-side siblings like create_order_pack/accept_compliance_quote. It stops short of naming a specific alternative, so a 4 rather than 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?
Implies the when-to-use (read a single pack, optionally a specific published version), and the singular nature distinguishes it from list_order_packs. But there is no explicit statement of when not to use it, no prerequisite or permission guidance, and no named alternative for edge cases like retrieving unpublished drafts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_compliance_checksList compliance checksARead-onlyIdempotentInspect
List compliance checks. List the caller member's compliance cases using limit and cursor; returns cases and next_cursor for pagination. 列出合规办理。用 limit 和 cursor 列出本成员的合规办理;返回办理列表及下一页 next_cursor。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, idempotent read operation. The description adds useful behavioral context beyond annotations: it limits results to the caller member's compliance cases and explains pagination via cases plus next_cursor.
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 short and front-loaded with the core action and return behavior. The bilingual duplication is unnecessary for an agent but does not obscure the 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 no output schema, the description usefully states that cases and next_cursor are returned. Annotations cover safety traits, and the low-complexity two-parameter schema is mostly adequate, though limit details and sibling routing guidance are 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 0%, so the description must compensate. It names both parameters and explains that cursor is for pagination, but it does not explain limit semantics, defaults, bounds (max 100), or cursor format.
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 compliance checks') and clarifies the scope as the caller member's compliance cases. It is clear against a generic sibling, but it does not explicitly distinguish itself from get_compliance_check or request_compliance_check.
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 listing use case is implied by 'List' and the scope is stated as the caller member's cases. However, there is no explicit guidance on when to use this versus get_compliance_check or request_compliance_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_import_requirementsList import requirementsBRead-onlyIdempotentInspect
List import requirements. List category requirements for product, with optional category and for_children; returns applicable requirements, citations, labels and testing notes. free, rate-limited. 品类合规门槛。按 product 及可选 category、for_children 列品类合规门槛;返回适用要求、出处、标签和检测说明。免费,限次。
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | ||
| category | No | ||
| for_children | No | ||
| materials_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and closed-world, so the safety bar is low. The description still adds real value beyond them: it discloses that access is free but rate-limited and that the payload contains applicable requirements, citations, labels and testing notes.
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 Chinese half is a faithful duplicate of the English half rather than added information, roughly doubling length without new content. The rest is front-loaded and the return-value list 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?
With no output schema, the description usefully enumerates the return payload. Given a read-only tool with full annotation coverage, the only meaningful gap is the unexplained materials_text parameter and the absence of any paging behaviour despite the rate-limit mention.
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 0%, so the description must carry parameter meaning; it explains product, category and for_children but completely omits materials_text, one of four parameters. That leaves roughly a quarter of the input surface undefined anywhere.
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 and resource ("List category requirements for product") and lists the dimensions that scope the result (category, for_children). It is clear what the tool returns, though it never names which sibling (e.g. get_compliance_check vs request_compliance_check) it replaces.
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 statement of when to use this versus get_compliance_check, list_compliance_checks or request_compliance_check, all of which sit in the same compliance namespace. The only usage signal is "free, rate-limited", which describes cost rather than the decision of when to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_order_pack_messagesList order pack messagesARead-onlyIdempotentInspect
List order pack messages. Read messages for order_pack_id using limit and cursor; returns messages and next_cursor, with company callers seeing only both-side messages. 看留言。按 order_pack_id、limit 和 cursor 看留言;返回留言及 next_cursor,公司侧只看双方可见留言。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive operation, so the bar is lower. The description adds useful behavior beyond annotations: it returns messages and next_cursor, and company callers see only both-side messages.
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 English portion is front-loaded and efficient, covering purpose, parameters, return values, and visibility in two sentences. The Chinese translation duplicates the same content, which is redundant for an agent but does not make the description excessively long.
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 annotations covering safety and no output schema, the description provides enough context: it explains inputs, pagination, return fields, and caller-specific visibility. Minor omissions such as ordering or default limit do not materially block 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 0%, so the description must carry parameter meaning. It names all three parameters and explains their roles: order_pack_id identifies the pack, limit and cursor control pagination, and next_cursor is returned for continuing. It does not repeat constraints such as limit maximum 100, but the core semantics are covered.
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 order pack messages' and 'Read messages for order_pack_id'. This clearly distinguishes the tool from sibling write operations such as post_order_pack_message and from list_order_packs.
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 usage by saying to read messages for an order_pack_id, but it does not explicitly state when to use this tool versus alternatives or when not to use it. The posting counterpart is only inferable from sibling names, not called out in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_order_packsList order packsBRead-onlyIdempotentInspect
List order packs. List the caller owner's order packs using optional status, limit and cursor; returns visible packs and next_cursor for the next page. 列出订单包。用可选 status、limit 和 cursor 列出本人所属的订单包;返回可见订单包及下一页 next_cursor。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered structurally. The description adds useful pagination context ('returns visible packs and next_cursor for the next page'), but does not disclose ordering, default page size, or what 'visible' means.
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?
Front-loaded with the core action and resource, then scoping and pagination details in the same compact sentence. The bilingual duplication doubles length but each language version 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?
For a simple read-only list tool with full annotations and no output schema, the description explaining returned packs plus next_cursor is adequate. It still omits status value semantics and default behaviors, leaving minor gaps 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 coverage is 0%, so the description must compensate, and it does name all three parameters (status, limit, cursor) with their roles—status as a filter, cursor for the next page. However, it gives no allowed status values, limit bounds, or cursor format, leaving meaningful 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?
States a specific verb (list) and resource (order packs) with an added ownership scope 'the caller owner's order packs.' It is distinguishable from get_order_pack by the plural/list nature, though it never explicitly names sibling 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?
No guidance on when to use this versus get_order_pack, list_order_pack_messages, or other listing siblings, and no stated preconditions. The only usage signal is the implicit ownership scoping and pagination mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pending_actionsList pending actionsARead-onlyIdempotentInspect
List pending actions. List awaiting actions using limit and cursor; returns actions and next_cursor, restricted to the AI requester or the person's own owner. 列出等本人点的请求。用 limit 和 cursor 列出待本人点的请求;返回 actions 和 next_cursor,AI 只看自己发起的请求,本人只看自己所属的请求。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, closed-world and non-destructive, so the safety bar is low. The description goes further by disclosing the access-control rule (AI sees only its own requests, the person sees only their own) and the exact return shape (actions plus next_cursor), which the annotations cannot express.
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 core sentence is front-loaded and useful, but the content is restated essentially verbatim in Chinese, roughly doubling length without adding new information. Efficient per-language, redundant as a whole.
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?
Only two optional params and no output schema, so the description is close to sufficient and does explain the returned fields. It still leaves open what constitutes a 'pending action' (types, origin) and how to detect the end of pagination, which an agent needs to drive the loop.
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 0%, so the description carries the burden, and it does assign roles: limit and cursor are the paging inputs and next_cursor is the follow-up token. It omits the max of 100, the default for limit, and any cursor validity/reset semantics, so it only partially compensates.
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+resource ('List pending actions') and adds the key qualifier that results are scoped to the AI requester or the person's own owner. It does not name the natural counterpart decide_pending_action, so sibling differentiation is left implicit.
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 this is the read step that precedes acting on a request, and the authorization scoping hints at which population is visible. But it never states when to call this versus decide_pending_action, nor any exclusions or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_factoryLook up factoryBInspect
Look up factory. Find a company by query (name, registration code or store link) and request_id; returns found, its evidence-backed dossier and charged_cents. charges credits. 工厂档案。用 query 中的公司名称、登记代码或店铺链接及 request_id 查工厂;返回 found、带证据的档案及 charged_cents。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| request_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
标注已指出 readOnlyHint=false 和 idempotentHint=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?
内容前置且关键信息(用途、参数、返回值、费用)都有涵盖,但双语重复阐述相同信息导致长度翻倍,末尾的信用额度发售推广语句与工具核心功能无关,可精简。
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?
无输出模式的情况下,描述提供了返回字段(found、档案、charged_cents)和费用提示,对仅2个参数的简单工具而言尚可。但 request_id 语义缺失、未说明信用不足错误,对于涉及付费的操作来说完整度仍有提升空间。
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?
模式描述覆盖率为0%,描述对 query 参数补充了三种可接受形式(名称、登记代码、店铺链接),但对 required 的 request_id 参数完全未解释其用途或格式,使其实际作用仍需猜测。
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?
明确指出是查找工厂(具体动词+资源),并列出了三种查询方式及返回值字段。虽然没有与其他兄弟工具直接对比,但兄弟工具中无同类工厂查询操作,区分度已足够。
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?
隐含了使用场景(需要查找公司档案时),并提到了会扣除信用额度,但未说明何时使用该工具而非其他工具、前置条件(如信用余额检查)或失败情况下的建议。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_deposit_paidMark deposit paidBDestructiveInspect
Mark deposit paid. Freeze the current order_pack_id/version after deposit payment with request_id; returns completion or a pending_action_id awaiting the member. requires the member's own approval. 定金已付,锁版。用 order_pack_id、当前 version 和 request_id 将已付定金的订单包锁版;返回完成状态或待成员本人点的 pending_action_id。要本人点同意。
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, readOnly=false, and idempotent=false. The description adds useful behavior beyond that: it freezes the current version, returns either completion or a pending_action_id, and requires the member's own approval. It still does not explain irreversibility or failure cases in detail.
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 English text is front-loaded and compact, with the effect, return shape, and approval requirement stated directly. The Chinese text duplicates the same content rather than adding new information, but overall the description is not bloated.
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 with no output schema and 0% schema description coverage, the description covers the core effect, return modes, and approval requirement. It still leaves gaps around how to handle the returned pending_action_id, permission requirements, stale-version behavior, and exact 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?
Schema description coverage is 0%, so the description must compensate for all three parameters. It mentions order_pack_id, version, and request_id and clarifies that version should be the current version, but request_id's role is left vague and no parameter constraints or formats are explained.
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 effect: marking a deposit paid and freezing the order pack at the current order_pack_id/version. It is more than a restatement of the name, but it does not explicitly distinguish itself from sibling approval-flow tools such as decide_pending_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?
It provides implied usage conditions: after deposit payment and with the member's own approval. However, it does not say when to use this tool versus alternatives, nor does it name related siblings like decide_pending_action or list_pending_actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pay_style_topupPay style topupBInspect
Pay style topup. Pay the pending style-tier difference for order_pack_id using request_id; returns completion with charged_cents, or a pending_action_id for an AI. charges credits. requires the member's own approval. 付款数补差。用 order_pack_id 和 request_id 付待结清的款数档位补差;返回完成状态及 charged_cents,AI 调用时返回 pending_action_id。扣额度。要本人点同意。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-readonly, non-destructive, non-idempotent; the description adds real context beyond them: it charges credits, requires the member's own approval, and returns either completion with charged_cents or a pending_action_id. It does not clarify how request_id supplies idempotency given idempotentHint=false, which is the one notable gap.
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 core sentence is front-loaded and clear, but the entire content is duplicated in Chinese and then followed by a promotional 'Coming soon: credits go on sale at madecheck.com' line that does nothing to help an agent invoke the tool. Substantial waste.
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 usefully sketches return values (charged_cents, pending_action_id), which is the main thing an agent needs. It omits failure behavior such as insufficient credits or duplicate request_id, so it is adequate but not complete for a credit-charging 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 coverage is 0%, so the description must carry parameter meaning. It does explain that request_id is what the payment is made with and order_pack_id identifies the pack, but it never defines the format or uniqueness expectations of request_id, leaving the 0%-coverage gap only partly closed.
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: pay the pending style-tier difference for order_pack_id, returning charged_cents. That is concrete enough to distinguish it from siblings like mark_deposit_paid, though the description never names that or any other sibling to draw the line 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?
'Pay the pending style-tier difference' implies the trigger condition (a pending topup exists), and it notes member approval is required and that AI callers get a pending_action_id. But it gives no explicit when-not guidance or routes to decide_pending_action / mark_deposit_paid as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_order_pack_messagePost order pack messageAInspect
Post order pack message. Post body to order_pack_id with optional line_id and visible_to; returns message_id or a pending_action_id when an AI requests factory-visible text. messages an AI sends for the factory to see require approval. 留言。用 order_pack_id、body 及可选 line_id、visible_to 留言;返回 message_id,AI 发起工厂可见文字时返回 pending_action_id。AI 发给工厂看的留言要本人点。
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| line_id | No | ||
| request_id | Yes | ||
| visible_to | No | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=false), the description discloses two important behaviors: the return is either a message_id or a pending_action_id, and AI-authored factory-visible messages require human approval. That approval gate is exactly the kind of non-obvious behavior annotations cannot convey. It does not cover failure modes or auth requirements, so not a 5.
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 English text is front-loaded and information-dense, but the entire passage is then repeated in Chinese, roughly doubling length without adding content for a single-language reader. The core payload itself 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?
There is no output schema, so the description correctly covers return values (message_id vs pending_action_id) and the approval flow. Gaps remain for a 5-parameter mutation with 0% schema coverage: request_id's purpose (likely dedupe/idempotency, especially since idempotentHint=false) and valid visible_to values are undocumented.
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 0%, so the description must compensate. It explains the role of order_pack_id, body, line_id and visible_to (though 'visible_to' values are never specified), but leaves the required request_id entirely unexplained and gives no format/semantic detail for line_id. Partial compensation only.
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+resource ('Post order pack message') and immediately names the target object (order_pack_id) and payload (body). It is clearly a write-to-a-specific-order-pack operation, distinguishable from list_order_pack_messages by the verb. It does not explicitly contrast with siblings, keeping it at 4.
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 sentence about approval for factory-visible messages implies when the pending_action_id path applies, and implicitly routes to decide_pending_action. But it never states exclusions, prerequisites (e.g., must the order pack be in a certain state?), or explicitly names an alternative tool for reading messages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_compliance_checkRequest compliance checkBInspect
Request compliance check. Request a quote for product and optional category, materials and order_pack_id with request_id; returns compliance_case_id, quoted_cents and items_preview. 申请合规办理(只报价)。用 product、request_id 及可选 category、materials、order_pack_id 申请合规办理报价;返回 compliance_case_id、quoted_cents 和 items_preview。
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | ||
| category | No | ||
| materials | No | ||
| request_id | Yes | ||
| order_pack_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false. The description contributes beyond that by clarifying the call is quote-only and non-committal and by naming the three returned fields. It does not say whether repeated calls create duplicate cases, what auth/credits are needed, or whether accepting the quote is required downstream.
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 core sentence is front-loaded and efficient, but the entire content is duplicated verbatim in English and Chinese, roughly doubling length without adding information. Structurally sound, wasteful in volume.
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, so the description is the only source on return values, and it names compliance_case_id, quoted_cents and items_preview without saying how they are used or what items_preview contains. With five parameters at 0% schema coverage and a mutation-adjacent workflow, the description should also explain the relationship to accept_compliance_quote; it does neither.
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 0%, so the schema gives only names and types; the description compensates by enumerating product, request_id and the optional category, materials and order_pack_id, including which are optional. However it adds no meaning — what order_pack_id binds to, what format materials take (text vs document_id), or whether request_id is a client idempotency key — so it falls well short of fully compensating for the coverage gap.
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 (request a compliance-check quote) and explicitly frames it as quote-only ('只报价'), which is a real distinction from a full check. It also lists the return fields, so an agent knows this is a pricing step rather than the check itself. It does not explicitly name the sibling it differs from (accept_compliance_quote / get_compliance_check), so it stops short of 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 phrase 'Request a quote' plus '只报价' implies this precedes accepting a quote, but the description never states when to call this instead of get_compliance_check or how it relates to accept_compliance_quote. Usage must be inferred from the sibling list rather than read from the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revoke_signoffRevoke signoffAInspect
Revoke signoff. Revoke the caller side's active signoffs for order_pack_id and lines of line_id before deposit; returns completion after pack state is recalculated. not available to AI agents. 撤回签认(定金前)。定金前按 order_pack_id 和 lines 中的 line_id 撤回本侧签认;返回完成状态并重算订单包状态。AI 不能调用。
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses two behaviors beyond the annotations: only the caller's own side is revoked, and the call 'returns completion after pack state is recalculated,' implying a side effect. It does not say what happens if invoked after deposit, whether revocation is reversible, or what error surfaces — gaps that matter for a non-idempotent mutation.
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?
Front-loads the action and constraint efficiently. Slight redundancy in the opening 'Revoke signoff. Revoke the caller side's...' plus the full Chinese restatement, which doubles length without adding information.
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 3-parameter mutation with no output schema, the description covers the essential shape: what is revoked, whose, the pre-deposit timing gate, and that state is recalculated. Missing pieces like permission requirements and post-deposit behavior are noted elsewhere but not fatal for calling 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 0%, so the description must carry the load, yet it only restates that order_pack_id and the line_id entries inside lines identify what to revoke. request_id is never explained (idempotency key? correlation id?), and the lines array shape and limits are unaddressed.
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+resource ('Revoke signoff') and narrows the scope: 'the caller side's active signoffs for order_pack_id and lines of line_id before deposit.' That is enough to distinguish it from sign_order_pack_lines, though the sibling is never named 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?
Gives a clear triggering condition ('before deposit') and an explicit exclusion ('not available to AI agents' / 'AI 不能调用'). It does not name the alternative action an agent should take instead, which keeps it 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.
send_order_pack_to_factorySend order pack to factoryAInspect
Send order pack to factory. Prepare factory access to a published order_pack_id using channel=copy_link and request_id; returns link_ready or a pending_action_id, without the link itself. requires the member's own approval. 给工厂发链接。用 order_pack_id、channel=copy_link 和 request_id 为已出版订单包准备工厂访问;返回 link_ready 或 pending_action_id,回包不含链接本身。要本人点同意。
| Name | Required | Description | Default |
|---|---|---|---|
| channel | Yes | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description adds genuinely new facts: the call returns link_ready or a pending_action_id and deliberately does NOT include the link, and it requires the member's own approval before access is granted. It does not explain what the pending action is or how the link actually reaches the factory, leaving the follow-up path opaque.
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?
Content is front-loaded and the purpose sentence comes first, which is good. But the entire paragraph is duplicated verbatim in Chinese with no added information, roughly doubling length for a bilingual audience that likely only needs one language; every sentence otherwise 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 mutation tool with no output schema, the description does cover the return shape (link_ready vs pending_action_id, no link payload) and the approval requirement, which is substantial. It still leaves the agent without next-step guidance after a pending_action_id and without clarity on the unexplained request_id.
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 0%, so the description carries the burden and partially does: it identifies order_pack_id as needing a published pack and constrains channel to the literal value copy_link. request_id is named but never explained (correlation key? idempotency token?), and this matters because idempotentHint is false while a request_id strongly suggests replay protection.
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 ('Send order pack to factory', 'Prepare factory access to a published order_pack_id') and pins the mechanism (channel=copy_link). It does not name a sibling or explicitly contrast itself with alternatives such as decide_pending_action, even though the returned pending_action_id implies that relationship, 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?
Preconditions are implied by 'published order_pack_id' and 'requires the member's own approval', which tells the agent this cannot be completed unilaterally. However, there is no explicit statement of when to call this versus other flow tools, nor what to do when the result is pending_action_id (presumably decide_pending_action). Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_order_pack_linesSign order pack linesAInspect
Sign order pack lines. Sign lines identified by line_id and the seen value_sha256 in order_pack_id; returns completion or a pending_action_id awaiting the person. requires the member's own approval. 签认若干行。按 order_pack_id 及 lines 中的 line_id、所见 value_sha256 签认若干行;返回完成状态或待本人点的 pending_action_id。要本人点同意。
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | ||
| request_id | Yes | ||
| order_pack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (not read-only, not idempotent, not destructive), so the bar is lower, yet the description still adds real behavioral context: the action needs the member's own approval and may come back as a pending_action_id awaiting the person rather than completing immediately. It does not disclose reversibility or whether the signoff can later be revoked via revoke_signoff.
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?
Each language version is compact and front-loaded with the verb, but the Chinese text is a verbatim translation that duplicates every sentence without adding information, roughly doubling the length for no gain.
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 non-idempotent mutation with an approval branch and no output schema, the description does convey the two possible outcomes, which is helpful. It still leaves gaps an agent needs: the pending_action_id is not linked to decide_pending_action/list_pending_actions, and request_id's role and reuse semantics are unstated.
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 0%, so the description must carry the load. It explains line_id and the 'seen' value_sha256 (the hash the signer observed) plus order_pack_id, but leaves request_id completely unexplained (idempotency key? correlation id?) and gives no format hints for the hash.
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+resource (sign order pack lines) and pins down the identity of what is being signed: line_id plus the seen value_sha256 within order_pack_id. That is far more specific than the sibling name would suggest, though it never explicitly distinguishes itself from answer_order_pack_lines or revoke_signoff.
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 line 'requires the member's own approval' and the pending_action_id return hint at the human-approval path, implying a follow-up with decide_pending_action. But no sibling is named and there is no explicit when-not guidance (e.g. answering vs signing vs revoking a signoff).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_document_uploadStart document uploadAInspect
Start document upload. Register kind, filename and sha256 with request_id and optional order_pack_id; returns document_id and a one-use upload_url for a raw-byte PUT. 开始上传。用 kind、filename、sha256、request_id 及可选 order_pack_id 开始上传;返回 document_id 和供原始字节 PUT 使用的一次性 upload_url。
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| sha256 | Yes | ||
| filename | Yes | ||
| request_id | Yes | ||
| order_pack_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is non-read-only, non-destructive, non-idempotent and closed-world. The description adds meaningful behavior beyond that: it returns document_id and a one-use upload_url for a raw-byte PUT, clarifying the upload mechanism and the one-use nature of the URL. Auth and rate-limit details are still absent, but the annotation baseline is well supplemented.
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 content is front-loaded and the English sentence is efficient. However, the Chinese sentence repeats the English verbatim, so half the description adds no new information for an English-language agent. The information density is good, but the packaging is 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?
With no output schema, the description usefully names the return values document_id and upload_url, and annotations cover the safety profile. It still omits the expected follow-up call to finish_document_upload and any upload constraints, leaving the end-to-end workflow incomplete for a multi-step upload 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 0%, so the description must compensate. It merely names all five parameters and notes order_pack_id as optional, which largely restates the schema's property names and required list. It does not explain valid values for kind, the expected sha256 format, or the role of request_id.
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 action and resource ('Start document upload') and states the registration fields plus outputs. The word 'start' also distinguishes it from the sibling finish_document_upload, so an agent can place it in the lifecycle 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?
It implies the initiation workflow by saying the returned upload_url is for a raw-byte PUT, which gives useful context. However, it does not explicitly say when to use this versus alternatives, nor does it state that finish_document_upload should be called afterward, so usage guidance remains implicit.
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.
27 tool updates
- First observed
accept_compliance_quote - First observed
add_order_pack_material - First observed
answer_order_pack_lines - First observed
cancel_order_pack - First observed
create_order_pack - First observed
decide_pending_action - First observed
decline_order_pack - First observed
estimate_landed_cost - First observed
finish_document_upload - First observed
get_buy_credits_link - First observed
get_compliance_check - First observed
get_credit_balance - First observed
get_order_pack - First observed
list_compliance_checks - First observed
list_import_requirements - First observed
list_order_pack_messages - First observed
list_order_packs - First observed
list_pending_actions - First observed
lookup_factory - First observed
mark_deposit_paid - First observed
pay_style_topup - First observed
post_order_pack_message - First observed
request_compliance_check - First observed
revoke_signoff - First observed
send_order_pack_to_factory - First observed
sign_order_pack_lines - First observed
start_document_upload
Related MCP Connectors
Ecommerce sourcing, inspection and fulfillment planning. Base-cost estimates; no private data.
US import duty and HTS codes from the official USITC schedule, plus Section 301 China status. Free.
Landed cost, fees & profit calculators for cross-border Amazon, TikTok Shop and Shopify sellers.
UK import duty, landed cost, anti-dumping and compliance checks for China-sourced goods.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables real-time China-to-USA freight quotes with all-in delivered-duty-paid pricing for small shipments, without requiring an API key or signup.MIT
- AlicenseAqualityBmaintenanceLive US import tariff calculator covering 19,856 HTS codes, allowing AI to look up stacked tariff rates and project the November 10, 2026 cliff impact on any product.227 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables US import compliance by providing CBP customs ruling letter searches and antidumping/countervailing duty order lookups, answering how Customs has classified products and whether trade-remedy duties apply.6 npmMIT
- AlicenseBqualityAmaintenanceTurns your AI assistant into a US import duty research tool, enabling HTS code lookup, landed-cost calculation, and tariff change tracking using official USITC data.536 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.