AI-powered cross-platform MCP server exposing LLM-accessible tools to list and terminate OS processes via natural language queries
Two tools with clear verb-based naming and functional descriptions, but significant gaps in parameter documentation and output schema clarity. process_list has comprehensive parameters with types and descriptions; process_kill is minimal but acceptable. Both lack structured output documentation. The descriptions are present but fall short of the LLM-optimized 50-200 char baseline (process_list is ~130 chars, acceptable; process_kill is ~45 chars, under 50-char minimum). Parameter validation logic is implemented but not fully documented in descriptions. No error handling guidance visible. Security stance acceptable (no secrets in params) but no permission-gate or audit-trail patterns. Tool composition is sound (two distinct operations, no multi-concern bundling).
Kill the process identified by the given PID
List running processes sorted by CPU or memory with optional name, user, status, CPU/memory thresholds, system-process filtering, sort order and limit.
process_kill description is 45 characters, below 50-char minimum for LLM clarity. Lacks context for when/why to use vs process_list, and does not explicitly state this is a destructive/irreversible operation.
Output schemas not documented for either tool. LLMs cannot plan downstream calls or extract correct fields. process_list returns List[Dict[str, Any]], callers need to know: what dict fields? What are their types? process_kill returns what on success/failure?
No error handling guidance. Validation errors are raised (ValueError) but the descriptions do not explain recovery steps. E.g., if min_cpu is invalid, what should the LLM do? Retry with a float? Call process_list without thresholds?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
process_kill lacks explicit confirmation or dry-run pattern for destructive operations. An agent could accidentally kill critical system processes. Recommendations: add a 'confirm' parameter or document this is irreversible and requires explicit agent intent.
Parameter descriptions present but inconsistent in detail. duration parameter says 'Duration in seconds for CPU sampling' but does not explain why this is needed (CPU percent is time-dependent). min_cpu and min_memory descriptions lack range/constraint hints (e.g., 'CPU percentage 0 - 100', 'memory in bytes, typically 1MB - 16GB').
include_system parameter defaults to false, which is safe. However, the description does not explain what 'system processes' means across platforms (root processes on Unix, SYSTEM/NT AUTHORITY on Windows). LLMs may not understand the implications of toggling this flag.