Skip to main content
Glama
waka4674

shipsaving-mcp

by waka4674

ShipSaving MCP Server

npm version License: MIT

中文文档

An MCP (Model Context Protocol) server that wraps the ShipSaving logistics REST API, enabling AI assistants like Claude to perform shipping operations through natural language.

Features

  • Shipment Management — Multi-carrier rate comparison, create shipments, pay & generate labels, void labels, track packages

  • Order Management — Sync store orders, search, bulk label printing, mark as shipped, cancel

  • Address Book — Query, create, and validate addresses

  • Package Templates — Save and reuse package dimensions

  • Carriers — List connected carrier accounts and available service levels

  • Store Integration — List connected e-commerce stores (Shopify, etc.)

  • Analytics — Total savings, shipping cost analysis

  • Billing — Wallet balance, transaction history

Related MCP server: royalmail-mcp

Quick Start

Prerequisites

  • Node.js 18+

  • A ShipSaving App Key (get one at ShipSaving → Settings → API)

claude mcp add shipsaving \
  -e SHIPSAVING_APP_KEY=sk_your_app_key \
  -- npx -y shipsaving-mcp

Install with Claude Desktop

Edit your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "shipsaving": {
      "command": "npx",
      "args": ["-y", "shipsaving-mcp"],
      "env": {
        "SHIPSAVING_APP_KEY": "sk_your_app_key"
      }
    }
  }
}

Restart Claude Desktop after saving.

Verify Installation

claude mcp list
# shipsaving should show status: Connected

Available Tools

Shipment Management

Tool

Description

get_shipping_rates

Compare rates across multiple carriers, marks cheapest & fastest

create_draft_shipment

Create a draft shipment (no payment yet)

pay_shipment

Pay for shipment and generate label

void_label

Void/refund an unused label

search_shipments

Search shipments by various criteria

get_shipment_detail

Get detailed shipment information

track_shipment

Track package by tracking number

get_insurance_rates

Query shipping insurance rates

Order Management

Tool

Description

search_orders

Search orders by status, store, date, keywords

get_order_detail

Get order details

create_order

Manually create an order

buy_label_from_order

Purchase a label for an existing order

mark_order_shipped

Mark order as shipped

cancel_order

Cancel an order

sync_store_orders

Trigger store order sync

get_order_tags

List all order tags

Address Book

Tool

Description

list_addresses

Query address book entries

create_address

Add a new address

update_address

Update an existing address

validate_address

Validate address deliverability

Package Templates

Tool

Description

list_packages

List saved package templates

list_predefined_packages

List carrier-provided package types

create_package

Create a reusable package template

Carriers & Stores

Tool

Description

list_carriers

List connected carrier accounts

get_service_levels

Query available service levels per carrier

list_stores

List connected e-commerce stores

Analytics & Billing

Tool

Description

get_total_savings

View total savings with ShipSaving

get_shipping_analysis

Analyze shipping data over time

get_wallet_info

Query wallet balance

get_transaction_history

Query transaction records

Usage Examples

Compare shipping rates:

Compare rates from ZIP 90001 to 10001 for a 10x8x6 inch, 2 lb package

Ship a package:

Ship from John Smith, 123 Main St, Los Angeles, CA 90001
to Jane Doe, 456 Park Ave, New York, NY 10001
Package: 10x8x6 inches, 2 lbs, choose cheapest option

Bulk label printing:

Sync my Shopify orders, then print labels for all pending orders
using 6x6x6 inch boxes, 1 lb each, cheapest carrier, no insurance

Track a package:

Track package 1Z999AA10123456784

Environment Variables

Variable

Required

Default

Description

SHIPSAVING_APP_KEY

Yes

ShipSaving App Key (sk_ prefix)

SHIPSAVING_API_BASE_URL

No

https://app-gateway.shipsaving.com

API base URL

SHIPSAVING_TIMEOUT_MS

No

60000

Request timeout in milliseconds

SHIPSAVING_LOG_FILE

No

Path to log file (logs go to stderr by default)

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Debug with MCP Inspector
SHIPSAVING_API_BASE_URL=https://app-gateway.shipsaving.com \
SHIPSAVING_APP_KEY=sk_your_app_key \
npx @modelcontextprotocol/inspector node dist/index.js

Troubleshooting

"command not found" — Install Node.js 18+: nodejs.org

"Failed to connect" — Try running the server manually to see error output:

SHIPSAVING_APP_KEY=sk_your_app_key npx -y shipsaving-mcp

If it hangs (waiting for input), the server started successfully. If it errors immediately, you'll see the issue.

To clear the npx cache:

rm -rf ~/.npm/_npx

License

MIT

Available Tools

30 tools
buy_label_from_orderA

