Task queue manager for QClaw ↔ WorkBuddy integration. Manages task queuing, polling, result tracking, and trigger-based task processing between QClaw and WorkBuddy systems.
This server exposes 9 CLI-style tools with minimal schema documentation. Tool names lack action verbs (e.g., 'add', 'list', 'poll' are generic; 'trigger' and 'watch' are vague). Descriptions are present but brief (10 - 50 chars), offering minimal context for LLM selection. Input schemas are partially visible in the source but lack formal JSON Schema type declarations and descriptions for most parameters. No output schemas are documented. Error handling is minimal, tools print to stderr but do not provide recovery guidance. The server is STDIO-only, which is a hard transport cap. Overall, this reads as a CLI wrapper, not an MCP-ready tool suite.
添加新任务到队列
标记任务完成并写入结果
标记任务失败
列出队列中的任务
等待下一个 pending 任务(阻塞或非阻塞)
获取任务结果
修改任务状态
发送触发信号给 WorkBuddy(主动唤醒,不等待轮询)
Tool names lack action verbs. 'add', 'list', 'poll', 'trigger', 'watch' are generic or vague. LLMs cannot infer intent from names alone. Rename to 'create_task', 'list_tasks', 'wait_for_task', 'send_trigger', 'listen_for_trigger'.
Descriptions are too brief (10 - 50 chars). Baseline is 194 chars. Examples: 'add' = 12 chars, 'poll' = 20 chars. Expand to explain WHAT, WHEN, and WHY. E.g., 'Create a new task in the queue. Use this when you need to submit work for WorkBuddy to process asynchronously.'
No output schemas documented. LLMs cannot plan downstream calls or extract fields. Document what each tool returns: e.g., 'add' returns {task_id: string, created_at: string}, 'list' returns {tasks: [{id, status, description, result?, error?}], total: number}.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
阻塞式监听:等待触发信号到达后处理 pending 任务
Parameter descriptions are missing or minimal. 'status' enum in 'list' has description 'Filter tasks by status' (good), but 'poll' params 'wait' and 'once' lack descriptions. Every parameter needs a description explaining its effect.
Error handling is minimal. Tools print to stderr but do not guide recovery. E.g., 'task not found' should suggest 'Try list() to see available tasks' or 'Check task_id format (8 hex chars)'.