MCP server for querying Chinese stock market data (Shanghai and Shenzhen exchanges)
Critical gaps across all dimensions. Tool names lack action verbs (getStockSSJY, getCompanyDetail, getStockTimeByStartDayAndEndDat). Descriptions are present but minimal (10-80 chars, below the 50-200 char LLM-optimized baseline). Input schemas visible but lack depth: parameters have type and description, but no enums for constrained inputs (e.g., 'time' param accepts 'y|m|w|d' but not declared as enum). No output schemas documented. No error handling guidance. Tool naming is inconsistent (getStockTimeByStartDayAndEndDat is truncated/malformed). No parameter validation rules or constraints documented. Composition is reasonable (5 focused tools), but descriptions do not explain WHEN to use each tool or dependencies between them.
根据股票代码获取公司的详细信息(只支持沪深两市)
获取当前时间
根据股票代码获取股票实时交易信息(只支持沪深两市)
根据股票代码和指定日期给出股票分时价格(只支持沪深两市)
根据股票代码和分时级别获取股价分时信息,分时级别分别为年,月,周,日(如果分时级别为周则返回30个周的数据,如果分时级别为日则返回30天的数据,只支持沪深两市)
Tool names do not start with action verbs. 'getStockSSJY' and 'getCompanyDetail' use camelCase getter style instead of verb_noun pattern (get_stock_realtime, get_company_details). LLMs rely on verb-first naming to infer intent.
Descriptions are too brief (10-35 chars, below 50-char minimum). 'Get real-time stock trading info' lacks context on WHEN to use vs other tools, what data is returned, and any prerequisites. LLMs cannot reliably select tools without 50-200 char descriptions.
No output schemas documented. Callers cannot know what fields StockSSJY, CompanyDetail, or StockTime objects contain without reading Java source. LLMs need explicit response schemas to plan downstream calls and extract data.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
Constrained parameters not declared as enums. 'time' param in getStockTimeByYearOrMonthOrWeekOrDay accepts 'y|m|w|d' but is a free-form string. LLMs will hallucinate invalid values (e.g., 'year', 'month'). Use enum constraint.
Tool name 'getStockTimeByStartDayAndEndDat' is truncated/malformed ('EndDat' should be 'EndDate'). Naming inconsistency signals poor code quality and confuses LLMs.