通过已有订单打单(购买面单)。当用户要对订单打单时,必须使用此工具,不得使用 create_draft_shipment + pay_shipment 流程。需要先通过 get_shipping_rates 获取 rate_id。

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes订单ID
rate_idYes报价ID,从 get_shipping_rates 获取
from_address_dataYes寄件地址
to_address_dataYes收件地址
package_dataYes包裹信息
ship_dateNo发货日期,ISO 8601 格式,如 2026-03-31T13:37:24+08:00
label_print_typeNo面单打印格式common
internationalNo是否为国际件
option_dataNo运单附加选项

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It indicates a purchase action (mutation) but does not disclose side effects (e.g., whether it marks the order as shipped, if charges are final, or if it's reversible). The behavioral footprint is partially clear but lacks details on consequences.

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

Conciseness5/5

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

The description is extremely concise: two sentences that cover purpose, usage rules, and a prerequisite. No redundant or wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations. Given the complexity (nested parameters), the description does not explain the return value or post-conditions. While the purpose is clear, additional context about what the tool produces (e.g., label URL) would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage, so parameters are already well-documented. The description adds valuable context by specifying that rate_id must come from get_shipping_rates, which goes beyond the schema. This elevates the score above the baseline of 3.

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

Purpose5/5

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

The description clearly states the tool's function: printing a label from an existing order (购买面单). It distinguishes itself by explicitly forbidding the alternative create_draft_shipment + pay_shipment flow, making its purpose unambiguous and differentiated from siblings.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: must be used when labeling an order, and not the alternative flow. It also specifies a prerequisite: rate_id must be obtained via get_shipping_rates. This is complete and actionable.

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

cancel_orderC

取消订单

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes订单ID

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only implies a destructive action ('cancel') but does not explain side effects, such as whether the cancellation is reversible, what happens to associated shipments or payments, or any permission requirements.

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

Conciseness2/5

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

The description is extremely short (three Chinese characters) but lacks substance. Conciseness requires delivering necessary information efficiently; this under-specification leaves critical gaps, making it insufficient rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of many sibling order-management tools, the description fails to provide complete context. It omits return value details, error scenarios, and behavioral constraints, leaving an agent poorly informed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with a description for 'order_id' ('订单ID'). The tool description adds no additional parameter semantics beyond what the schema already offers, so the baseline score of 3 applies.

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

Purpose2/5

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

The description '取消订单' is a direct translation of the tool name 'cancel_order', providing no additional specification of what the tool does. It is a tautology that adds no value beyond the name itself.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'mark_order_shipped' or 'void_label'. The description lacks any context about prerequisites, order states, or when cancellation is appropriate.

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

create_addressB

在地址簿中新建地址

ParametersJSON Schema
NameRequiredDescriptionDefault
first_nameYes
last_nameYes
company_nameNo公司名
emailNo邮箱
phoneYes电话(必填,不能为空)
streetYes地址行1
street2No地址行2
cityYes城市
stateYes州/省
zip_codeYes邮编
countryNo国家代码US
address_typeYes地址类型:residential(居住区) / commercial(商业区)
address_categoryYes地址分类:ship_from(发件地址)/ ship_to(收件地址)

TDQS

B3.1/5.0
Behavior2/5

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

Without annotations, the description carries the full burden of behavioral disclosure. It only states 'create' without explaining side effects, output, or any constraints beyond the schema.

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

Conciseness4/5

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

The description is a single sentence with no redundancy. It is concise but could benefit from a brief mention of key behaviors or return value, though it remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and no output schema, the description lacks context on return value (e.g., created address ID) or error handling. It is incomplete for a complex creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is documented. The tool description adds no extra meaning beyond the schema, meeting the baseline of 3.

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

Purpose5/5

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

The description '在地址簿中新建地址' explicitly states the action (create) and resource (address in address book). It clearly distinguishes from siblings like 'update_address' and 'list_addresses' by its verb.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as 'update_address' for modifying existing addresses. There is no mention of prerequisites or context.

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

create_draft_shipmentA

标准下单流程第二步:创建运单草稿(不立即付款)。在 get_shipping_rates 之后、pay_shipment 之前调用。保存地址和包裹信息,等用户确认后再付款。

ParametersJSON Schema
NameRequiredDescriptionDefault
from_address_dataYes寄件地址
to_address_dataYes收件地址
package_dataYes包裹信息
cheapest_rate_idNo最便宜报价的 rate_id(可从 get_shipping_rates 获取)
label_print_typeNo面单打印格式
option_dataNo运单附加选项

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool creates a draft without immediate payment and saves data, but does not mention side effects, return values, or authentication needs. For a creation tool, more detail on the draft state and its lifecycle would improve transparency.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and step context. No wasted words; every sentence contributes to understanding the tool's role and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the purpose and sequence well, but with no output schema and no annotations, it lacks details about return values (e.g., shipment ID) and potential side effects. For a 6-parameter nested tool, the description is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all parameters. The description adds only a general statement about saving address and package info, and does not elaborate on optional parameters like cheapest_rate_id or label_print_type. Thus it adds marginal value beyond the schema.

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

Purpose5/5

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

The description clearly states the verb '创建' (create) and resource '运单草稿' (shipment draft), and explicitly places it as step 2 between get_shipping_rates and pay_shipment, distinguishing it from sibling tools.

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

Usage Guidelines4/5

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

The description explicitly states when to call (after get_shipping_rates, before pay_shipment) and what it does (saves address and package info). It does not mention when not to use, but the sequential context provides clear guidance.

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

create_orderA

手动创建订单。【重要】调用此接口前必须先准备好所有信息:1) 如果用户指定了地址簿ID,先调用 list_addresses 获取该地址的完整信息;2) 确认订单号、商品信息(名称、数量、单价)齐全;3) 缺少任何必填信息时必须先向用户询问,不得传空值调用接口。

