Turn ChatGPT or Claude into a Codex / Claude Code-style local MCP coding agent for Windows.
AgentDesk provides 21 tools with complete input schemas and descriptions for all tools and parameters. Naming follows verb_noun conventions (open_workspace, read, write, grep, bash, browser_navigate, etc.). However, descriptions are often terse (10-50 chars) and lack actionable context for LLM selection. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance or categorization. Tool composition has issues: bash and exec_command are near-duplicates; browser tools lack idempotency guarantees. Parameter descriptions exist but lack constraints (e.g., timeout max 300s mentioned in bash but not enforced in schema). No enum constraints on categorical parameters. Security: workspaceId is passed as a parameter (potential logging risk); no explicit permission gates documented in tool definitions.
Apply a structured patch to multiple files in the workspace
Execute shell commands in the workspace
Click an element on the page by selector or text
Navigate browser to a URL
Capture current browser page state and element summary
Type text into a form field
Apply targeted edits to a file using hunks
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess what fields are returned and how to chain tools. Affects all 21 tools.
Duplicate/overlapping tools: bash and exec_command both execute shell commands with nearly identical signatures. LLMs cannot distinguish when to use each. Violates single-responsibility principle.
Descriptions are terse (10-50 chars) and lack actionable context. E.g., 'List directory contents' does not explain when to use ls vs glob, or what structure is returned. Baseline is 194 chars for A+ tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Execute shell commands with process management
Find files matching a glob pattern
Search for patterns in files using grep
Terminate a process by PID with confirmation
List all listening network ports on the system
List running processes on the system
List directory contents
Open a workspace and obtain a workspaceId for file operations
Read file contents with optional offset and limit
Display aggregate diff of file changes in the current workspace
Collect comprehensive system diagnostics including OS, proxy, ports, and processes
Get system information including OS, CPU, memory, and Node version
Write content to a file, creating it if it does not exist
Write to stdin of a running process
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'If file not found, try glob() first'). Affects all tools.
No enum constraints on categorical parameters. E.g., browser_click accepts 'selector' and 'text' but does not enforce mutual exclusivity or valid selector syntax. Invites hallucinated values.