This YeePay MCP server provides 2 tools with basic schema definitions and descriptions in Chinese. While schemas are present and parameters are typed, the definitions lack the depth and LLM-optimization standards expected of production-grade tools. Descriptions are minimal (15-20 chars) and lack critical context about when to use each tool, what happens when called, and how to handle failures. Parameter descriptions are present but terse. No output schemas are documented, forcing LLMs to infer response structure. Error handling is absent, tools throw unguided errors. The naming convention is reasonable (verb_noun pattern with domain context), but the lack of English descriptions and minimal guidance make this suitable only for specialized Chinese-language agents.
创建移动支付订单工具
查询支付状态工具
Descriptions are too short and lack actionable context. 'create_webpage_yeepay_payment' is described as '创建移动支付订单工具' (create mobile payment order tool), only 15 chars. This provides no guidance on WHEN to call it, WHAT it returns, or HOW to handle failures. Per the rubric, descriptions should be 10-1024 chars with explicit context for LLM selection.
Output schemas are undocumented. Both tools return JSON via the MCP text content type, but neither specifies what fields the response contains, their types, or required structure. LLMs cannot plan downstream operations or extract data reliably without knowing response structure.
Error handling provides no recovery guidance. The code uses 'throw error' with generic error logging, but does not categorize errors as retryable, user-fixable, or fatal. No actionable error messages are returned (e.g., 'Invalid orderId format' or 'Payment service temporarily unavailable, retry in 30 seconds').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
Parameter descriptions lack constraint documentation. 'amount' is described only as '交易金额' (transaction amount) with no min/max bounds, decimal precision, currency unit, or valid range. Unbound numeric parameters invite invalid LLM submissions (e.g., negative amounts, amounts exceeding API limits).
No documentation of destructive vs. read-only intent. 'create_webpage_yeepay_payment' is marked as WRITE risk, but the description does not explicitly state 'This tool creates an irreversible payment order, verify order details before calling.' Tool annotations (destructiveHint) are also missing.
Parameter 'userIp' is optional but serves a non-obvious purpose. The description '用户IP' (user IP) does not explain why the IP is needed, when it should be provided, or what happens if omitted. Undocumented parameter relationships force agents to guess.