ParametersJSON Schema
NameRequiredDescriptionDefault
order_numberYes订单号
to_addressYes收件地址(必须传完整地址信息,即使引用地址簿也需要填入所有字段)
order_itemsYes订单商品列表
amountNo订单总金额
currencyNo币种,如 USD
order_dateNo订单日期,ISO 8601 格式,如 2026-04-11T09:36:01Z
timezoneNo时区ID,如 Asia/Shanghai,为空则默认 UTC

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool creates an order and requires complete data. However, it does not mention the response structure (e.g., returns order ID) or any side effects beyond creation.

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

Conciseness4/5

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

The description is front-loaded with the purpose, followed by a numbered list of prerequisites. It is concise and each sentence adds value, though it could be slightly trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, nested objects) and no output schema, the description covers prerequisites well but omits what the response contains (e.g., order ID). It lacks information on idempotency or duplicate handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaningful context beyond the schema: it emphasizes that even when using an address book ID, all address fields must be filled. It also reinforces that order_number, item_name, quantity, and unit_price must be complete.

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

Purpose5/5

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

The description clearly states '手动创建订单' (manually create an order), specifying the action and resource. It distinguishes from siblings by outlining unique prerequisites such as calling list_addresses if using an address book, which no other sibling tool requires.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use instructions: prepare all information, fetch address via list_addresses if needed, confirm order items, and never call with null values. It also tells the agent to ask the user for missing mandatory fields, preventing erroneous calls.

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

create_packageC

创建包裹模板,方便下次快速使用

ParametersJSON Schema
NameRequiredDescriptionDefault
nick_nameYes模板名称
lengthYes长度
widthYes宽度
heightYes高度
weightYes重量
dimension_unitNo长度单位,默认 inin
weight_unitNo重量单位,默认 ozoz
package_typeNo包裹类型,默认 customcustom
package_categoryYes包裹类别:box_or_thick_parcel(箱子/厚包裹)或 poly_mailer(塑料袋)

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, so the description must fully disclose behavioral traits. The description only states that it creates a template for quick future use, with no mention of side effects, permissions, error conditions, or what happens on conflict (e.g., duplicate nick_name). This is severely lacking.

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

Conciseness4/5

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

The description is a single short sentence, which is concise and efficient. However, it sacrifices substance for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters (6 required) and no output schema, the description is far too minimal. It does not explain expected output, success/failure indicators, or any behavioral context beyond a vague statement. The tool is complex, and the description does not compensate for missing structured information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 9 parameters, so the schema already provides meaning. The description adds no extra information beyond what is in the schema.

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

Purpose4/5

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

The description clearly states the verb 'create' and resource 'package template', indicating the tool's function. However, it does not explicitly differentiate from sibling tools like 'list_packages' or 'list_predefined_packages', which are related but distinct.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. The context is implied but not explicitly stated.

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

get_insurance_ratesA

查询保险价格。根据保额和服务等级返回保险费率信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
declared_valueYes保额(投保金额)
service_levelYes服务等级代码,从 get_shipping_rates 返回结果中获取,如 USPS_GROUND_ADVANTAGE

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the function without disclosing behavioral traits like read-only nature, authentication needs, or error handling. For a query tool, more transparency is expected.

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

Conciseness5/5

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

Two concise sentences with no redundant information. Purpose is front-loaded, and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description does not detail return format or structure. It only says 'returns insurance rate information', which is insufficient for an agent to understand the response. More completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description adds minimal additional meaning beyond 'returns based on declared value and service level', not improving upon schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: querying insurance prices based on declared value and service level. It uses a specific verb ('查询') and resource ('保险价格'), and differentiates from sibling tools like get_shipping_rates by focusing on insurance.

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

Usage Guidelines3/5

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

The description implies usage context by referencing service level from get_shipping_rates, but does not explicitly state when to use this tool versus alternatives or provide conditions for use/non-use.

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

get_order_detailD

查看订单详细信息

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes订单ID

TDQS

D1.4/5.0
Behavior1/5

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

With no annotations, the description must carry behavioral transparency, but it only says 'view details', omitting any mention of side effects, permissions, rate limits, or response format.

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

Conciseness2/5

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

Description is a single short sentence, but it is under-specified rather than concise; it adds no value beyond the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what data is returned but fails to do so. Also lacks behavioral context, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes the order_id parameter. Baseline score of 3 applies as description adds no further meaning.

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

Purpose1/5

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

Description '查看订单详细信息' merely restates the tool name 'get_order_detail' without adding specificity or distinguishing it from siblings like get_order_tags or search_orders.

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

Usage Guidelines1/5

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

No guidance on when to use this tool versus alternatives such as search_orders or get_order_tags. No context or exclusions provided.

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

get_order_tagsB

查询所有订单标签

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must convey behavioral traits. The word 'query' implies read-only, but no further details (e.g., side effects, rate limits) are given. It is minimally adequate for a simple parameterless tool.

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

