Single tool with reasonable structure but significant gaps. The query_route tool has a clear name starting with a verb (query_), explicit input schema with type definitions and parameter descriptions, and proper tool annotations (readOnlyHint, openWorldHint). However, the tool description lacks depth, it states WHAT the tool does but not WHEN to use it, WHY, or what the expected output structure is. Output schema is not documented (returns dict without field specification). Parameter descriptions are minimal (2 - 8 words each, below the 72-char baseline). No error handling guidance for LLMs (what if appKey is invalid? what if the tracking number doesn't exist?). Security concern: appKey and appSecret are exposed as tool parameters, violating secret-injection pattern despite being credentials for a third-party API.
通过云枢调用顺丰接口,获取顺丰的物流信息
Credentials exposed as tool parameters (appKey, appSecret). These should never be tool parameters; use server-side secret injection via environment variables or configuration.
Output schema not documented. Tool returns dict with unspecified fields. LLMs cannot determine what fields are present or how to chain this result into downstream operations.
Tool description is 49 characters, too brief. It states WHAT (get logistics info) but not WHEN to call (e.g., when user provides a tracking number), WHY (e.g., to check delivery status), or what data is required. Should be 50 - 200 characters.
Parameter descriptions are under-specified (2 - 8 words each). 'cloud platform appKey', 'cloud platform appSecret', 'SF tracking number', 'recipient phone' provide minimal context. Example: 'appKey' description lacks format/length hints or instructions on where to obtain it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | - | v1 |
No error handling guidance. Tool provides no recovery hints for LLMs if the call fails (invalid credentials, tracking number not found, phone number mismatch, API down). LLMs receive raw error and cannot self-correct.