MCP server that provides search functionality via SearXNG, a privacy-respecting metasearch engine
Single tool 'search' has a verb-based name (good), but critical gaps undermine quality. Description is only 6 characters ("搜索关键字" = "Search keyword"), far below the 10-1024 character baseline and provides no context for LLM selection. Input schema exists but lacks parameter description, the 'query' field has no explanation of expected format, length, or constraints. Output is unstructured plain text (concatenated search result snippets), with no documented schema, pagination, or field structure. No error handling guidance, failures return bare False instead of actionable recovery messages. Tool does not follow the response-shaper or paginated-result patterns.
搜索关键字
Tool description is 6 characters ("搜索关键字"), far below 10-1024 baseline. Provides no context for LLM selection, no WHEN/WHY guidance, no prerequisites.
Input parameter 'query' lacks description. LLM cannot infer expected format, length constraints, or special handling (e.g., boolean operators, language, max length).
Output is unstructured plain text (concatenated snippets). No documented schema, no pagination support, no result count, no source URLs or metadata. Violates response-shaper and paginated-result patterns.
Error handling returns bare False instead of actionable recovery messages. LLM receives no guidance on retry, fallback, or root cause.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No input validation. Tool accepts any string as 'query' without length limits, special character handling, or injection protection. SearXNG URL is constructed via string interpolation (f-string), risking injection if query contains '%s'.