Conciseness5/5

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

The description is a single concise sentence that conveys the purpose without unnecessary words. It is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is nearly complete but lacks mention of what the output represents (e.g., a list of tag identifiers). It could be slightly more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. The description does not need to add parameter meaning, and the schema coverage is 100%.

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

Purpose4/5

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

The description clearly states the verb 'query' and the resource 'order tags', making the purpose clear. Although it does not explicitly distinguish from siblings, the context of sibling tools (none of which focus on tags) implies differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks any context about prerequisites or scenarios.

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

get_service_levelsC

查询客户生效中的承运商服务级别

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only says 'query' (read-only), but lacks details on auth, rate limits, side effects, or what constitutes 'effective' service levels. This is insufficient for a tool with no annotation support.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It could be improved by front-loading key information like the read-only nature and return scope. It is not overly verbose, but could be more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what is returned. It mentions 'carrier service levels that are effective for the customer' but does not specify fields, format, or pagination. Given the complexity (simple query) and many siblings, this is incomplete for confident selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so description does not need to add parameter meaning. Schema description coverage is trivially 100%. The description does not add any parameter info, but none is needed; baseline 4 is appropriate.

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

Purpose4/5

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

The description clearly states the tool queries carrier service levels effective for the customer, matching the name. It is a retrieval operation, distinct from siblings like get_shipping_rates or get_order_detail, though no explicit differentiation is stated.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like get_shipping_rates or list_carriers. There are no usage context, prerequisites, or exclusions mentioned.

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

get_shipment_detailC

查看运单详细信息

ParametersJSON Schema
NameRequiredDescriptionDefault
shipment_noYes运单号

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must convey behavioral traits. It only states 'view details,' implying a read operation, but fails to disclose authorization requirements, rate limits, or whether the response is cached or live. The minimal description does not adequately compensate for missing annotations.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded with the action. It contains no unnecessary words. While it could benefit from additional context, it is efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal for a detail retrieval tool. It does not specify what information is included in the response (e.g., status, addresses, items), nor does it mention pagination, response length, or error conditions. Given the lack of output schema, the description should provide more completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has full coverage (100%) for the single parameter shipment_no, with its description '运单号.' The tool description adds no additional meaning beyond what the schema provides, so it meets the baseline but does not enhance understanding.

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

Purpose4/5

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

The description clearly indicates the tool's function: '查看运单详细信息' (view shipment detail information). The verb '查看' specifies a read operation, and '运单详细信息' identifies the resource. While it does not explicitly distinguish from siblings like get_order_detail or track_shipment, the name and description are specific enough to imply retrieval of shipment-level details.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as search_shipments or track_shipment. The description lacks any context about use cases, prerequisites, or exclusions, leaving the agent to infer applicability only from the tool name and sibling list.

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

get_shipping_analysisA

按时间维度分析运费数据。调用前必须先询问用户选择时间范围,可选值:the_last_7_days(近7天)、the_last_30_days(近30天)、this_month(本月)、last_month(上月)、current_year(今年)、last_year(去年)。

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeYes时间范围:the_last_7_days / the_last_30_days / this_month / last_month / current_year / last_year

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states it analyzes data, omitting details about side effects, return format, or performance. Lacks sufficient disclosure for an agent.

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

Conciseness4/5

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

A single sentence effectively conveys purpose and usage instruction, though it could be more structured. No extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple analysis tool with one enum parameter and no output schema, the description provides basic usage guidance. However, it lacks return value details and behavioral notes, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter is clearly documented with enum values. The description adds usage context (ask user) but no additional semantic meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool analyzes shipping cost data by time dimension, distinguishing it from sibling tools like get_shipping_rates or track_shipment.

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

Usage Guidelines4/5

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

The description explicitly instructs to ask the user for a time range before invocation and lists valid enum values, but does not mention when not to use or alternative tools.

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

get_shipping_ratesA

获取多承运商运费报价比价。需提供寄件地址、收件地址、包裹信息和 ship_date。返回所有可用运费方案,标记最便宜和最快选项。

ParametersJSON Schema
NameRequiredDescriptionDefault
from_address_dataYes寄件地址
to_address_dataYes收件地址
package_dataYes包裹信息
ship_dateNo发货日期,ISO 8601 格式,如 2025-12-14T00:00:00+08:00

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It states the output (all options with cheapest/fastest markers) but does not disclose side effects, authentication needs, rate limits, or error handling behaviors. It is adequate for a read-only query but could be more transparent.

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

Conciseness5/5

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

The description is extremely concise: two sentences covering purpose, required inputs, and output nature. Every sentence adds value, no redundancy, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity as a read query with clear input groups, the description adequately covers its functionality. It mentions the output structure (options with cheapest/fastest markers). However, it could mention potential constraints like carrier availability or date limitations to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description mentions the four parameter groups but adds no semantic detail beyond what the schema already provides. It does not clarify the relationship between parameters or provide format examples beyond the schema.

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

Purpose4/5

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

The description clearly states the tool's purpose: fetching multi-carrier shipping rate quotes and comparison. It specifies required inputs and output nature, but does not explicitly differentiate from sibling tools, though no sibling offers the same functionality.

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

