Multi-Agent MCP Server for dispatching tasks to pluggable workers (Claude CLI, Codex, Antigravity, Ollama) via git worktrees
Critical gaps across all dimensions. Tool descriptions are present but written in Chinese with minimal English context, making them inaccessible to most LLM agents. Input schemas exist but lack proper type definitions and parameter descriptions. No output schemas documented. Error handling absent. Tool names lack clear action verbs (e.g., 'delegate_to_worker' is vague about what 'delegate' means in this context). Parameters like 'worker_type' and 'repo' have no descriptions. No evidence of idempotency, pagination, or composition patterns. Security concerns: git tool accepts arbitrary shell arguments, creating injection risk.
非同步派工給 Worker。working_dir 必須是先前建立的 worktree 絕對路徑。 prompt 會寫成 worktree 內的 .hub_prompt.md,命令列只傳一句固定英文指示。 這樣 prompt 不受 shell 解析影響,也不受命令列長度限制。
回報本次啟用的 Worker 與實際執行檔。不可派發給不在名單上的 Worker。
在指定 repo 執行 git 子指令。 args 範例: "worktree add -b worker-task-1 D:/proj/wt-task-1" "worktree remove --force D:/proj/wt-task-1" "diff --stat" "diff -- src/foo.py" "merge --no-ff worker-task-1" "merge --abort"
列出所有 job(執行中、已完成、已失敗)。給懸浮儀表板與 Master 用。
等待指定 job 完成,每 WAIT_SLICE 秒輪詢一次。回傳最終狀態與完整 log。
Descriptions in Chinese only; no English translations. LLM agents cannot understand tool purpose or when to invoke them. Descriptions must be in English and 50-200 characters with clear WHAT/WHEN/WHY guidance.
git tool accepts arbitrary 'args' string with no validation or sanitization. Enables command injection attacks. Must validate against a whitelist of safe git subcommands or reject dangerous patterns (e.g., pipes, semicolons, backticks).
No parameter descriptions. 'worker_type', 'repo', 'args', 'job_id' lack any guidance on format, constraints, or valid values. LLMs cannot infer whether to pass IDs, names, or paths.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., job_id from delegate_to_worker to pass to wait_for_job). All tools must declare return types.
No error handling guidance. Tools provide no recovery hints (e.g., 'worker not found, call get_active_workers() first'). Agents cannot self-correct on failures.