MCP server for accessing Weibo (微博) data including user profiles, feeds, trending topics, and comments
Server has 10 tools with complete input schemas and basic descriptions. All tools follow verb_noun naming (search_*, get_*). However, descriptions are minimal (avg ~60 chars, well below the 194-char baseline for A+ tools) and lack context on WHEN to use each tool or dependencies between them. No output schemas documented. Parameters lack format constraints, ranges, or validation guidance. Error handling is absent, no recovery guidance or categorization. Tools are read-only but lack explicit idempotent hints. Dependency injection pattern (WeiboCrawler) is clean but not visible in tool definitions themselves.
获取指定微博帖子的评论。 返回: list[dict]: 包含评论信息的字典列表
获取微博用户粉丝列表。 返回: list[dict]: 包含粉丝信息的字典列表
获取微博用户动态。 返回: list[dict]: 包含动态信息的字典列表
获取微博用户关注列表。 返回: list[dict]: 包含关注信息的字典列表
获取微博用户热门动态。 返回: list[dict]: 包含热门动态信息的字典列表
获取微博用户资料信息。 返回: dict: 包含用户资料信息的字典
获取当前微博热搜话题。 返回: list[dict]: 包含热搜条目的字典列表
Descriptions are too brief (avg ~60 chars vs 194-char baseline). Missing WHEN to use each tool, dependencies, and prerequisites. E.g., 'get_profile' just says 'Get user profile info', no guidance on whether to call search_users first if you only have a name.
No output schemas documented. Schemas.py defines Pydantic models (UserProfile, FeedItem, TrendingItem, TopicItem, CommentItem) but tools return generic list[dict] or dict without referencing these models. LLMs cannot infer what fields to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
根据关键词搜索微博内容。 返回: list[dict]: 包含搜索结果的字典列表
根据关键词搜索微博话题。 返回: list[dict]: 包含搜索结果的字典列表
根据关键词搜索微博用户。 返回: list[dict]: 包含用户信息的字典列表
Parameters lack format constraints and ranges. E.g., 'limit' and 'page' have no min/max bounds, LLMs could pass limit=999999 or page=-1. No enum constraints on any parameter.
No error handling or recovery guidance. Tools will fail silently or return generic errors. No categorization of errors as retryable vs user-fixable. No guidance on what to do if a user_id is invalid or a search returns no results.
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only and idempotent but this is not declared in the MCP protocol, forcing LLMs to infer safety from descriptions alone.