Usage Guidelines3/5

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

The description lists required inputs (from_address, to_address, package, ship_date), providing basic usage guidance. However, it lacks explicit when-to-use or when-not-to-use advice, nor does it mention prerequisites or alternatives.

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

get_total_savingsC

查看使用 ShipSaving 节省的总金额

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavior. It only states that it shows total savings, but omits details like whether this is per shipment, per account, over a time period, or how it calculates. The agent gets no insight into potential side effects or data freshness.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it is too minimal. It front-loads the main action but lacks structure; it could be improved with a brief note on what the savings represent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description should provide more context about the meaning of 'total savings', its scope, and possible update frequency. The current description is insufficient for an agent to understand the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100%. Thus the description adds no value beyond the schema, but the baseline for zero parameters is high. The description does not elaborate on what 'total savings' entails.

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

Purpose4/5

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

The description clearly states the tool's purpose: viewing total savings from using ShipSaving. It uses a specific verb ('查看') and resource ('节省的总金额'), which is clear. However, it does not distinguish from sibling tools that might also provide financial summaries like get_wallet_info.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives (e.g., get_shipping_analysis for detailed breakdowns). There is no mention of prerequisites, limitations, or appropriate contexts.

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

get_transaction_historyC

查询交易记录

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dayNo开始日期,UTC 格式
end_dayNo结束日期,UTC 格式
source_typeNo来源类型
source_idNo来源ID
tracking_numberNo追踪号
pageNo页码
page_sizeNo每页数量

TDQS

C2.5/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It only says 'query' without indicating read-only, side effects, pagination, or performance. Minimal behavioral context.

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

Conciseness3/5

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

Extremely short but not a tautology. Could be more informative without significant length increase. Strikes a balance but under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, no output schema, and many sibling tools, the description is inadequate. It does not explain return values, filtering behavior, or usage context, leaving the AI agent with insufficient information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are described in the schema. The tool description adds no extra meaning beyond what the schema already provides, but the schema is sufficient.

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

Purpose3/5

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

Description states 'query transaction records', which is a verb+resource but generic. It does not differentiate from sibling tools like search_orders or get_order_detail, and lacks specificity about what kind of transactions.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Siblings include many search/list tools, but the description provides no context for selection.

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

get_wallet_infoA

查询钱包余额信息

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, has side effects, or requires authentication. It carries the full burden of transparency but fails to do so.

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

Conciseness5/5

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

The description is a single, concise sentence with no unnecessary information. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema, no annotations), the description is fairly complete for a basic query tool. However, it could mention the return format or implications.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description does not need to explain parameter semantics. The baseline score of 4 is appropriate as there is nothing to add.

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

Purpose5/5

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

The description '查询钱包余额信息' clearly states the tool's purpose: querying wallet balance information. It uses a specific verb and resource, and distinguishes from sibling tools focused on orders, shipments, and addresses.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no indication of prerequisites, context, or exclusions.

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

list_addressesC

查询地址簿中的地址列表

ParametersJSON Schema
NameRequiredDescriptionDefault
address_categoryNo地址类型:ship_from / ship_to
nameNo收件人姓名(first name 或 last name)
phoneNo电话号码
address_typeNo地址类型:residential / commercial
verifiedNo是否已验证
pageNo页码
page_sizeNo每页数量
sort_fieldNo排序字段created_at
order_by_directionNo排序方向:asc / descdesc

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided. The description merely says 'list addresses' without disclosing behavioral traits such as pagination, filtering, sorting, or whether it is read-only. This is insufficient for a tool with 9 parameters.

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

Conciseness4/5

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

The description is a single concise sentence, front-loaded with the core purpose. While it could be more informative, it avoids unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and no annotations, the one-sentence description is incomplete. It does not explain pagination, sorting, filtering capabilities, or return format, which are critical for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 9 parameters have descriptions in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description '查询地址簿中的地址列表' clearly indicates the tool lists addresses from an address book. It uses a specific verb and resource, distinguishing it from create, update, or validate address siblings.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like create_address or update_address. No context about use cases or exclusions is given.

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

list_carriersA

查询已连接的承运商账户列表

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, and the description only states it lists accounts. It doesn't disclose pagination, authentication needs, or any constraints beyond 'connected'.

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

Conciseness5/5

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

Single sentence, no redundant words, front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is functional but lacks details on return format or account identification. Adequate for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Baseline 4 for zero-parameter tools. Description adds marginal value by specifying 'connected' carriers, but no further meaning beyond the empty schema.

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

Purpose5/5

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

The description uses a specific verb ('query') and resource ('connected carrier accounts'), clearly distinguishing it from sibling tools like list_addresses, list_packages, and list_stores.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions.

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

list_packagesC

查询已保存的包裹模板列表

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码
page_sizeNo每页数量
sort_fieldNo排序字段id

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. Only states 'query list' without disclosing permissions, rate limits, or pagination behavior beyond parameter hints. Minimal behavioral context.

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

Conciseness4/5

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

