MCP server with tools for network diagnostics (ping) and resource management
Single tool 'ping_ip' has a basic schema and description but significant gaps. Description is only 18 characters ('Ping an IP address'), below the 20-char minimum for scoring above 0. Parameters lack descriptions entirely, 'ip', 'count', 'timeout' have no guidance on format, constraints, or when to use them. No output schema documented. Error handling returns raw error messages without recovery guidance. Tool performs system command execution (ping) with user-supplied IP, creating injection risk if not validated. No idempotency guarantees, no rate limiting, no permission checks.
Ping an IP address
Tool description is 18 characters ('Ping an IP address'), below 20-char minimum. Provides no context on when to use, what it returns, or prerequisites.
All parameters lack descriptions. 'ip', 'count', 'timeout' have no guidance on format, valid ranges, or constraints. LLMs cannot infer parameter meaning from names alone.
No output schema documented. Tool returns raw stdout from system ping command, unstructured text. LLMs cannot parse results reliably or extract structured data for downstream calls.
Command injection risk: IP parameter passed directly to shell exec() without validation. Malicious input like '8.8.8.8; rm -rf /' would execute arbitrary commands.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Error handling returns raw error messages ('Ping failed: ...') without recovery guidance. LLM cannot determine if error is retryable, user-fixable, or fatal.