MCP server for creating, managing, and executing automated tasks with LLM agents, supporting cron scheduling, MCP server integration, and Windows Task Scheduler registration.
Strong tool definitions with comprehensive descriptions and well-structured schemas. All 7 tools have clear verb-noun naming (create_task, delete_task, etc.) and detailed parameter descriptions. Input schemas are properly typed with JSON Schema. However, output schemas are not explicitly documented in the visible code, responses are serialized JSON but the structure is not formally declared. Error handling is present but could be more prescriptive about recovery paths. Tool annotations (Destructive flag) are correctly applied to mutation operations.
Creates a new Runner task with the given prompt, schedule, and configuration. If a cron schedule is provided, automatically registers with the Runner scheduler (Windows Task Scheduler on Windows). Supported cron patterns: */N * * * * (every N min), 0 */N * * * (every N hours), M H * * * (daily), M H * * 1-5 (weekdays), M H D * * (monthly).
Deletes a Runner task and all its execution history. Also removes the associated Windows Task Scheduler entry and log files. Cannot delete a task that is currently running.
Checks the current status of a task execution. Use this after run_task to monitor progress of a running execution.
Retrieves execution history for a Runner task. Returns recent executions with status, timing, and result summaries.
Lists all Runner tasks with optional filtering. Returns task summaries including last execution status. Does not include full prompts (use get_task for details).
Output schemas not formally documented. Tools return JSON (success, task_id, error, etc.) but the response structure is not declared in tool metadata. LLMs cannot reliably extract fields from undocumented responses.
Error responses lack recovery guidance. Errors return {success: false, error: string} but do not categorize as retryable/user-fixable/fatal or suggest next steps. E.g., 'Invalid mcp_servers JSON' should suggest 'Verify JSON syntax and retry' or 'Call list_tasks to see available servers'.
Mutually exclusive parameters (schedule vs schedule_once) documented in descriptions but not enforced at schema level. JSON Schema should use oneOf or explicit constraint. LLMs may pass both, causing validation errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Starts execution of a Runner task. By default returns immediately with the execution ID (use get_execution_status to check progress). Set wait=true to wait up to 60 seconds for completion.
Updates an existing Runner task. Only provided fields are changed (partial update). Use schedule='__remove__' to remove a schedule. Schedule changes automatically update the Runner scheduler.
Pagination not implemented for list_tasks. No limit/offset/cursor parameters visible. If task count grows large, response could exceed context window. Should add limit (default 20, max 100) and next_cursor.
No dry-run or confirmation step for destructive operations (delete_task, run_task with side effects). Agents can accidentally delete tasks or trigger unintended executions. Should support a confirm_before_execute pattern.