Description is a single concise sentence with no unnecessary information. Appropriate length for a simple listing tool, though could benefit from slight expansion.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 3 optional parameters with defaults and no output schema. Description is minimal but sufficient for a straightforward paginated list. However, missing details on return structure or field descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with brief parameter descriptions. The tool description adds no additional meaning beyond the schema, meeting baseline expectation but not exceeding.

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

Purpose4/5

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

The description clearly states the tool queries a list of saved package templates, using specific verb and resource. It distinguishes from sibling tool 'list_predefined_packages' by implying 'saved' vs predefined, though not explicitly stated.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'list_predefined_packages' or other listing tools. Context signals include sibling names but description provides no usage context.

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

list_predefined_packagesA

查询承运商预定义包裹列表。返回按承运商分组的预定义包裹,包含尺寸和重量信息。用户发货时可通过 carrier_package_id 直接引用预定义包裹,无需手动填写尺寸。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

描述清楚是只读查询操作,返回分组和尺寸重量信息,但未提供输出格式、权限要求或速率限制等额外行为信息(无标注)。

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

Conciseness5/5

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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

对于简单的列表工具,描述涵盖了用途、返回内容和用例,但缺少分页或排序说明,不过不影响基本使用。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

输入模式无参数,描述覆盖100%且无需额外语义,基础分4。

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

Purpose5/5

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

明确指明工具用于查询承运商预定义包裹列表,返回按承运商分组的尺寸和重量信息,与自定义包裹的列表(如list_packages)区分开来。

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

Usage Guidelines3/5

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

提到用户可通过carrier_package_id直接引用预定义包裹以简化发货,但未明确说明何时不应使用或列出替代工具,如create_package。

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

list_storesA

查询已连接的电商店铺列表

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits such as read-only nature, authentication requirements, or return format.

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

Conciseness5/5

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

Single sentence, front-loaded with purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list tool with no parameters, but could benefit from explaining what 'connected' means or typical usage contexts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so baseline is 4. Description adds no parameter information, which is acceptable.

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

Purpose5/5

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

The description clearly states the tool lists connected e-commerce stores (具体动词+资源), distinguishes from siblings which focus on orders, shipments, and addresses.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives, though there are no obvious alternative store-listing tools among siblings.

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

mark_order_shippedB

标记订单为已发货状态

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes订单ID

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so description carries full burden. It discloses it marks order as shipped but omits side effects, permissions, idempotency, or behavior if already shipped. Minimal disclosure for a mutation tool.

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

Conciseness5/5

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

Single sentence with no wasted words. Appropriate length for a simple action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity, description is minimal but lacks error handling, state requirements, and integration with sibling tools. No output schema means return value expectations are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one clearly described parameter. The parameter description '订单ID' adds little beyond schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description '标记订单为已发货状态' clearly indicates the action (mark) and resource (order) with the state change (shipped), distinguishing it from sibling tools like cancel_order or create_order.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, prerequisites, or conditions. For example, it doesn't mention you need an existing order or that shipping labels should already be bought.

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

pay_shipmentB

对已选报价的运单进行支付,生成面单。可选附带保险信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
rate_idYes报价ID,从 get_shipping_rates 获取
label_print_typeNo面单打印格式common
insurance_dataNo保险信息(可选)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It states payment and label generation, but does not mention irreversibility of payment, required shipment state, error scenarios, or potential destructive effects. The absence of side-effect disclosure is a significant gap for a financial operation.

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

Conciseness4/5

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

The description is a single concise sentence that covers the core action. However, it could be restructured to highlight the prerequisite (rate selection) and optional component more clearly. Still, it is efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain what is returned (e.g., label details, confirmation). It also omits important context like required shipment state (must be in draft?), idempotency, or consequences of failure. For a payment tool, completeness is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing adequate parameter descriptions (e.g., rate_id source, insurance object fields). The description adds only that insurance is optional, which is already implied by the schema's optional flag. No further semantic value beyond the schema is provided.

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

Purpose5/5

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

The description explicitly states the action (pay, generate label) and the resource (selected rate shipment), with mention of optional insurance. It clearly differentiates from siblings like buy_label_from_order or create_draft_shipment, as it specifically handles payment after rate selection.

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

Usage Guidelines3/5

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

The description implies usage after get_shipping_rates by referencing 'selected rate', but does not explicitly say 'use after get_shipping_rates' or when not to use (e.g., already paid). No comparison with alternative tools like buy_label_from_order is provided.

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

search_ordersA

搜索订单列表,支持按状态、店铺、日期、关键词等筛选。当用户提供了类似 ID 的内容(如订单号、追踪号、订单ID等),必须通过 hybrid 参数传入进行搜索。

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo订单状态:AWAITING / SHIPPED / CANCEL
store_idNo店铺ID
carrier_codeNo承运商代码(已发货订单)
from_order_dateNo订单开始日期,如 2024-11-10T00:00:00Z
to_order_dateNo订单结束日期,如 2024-11-10T00:00:00Z
destination_typeNo收件地址类型:DOMESTIC / INTERNATIONAL
filter_combinedNo筛选合并订单
filter_splitNo筛选拆分订单
item_nameNo商品名称
item_skuNo商品SKU
to_cityNo收件城市
hybridNo混合搜索:当用户提供任何类似 ID 的内容(订单号、追踪号、订单ID等)时,通过此参数传入。支持追踪号/订单号精确搜索、收件人姓名模糊搜索
tag_idsNo标签ID列表
has_order_noteNo是否有订单备注
page_noNo页码
page_sizeNo每页数量,最大200

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so the description bears full burden. It mentions hybrid supports exact tracking/order search and fuzzy recipient name, but does not disclose pagination behavior, default ordering, or read-only nature. Schema covers parameter descriptions, but description lacks behavioral context beyond basic filters.

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

