MCP 工具服务:获取本机公网 IP 及地理位置信息,支持反爬虫和速率限制处理。
This MCP server exposes a single tool 'get_public_ip_info' with critical definition quality gaps. The tool has a description in Chinese (获取当前主机公网 IP 地址及相关信息,自动处理 API 错误和限流), but the input schema is completely empty ({}), meaning it accepts no parameters. While the tool name follows verb-noun convention ('get_public_ip_info'), the schema definition is absent entirely per the hard scoring rule. The server returns structured output (IP, network, city, region, country, latitude, longitude) but does not document this output schema in the tool definition. Error handling returns labeled fields (error, message, reason, status) but lacks guidance for the LLM on recovery actions. The tool is genuinely read-only and stateless, but parameter descriptions are moot since no parameters exist.
获取当前主机公网 IP 地址及相关信息,自动处理 API 错误和限流。
CRITICAL: Tool input schema is empty ({}). Per hard scoring rule, schema score MUST be 0. Server accepts no parameters but does not document this explicitly or validate input. LLM cannot infer parameter constraints.
Tool description is in Chinese (获取当前主机公网 IP 地址及相关信息,自动处理 API 错误和限流). For English-first LLM agents, Chinese descriptions are inaccessible. Translate to English or provide bilingual descriptions. Current length ~45 chars in target language, which is acceptable in scope but language barrier reduces accessibility.
Output schema is not documented in tool definition. The server returns structured fields (ip, network, version, city, region, country, latitude, longitude) but does not declare these in the tool registration. LLM cannot plan downstream usage or know what fields to expect. Per pattern:response-shaper and pattern:tool, output schemas must be documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 11 | - | v1 |
Error messages lack recovery guidance. When the tool fails, it returns error objects with status, message, and reason fields, but does not tell the LLM what action to take next. E.g., 'Rate limited, retry in 60 seconds' or 'API unreachable, check ipapi.co status' would guide the agent; bare error codes do not.
Tool accepts external API (ipapi.co) without rate-limit awareness or circuit breaker. The server logs rate-limit errors but does not implement backoff, retry logic exposed to the LLM, or recommend next steps. An agent could retry immediately and worsen the situation.
No tool annotation (readOnlyHint, destructiveHint, idempotentHint). While the tool is read-only and idempotent, these should be declared via tool annotations in the tool definition for LLM clarity.