MCP server for clean existing port
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. Tool names lack action verbs (port_scan, port_clean are noun-heavy). Descriptions exist but are generic and lack WHEN/WHY guidance. No output schema documented. Parameter descriptions are minimal. Error handling is present in code but not surfaced to LLM via structured responses. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles.
跨平台端口清理工具(支持Windows/macOS/Linux),用于终止指定端口的进程。注意,工具会反馈是否是系统端口或关键端口,如果是,需要向用户发起确认申请,用户确认后,才能执行清理操作。
跨平台端口占用情况扫描工具(支持Windows/macOS/Linux), 用于快速检查用户提供的端口号是哪些应用在监听。
Tool names lack action verbs. 'port_scan' and 'port_clean' are noun-heavy; should be 'scan_port' and 'kill_port' or 'terminate_port' to signal intent clearly to LLMs.
No output schema documented. LLMs cannot plan downstream calls or extract structured data. Code returns {content: [{type: 'text', text: ...}], isError: bool} but this is never declared in tool definitions.
Destructive tool (port_clean) lacks destructiveHint annotation in schema. Risk profile is clear in code but invisible to MCP clients and LLMs.
Parameter descriptions are minimal (1-2 words). 'port' param described only as '需要查找的端口号' (port to find), no guidance on valid range, format, or when to use this tool vs alternatives.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Error handling returns plain text in content array. No structured error classification (retryable vs fatal). LLM cannot distinguish 'port not in use' (success) from 'permission denied' (user-fixable) from 'command failed' (retry).