A FastMCP server providing web search, math operations, and code review capabilities
Server has 2 tools with minimal quality issues. Tool naming is partially actionable ('add' lacks a verb, 'search_web_by_searxng' is acceptable). Descriptions are present but critically underdeveloped: 'Add two numbers' is 16 chars (below 20-char threshold), and parameter descriptions are completely missing (null). Input schemas are declared in FastMCP decorators but parameter descriptions are absent. No output schema documentation. No error handling guidance. The server implements HTTP/SSE transport with prompts and resources but lacks tool annotations and structured error recovery patterns. This is a D-grade server (poor).
Add two numbers
使用SearXNG获取联网搜索信息
Tool 'add' has description of only 16 characters ('Add two numbers'), below the 20-character minimum. This prevents LLMs from understanding context or when to call the tool.
All parameter descriptions are null across both tools. The 'a' and 'b' parameters in 'add' lack descriptions (marked null in schema). The 'q' parameter in 'search_web_by_searxng' also lacks description (null).
Tool 'add' lacks an action verb. Naming should follow verb_noun convention (e.g., 'add_integers', 'sum_values'). The bare name 'add' is passive and does not clearly signal the operation to LLMs parsing tool intent from the name.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 31 | - | v1 |
No output schema documentation for either tool. 'add' returns an integer, 'search_web_by_searxng' returns a JSON response from SearXNG API, but there is no documented structure describing fields, types, or pagination. LLMs cannot plan downstream calls or extract data without schema clarity.
No error handling or recovery guidance. The 'search_web_by_searxng' tool makes an external HTTP call to searxng.world with no timeout, exception handling, or user-facing error messages. If the call fails, LLMs receive raw exceptions instead of actionable recovery steps.
Language mixing in tool descriptions. 'search_web_by_searxng' description is in Chinese ('使用SearXNG获取联网搜索信息'). Tool descriptions should be in English for consistency and LLM comprehension. This will confuse most LLM clients expecting English descriptions.
No parameter constraints or format guidance. The 'q' parameter in 'search_web_by_searxng' accepts any string with no validation, length limits, or character restrictions documented. LLMs may pass invalid search queries without guidance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are marked as READ_ONLY risk in the server metadata, but FastMCP tool definitions do not expose these hints via tool annotations. LLMs cannot determine if a tool is safe to retry or has irreversible consequences.