The server defines 4 tools with schemas and descriptions present, but quality is below production baseline. Tool names follow verb_noun convention (positive), but descriptions are minimal and parameter documentation is inconsistent. All tools are READ_ONLY which is safe, but descriptions lack LLM optimization guidance. Schemas are present in the code but lack proper typing and constraint documentation in the descriptions themselves. No tool has a documented output schema. Error handling exists but does not guide recovery with actionable next steps. The server is STDIO-only, which further constrains its production viability.
获取所有配置的新闻源的数据
从多个源获取最新新闻
从指定源获取最新新闻
列出所有可用的新闻来源和对应的中文名称
Tool descriptions are below 50 characters and lack LLM-optimization context. Descriptions do not explain WHEN to use each tool or how they differ from each other.
Parameter descriptions are missing or trivial. The 'source' and 'sources' parameters in get_newsnow and get_multi_news lack guidance on valid values, format, or examples of valid source names.
No documented output schemas for any tool. LLMs cannot infer what fields are returned or their types. The tools return JSON but the response structure is not documented in the tool definition.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 28 | - | v1 |
Error handling returns unstructured messages and does not guide recovery. The normalize_source() function returns '__UNKNOWN_SOURCE__' internally but the error message shown to LLM does not clearly state how to recover (e.g., 'Call list_sources() first to see available options').
Parameter type documentation is incomplete. The 'source' parameter in get_newsnow is typed as string but the description does not enumerate valid values or document that aliases (e.g., '微博' vs 'weibo') are accepted.
Tool names could be more specific. 'get_newsnow' is generic, it does not distinguish between fetching from one source vs. multiple sources as clearly as 'fetch_news_by_source' or 'get_news_from_source' would.