An MCP server that provides PowerShell code execution capabilities integrated with a Chainlit chatbot interface
Single tool with minimal definition quality. Tool name 'run_powershell' is generic and does not follow verb_noun pattern conventions (should be more specific like 'execute_powershell_script'). Description is extremely brief (47 chars) and lacks critical context about destructive capabilities, prerequisites, or when to use it. Input schema present but parameter description is minimal (23 chars). No output schema documented. No error handling guidance. No security warnings despite DESTRUCTIVE risk classification. Fails multiple critical checks from pattern:tool and pattern:tool-description.
Runs PowerShell code and returns the output.
Generic tool name 'run_powershell' lacks specificity. Should follow verb_noun pattern (e.g., 'execute_powershell_script', 'run_powershell_command'). Current name does not convey scope or risk to LLM.
Tool description is critically insufficient (47 chars, baseline 194 chars). Lacks: (1) explanation of destructive nature, (2) when to use vs alternatives, (3) what it returns, (4) prerequisites/permissions required. LLM cannot determine appropriate usage.
Parameter 'code' has minimal description (23 chars). Does not specify: format constraints, length limits, allowed/forbidden commands, or examples of valid input. LLM will guess at valid values.
No output schema documented. LLM cannot predict return type, structure, or fields. No guidance on error format (currently returns 'Error: {error}' as string, inconsistent with success case).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Destructive tool lacks confirmation/dry-run pattern. PowerShell can delete files, modify system state, or execute arbitrary commands. No permission gates, audit logging, or recovery guidance. Violates pattern:confirmation-request and pattern:permission-gate.