This server has 13 tools with basic structure but significant quality gaps. All tools have names and descriptions, but descriptions are terse (avg ~50 chars), many lack depth on WHEN to use them, and parameter descriptions are inconsistent. Input schemas are visible and properly typed for most tools, but output schemas are entirely absent, LLMs cannot predict what these tools return. Error handling is generic ('Ping失败', 'Ping failed') with no recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Tool names follow verb_noun convention reasonably well, but several tools are overly broad (e.g., 'http_request' does multiple HTTP verbs without clear constraints). The server lands in the 'fair' to 'poor' range, schemas present but incomplete, descriptions too brief, error handling minimal, and no output documentation.
执行高级数学计算,支持多步骤运算
执行基本的数学计算,支持加减乘除和幂运算
检查指定主机的端口是否开放
将一个时区的时间转换为另一个时区的时间
执行DNS查询
下载文件
获取指定时区的当前时间
获取本机IP地址信息
No output schemas documented. LLMs cannot predict return types or chain tools effectively. Every tool lacks a documented return structure, responses are opaque free-text strings.
Tool descriptions are too brief (avg ~50 chars) and lack context on WHEN to use each tool. Descriptions like '检测与目标主机的网络连通性' (15 chars) and '获取公网IP地址' (10 chars) are too terse for LLM selection. No differentiation between similar tools (e.g., get_local_ip vs get_public_ip requires reading implementation details).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
获取公网IP地址
发送HTTP请求并获取响应
判断指定年份是否为闰年
检测与目标主机的网络连通性
计算两个时区中指定时间的时间差
Error handling is generic and non-actionable. Errors like '计算错误:' (calculation error) or 'Ping失败: {str(e)}' provide no recovery guidance. LLMs cannot self-correct, they need actionable errors like 'Invalid priority: must be low|medium|high|urgent'.
http_request tool is overly generic and ambiguous. It accepts method, headers, data but lacks constraints on what methods are allowed, what data formats are supported, or what security restrictions apply. No rate limiting, no timeout guidance. This violates single-responsibility principle, should split into get_url, post_json, etc., or heavily constrain the single tool.
Missing parameter descriptions in several tools. 'record_type' in dns_lookup has default 'A' but no description of valid DNS record types (A, AAAA, MX, CNAME, TXT, NS, SOA, SRV, etc.). LLMs must guess.
No enums for constrained inputs. dns_lookup's 'record_type' should be an enum (A, AAAA, MX, CNAME, TXT, NS, SOA, SRV). http_request's 'method' should be an enum (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS). Free-form strings invite hallucinated values.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint. download_file is clearly destructive (writes to filesystem) but unmarked. LLMs cannot determine retry safety or side-effect severity.
Time zone tools accept raw tz_name strings without enum constraints. LLMs will hallucinate zone names. Should provide enum of pytz.all_timezones or at least document format (e.g., 'IANA timezone database format: America/New_York, Europe/London, Asia/Tokyo').
No pagination or result limits. Tools that return lists (get_local_ip returns multiple interfaces, http_request may return large payloads) lack offset/limit params. Large responses blow context windows. dns_lookup doesn't document whether it returns one record or multiple.
Tool composition gaps. No tools return IDs or references that downstream tools need. E.g., if an agent wants to 'send data via HTTP to multiple hosts', it must call http_request separately for each host, no batch variant, no reference IDs returned for tracking.