Remote-access MCP server: lets a Claude CLI on another machine read/write files, search code, run allow-listed commands and git over HTTP for a project.
Workbench-MCP has solid naming conventions (verb_noun pattern) and reasonable descriptions for most tools. However, parameter descriptions are sparse or missing entirely for several tools, and output schemas are not documented. The server exposes powerful file/command execution capabilities with minimal input validation guidance. Error handling is present but lacks recovery guidance. Tool composition is reasonable but some tools (claude_start/claude_result) introduce polling complexity.
Check the status and output of a background Claude task started with claude_start.
Start Claude Code CLI in background with a prompt. Returns a taskId to poll with claude_result.
Show git branch, status, and recent commits
List files in a directory
Project overview: CLAUDE.md, servlets list, docs, git branch
Read a file from the project (relative to project root)
Run a shell command (allowlisted: git, php, composer, npm, ls, grep, etc.)
Output schemas not documented. Tools return structured responses but LLMs cannot see field names, types, or required fields. Downstream tool chaining is error-prone.
run_command lacks input validation guidance. No description of allowed commands, argument constraints, or timeout behavior. LLMs cannot predict which commands will succeed.
Error responses lack recovery guidance. Tools throw errors but do not tell LLMs what to do next (retry, try alternative tool, ask user). Agents cannot self-correct.
write_file and run_command are destructive but lack confirmation/dry-run patterns. Agents can accidentally overwrite files or execute harmful commands without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Search file contents with grep (regex). Excludes node_modules, vendor, .git.
Write/create a file in the project (creates directories as needed)
claude_start/claude_result introduce polling complexity. No timeout guidance, no max_wait parameter, no indication of task TTL (30 min). LLMs may poll indefinitely or miss task expiration.