Conciseness5/5

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

Two sentences: first states core function and filters, second provides essential usage rule. Extremely concise with no wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While parameter descriptions are complete in schema, the description lacks information about return format (list of orders or details?), sorting, and handling of empty results. Given no output schema, more completeness would be beneficial. However, sibling tool get_order_detail covers single order details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds critical usage rule for the hybrid parameter that is absent from the schema description. This provides meaningful extra guidance beyond what the schema alone offers.

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

Purpose5/5

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

The description clearly states it searches order lists with filters (status, store, date, keyword). The distinction from sibling tools like get_order_detail (single order) and search_shipments (shipments) is clear.

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

Usage Guidelines5/5

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

Explicitly instructs to use the hybrid parameter when the user provides ID-like content (order number, tracking number, etc.), providing clear when-to-use guidance and differentiating from a plain keyword search.

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

search_shipmentsB

搜索运单列表,支持多种条件筛选

ParametersJSON Schema
NameRequiredDescriptionDefault
shipment_noNo运单号
search_keyNo搜索关键字:支持 shipment id 精确搜索、tracking number 精确搜索、收件人姓名模糊搜索
tracking_noNo追踪号
recipient_nameNo收件人姓名
recipient_cityNo收件人城市
label_print_typeNolabel打印方式:label / qr_code / bar_code
shipment_statusNo运单状态
shipment_status_listNo运单状态(多选,逗号分隔)
tracking_statusNo承运商运单状态
carrier_codeNo承运商代码,如 USPS / UPS
account_idNo承运商账户 ID
provider_idNoProvider ID
store_nameNo店铺名字
store_idNo店铺 ID
first_nameNo收件人名
last_nameNo收件人姓
destination_typeNo收件地址类型:DOMESTIC / INTERNATIONAL
search_start_dateNo创建开始日期,如 2024-11-10T00:00:00Z
search_end_dateNo创建结束日期,如 2024-11-10T00:00:00Z
pageNo页码
page_sizeNo每页数量

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. The description does not disclose behavioral traits such as pagination limits, rate limits, authentication requirements, or what happens when no filters are applied.

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

Conciseness4/5

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

A single, direct sentence. Efficiently conveys the core function without redundancy, though it could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 21 parameters and no output schema, the description is inadequate. It omits details on return value structure, pagination behavior, and sorting, which are essential for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond stating that filters are supported. It does not clarify parameter interactions or priorities.

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

Purpose5/5

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

The description explicitly states 'search shipment list' with filtering capabilities, clearly distinguishing from sibling tools like get_shipment_detail or track_shipment.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or which filter combinations to prefer. The description only mentions 'multiple condition filters' without elaboration.

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

sync_store_ordersA

手动触发店铺订单同步。同步成功后,必须立即调用 search_orders(传入相同的 store_id,status 为 AWAITING)查询刚同步过来的订单并展示给用户。

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idYes店铺ID
platformYes平台名称,如 shopify / ecwid

TDQS

A4.4/5.0
Behavior4/5

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

No annotations exist, so description must disclose behavior. It describes the sync trigger and the need to poll for results, but does not explicitly state if it is read-only or destructive, nor error conditions.

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

Conciseness5/5

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

Two concise sentences; the first states the action, the second provides critical post-condition. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema or annotations, the description covers the essential action and subsequent step. It could benefit from mentioning what the tool returns or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds no extra meaning beyond the schema definitions. Baseline 3 applies.

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

Purpose5/5

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

Description states '手动触发店铺订单同步', clearly indicating the action (trigger) and resource (store order sync). It differentiates from siblings by specifying the post-sync requirement.

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

Usage Guidelines5/5

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

Explicitly instructs to call search_orders after success with same store_id and status AWAITING, providing a clear sequential usage pattern.

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

track_shipmentC

通过追踪号查询物流状态

ParametersJSON Schema
NameRequiredDescriptionDefault
trackingNoYes快递追踪号

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only states the basic function, failing to disclose behavioral traits like read-only nature, required authentication, rate limits, or error handling for invalid tracking numbers.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that conveys the core purpose without extraneous words. It is concise but could benefit from a brief usage context without harming brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is minimally adequate. However, it lacks details about the response format, which would be helpful for agents since no output schema is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, but the description adds no additional meaning beyond the schema's label. The tool description does not elaborate on expected format, length, or examples of tracking numbers.

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

Purpose4/5

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

The description clearly states the tool queries logistics status by tracking number using a specific verb (查询) and resource (物流状态). It distinguishes from siblings like get_shipment_detail or search_shipments, though it could explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_shipment_detail or search_shipments. No prerequisites or exclusions are mentioned, leaving the agent without context for tool selection.

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

