基于Model Context Protocol的A股数据查询工具,提供实时行情、股票信息、市场概况、历史数据和财务数据查询功能
Server has 5 tools with basic schemas and descriptions, but significant gaps prevent higher scores. All tools have descriptions (10-30 chars, below the 50-200 char baseline for LLM optimization), and input schemas are present but minimal. Parameter descriptions are sparse or missing context. No output schemas documented. Error handling is generic. Tool naming follows verb_noun convention (positive), but descriptions lack WHEN/WHY guidance and actionable recovery paths. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being READ_ONLY. Composition is reasonable (5 focused tools), but descriptions do not guide LLM selection between similar tools (e.g., get_stock_info vs get_realtime_price distinction unclear).
获取财务数据
获取市场概况(上证、深证指数等)
获取A股实时价格
获取股票历史数据
获取股票基本信息
Descriptions are too short (10-30 chars) and lack LLM-optimized guidance. Baseline is 50-200 chars. Descriptions do not explain WHEN to use each tool or how they differ (e.g., get_realtime_price vs get_stock_info). No recovery hints or prerequisites stated.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure. Baseline: 100% of A+ tools document return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Annotations help LLMs understand retry safety and side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Parameter descriptions are minimal or missing context. E.g., 'symbol' param lacks format guidance (is '000001' or '0000001' valid? What about 'SH000001'?). Baseline: 100% of A+ tools have param descriptions with format/constraint details.
Error handling in server.py is generic ('错误: {str(e)}') with no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal. No actionable error messages.