The server implements 4 tools for Baidu search and web content fetching. Tool naming follows verb_noun convention (baidu_search, fetch_page_content), which is good. However, descriptions are uniformly terse (14-41 characters), well below the 50-200 char baseline for LLM-optimized descriptions. Parameter descriptions exist but are minimal. Input schemas are visible and properly typed (string, integer), but lack detail on constraints, ranges, valid values, and dependencies. No output schemas are documented in the code. Error handling is present at the code level (try/except, logging) but does not provide actionable recovery guidance to the LLM. The code shows rate limiting and graceful fallbacks (curl_cffi, Playwright), which is production-aware, but these implementation details are not reflected in the tool interface definitions visible to the agent.
Search images via Baidu
Search news via Baidu
Search via Baidu search engine
Fetch and parse the full content of a web page
All tool descriptions are under 20 characters, violating the 50-200 character baseline for LLM-optimized descriptions. 'Search via Baidu search engine' (29 chars) and 'Search news via Baidu' (21 chars) are too terse to guide LLM tool selection without reading parameter names.
No output schema is documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does baidu_search return URLs, titles, snippets, or all three?). Agents must infer structure from observation, increasing errors.
Parameter 'pn' in baidu_search lacks description detail: no min/max, no explanation of pagination behavior, no guidance on default value. Description states 'Page number for pagination (default: 1)' but does not document the limit (how many results per page?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 41 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 26 | - | v1 |
No error handling guidance in tool descriptions. Code catches httpx.HTTPError and generic Exception but returns empty list []. LLMs receive no information about why a call failed, whether to retry, or what to try next.
No result limits documented. Large search result sets could blow context windows. Code does not cap pagination or document a recommended result limit to the agent.