update_addressB

编辑/更新地址簿中已有的地址

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes要更新的地址ID
first_nameYes
last_nameYes
phoneYes电话(必填,不能为空)
streetYes地址行1
cityYes城市
stateYes州/省
zip_codeYes邮编
countryYes国家代码
address_typeYes地址类型:residential(居住区) / commercial(商业区)
company_nameNo公司名称
emailNo邮箱
street2No地址行2
is_defaultNo是否设为默认地址
force_createNo客户强制保存地址(二次确认使用)
latitudeNo地址纬度
longitudeNo地址经度

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as whether it performs partial or full replacement, if it requires id, or side effects. The schema hints at partial updates but the description does not clarify.

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

Conciseness4/5

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

The description is a single short sentence, efficient but lacking detail. It is front-loaded with the core action, but could be expanded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 17 parameters and no output schema, the description is too sparse. It does not explain return behavior, partial update support, or prerequisites, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema provides for parameters.

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

Purpose5/5

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

The description clearly states it edits/updates existing addresses in the address book, with a specific verb and resource. It distinguishes itself from sibling tools like create_address and validate_address.

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

Usage Guidelines3/5

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

The description provides no guidance on when to use this tool versus alternatives like create_address for new addresses or delete being absent. Usage is implied by the update action.

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

validate_addressB

验证地址是否合法、可达

ParametersJSON Schema
NameRequiredDescriptionDefault
streetYes地址行1
street2No地址行2
cityYes城市
stateYes州/省
zip_codeYes邮编
countryNo国家代码US

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It lacks details on what 'legal' and 'reachable' mean, whether real-time checks occur, any side effects, or error handling. This is insufficient for a validation tool.

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

Conciseness3/5

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

The description is a single concise sentence, but it lacks structure (e.g., no explicit result explanation). While not verbose, it is minimal and could benefit from more detail without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the return value (e.g., boolean, detailed errors), which is essential for a validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all parameters, so baseline is 3. The description does not add any additional meaning beyond the schema, such as explaining parameter relationships or format constraints.

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

Purpose5/5

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

The description '验证地址是否合法、可达' clearly states the tool validates an address for legality and reachability, distinguishing it from sibling tools like create_address or update_address which create or modify addresses.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as when validating an address vs. creating or listing addresses. No when-not-to-use or contextual hints are given.

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

void_labelB

退款/作废未使用的面单

ParametersJSON Schema
NameRequiredDescriptionDefault
shipment_noYes运单号

TDQS

B3/5.0
Behavior2/5

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

The description implies a financial action (refund) but does not disclose reversibility, permissions, side effects, or error conditions; with no annotations, more detail is expected.

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

Conciseness3/5

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

Extremely concise (one phrase), but lacks sentence structure or logical flow; it is not verbose but could benefit from better organization.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description omits success/failure conditions, refund policy, and any edge cases, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter description '运单号' (shipment number). The description adds no extra meaning beyond the schema, so baseline 3.

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

Purpose5/5

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

The description '退款/作废未使用的面单' clearly indicates the tool voids or refunds unused shipping labels, distinguishing it from siblings like cancel_order or buy_label_from_order.

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

Usage Guidelines2/5

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

No guidance on when to use versus alternatives like cancel_order or mark_order_shipped, nor prerequisites or exclusions.

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.

  1. 30 tool updatesv1.0.3
    • First observedbuy_label_from_order
    • First observedcancel_order
    • First observedcreate_address
    • First observedcreate_draft_shipment
    • First observedcreate_order
    • First observedcreate_package
    • First observedget_insurance_rates
    • First observedget_order_detail
    • First observedget_order_tags
    • First observedget_service_levels
    • First observedget_shipment_detail
    • First observedget_shipping_analysis
    • First observedget_shipping_rates
    • First observedget_total_savings
    • First observedget_transaction_history
    • First observedget_wallet_info
    • First observedlist_addresses
    • First observedlist_carriers
    • First observedlist_packages
    • First observedlist_predefined_packages
    • First observedlist_stores
    • First observedmark_order_shipped
    • First observedpay_shipment
    • First observedsearch_orders
    • First observedsearch_shipments
    • First observedsync_store_orders
    • First observedtrack_shipment
    • First observedupdate_address
    • First observedvalidate_address
    • First observedvoid_label

TDQS

B3.1/5.0

Scored across 30 tools

Disambiguation5/5

Each tool targets a distinct function (order management, shipping, rates, addresses, etc.) with clear descriptions that prevent ambiguity. Even similar concepts like buy_label_from_order vs create_draft_shipment are explicitly differentiated.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., create_address, get_shipping_rates, list_carriers). No mixing of conventions or vague verbs.

Tool Count4/5

30 tools cover a broad shipping domain (orders, shipments, carriers, payments, analysis). While slightly over the typical range, each tool serves a purpose and the count is justified for the server's scope.

Completeness4/5

The tool set covers the full lifecycle: order creation, shipment processing, address management, rate comparison, payment, tracking, and analysis. Minor gaps like batch operations are acceptable for a shipping assistant.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers