MCP server that spawns a local Qwen-based agent to execute tasks with command execution, file operations, and verification capabilities
Single tool 'spawn_local_agent' has a reasonable description (145 chars) but critical schema gaps. Input schema visible with 'task' (string) and 'model' (string, optional) parameters, both with descriptions. However, output schema is NOT documented in the source code, the tool returns _AgentResult with fields (state, message, thread_id, verification_block) but this structure is never exposed to the MCP client. The tool is destructive (executes arbitrary commands) but lacks error handling guidance, recovery instructions, or confirmation patterns. No parameter constraints (enums, ranges) despite accepting model aliases. Tool name 'spawn_local_agent' is acceptable but generic; 'execute_task_with_agent' or 'run_qwen_agent_task' would be clearer. No tool annotations (destructiveHint, idempotentHint) despite being a high-risk operation.
Spawn a local Qwen agent to execute a task with command execution, file operations, and verification. Returns task completion status, agent message, thread ID, and optional verification blocks for Windows permission issues.
Output schema not documented. Tool returns _AgentResult (state, message, thread_id, verification_block) but MCP client has no visibility into this structure. LLM cannot plan downstream actions or extract required fields.
No error handling guidance. Tool can fail with model unavailability, connection errors, or task execution failures, but error responses do not guide LLM on recovery (retry, fallback, user input). Errors are categorized internally but not exposed.
Destructive operation lacks confirmation pattern. Tool executes arbitrary commands on local system with no dry-run, preview, or confirmation step. Agents can cause unintended file/system damage without safeguards.
No tool annotations. Despite being destructive and potentially non-idempotent, tool lacks destructiveHint, idempotentHint, or readOnlyHint annotations to guide agent behavior.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
'model' parameter accepts free-form string with no enum constraint. Tool validates against models.json at runtime, but LLM has no visibility into valid aliases. Should expose enum of available model aliases in schema.