MCP server for REAPER DAW control
Single tool 'execute_python' has a reasonable description (194 chars) but critical security and design flaws. Input schema is present with type and description for the 'code' parameter. However, the tool violates fundamental safety patterns: it executes arbitrary Python code without sandboxing, validation, or confirmation. No output schema is documented. The tool is marked IRREVERSIBLE but lacks error handling guidance, recovery patterns, or permission gates. This is a dangerous tool that should never be exposed to untrusted agents without severe restrictions.
Execute Python code to control REAPER. The code can use the reaper object to call any REAPER API function. Args: code: Python code to execute (supports multi-line) Returns: Code execution result (stdout or error message)
Arbitrary code execution without sandboxing or validation. Tool accepts any Python code and executes it in the REAPER process namespace. No input sanitization, no allowlist, no capability restrictions. Agents can delete files, exfiltrate data, or crash REAPER.
No output schema documented. Tool description says 'Code execution result (stdout or error message)' but does not specify structure, field names, or error format. LLMs cannot reliably parse or chain results.
Irreversible operations lack confirmation or dry-run support. Tool is marked IRREVERSIBLE but provides no confirmation_request pattern or preview capability. Agents cannot safely test code before execution.
No error classification or recovery guidance. Error responses are raw exception messages ('Unknown error' or traceback). LLMs cannot determine if errors are retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Tool name 'execute_python' is vague and does not convey scope or risk. Better names: 'execute_reaper_script' or 'call_reaper_api' would clarify that this is REAPER-specific, not arbitrary Python. Current name invites misuse.