Local scheduler MCP server for Codex
14 tools with complete Zod schemas and descriptions, but quality is uneven. Naming follows verb_noun convention well (create_, list_, delete_, get_, run_, etc.). Descriptions are present but often terse (10-80 chars), below the 50-200 char baseline for LLM optimization. Parameter descriptions exist but lack detail on constraints, formats, and valid ranges. No output schemas documented, LLMs cannot predict response structure. Error handling is minimal; most tools return generic success/failure without recovery guidance. Security validation exists (validateTask) but not visible in all tools. Composition is reasonable, tools are single-purpose and chainable via IDs.
Acknowledge all notifications up to a timestamp
Cancel a running background task
Check pending notifications since last ack or a timestamp
Create a recurring automation. Use "command" for a shell command, or "script" + "scriptType" for inline code.
Delete an automation
Get run logs
Get a summary of pending notifications grouped by automation
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. E.g., list_automations returns JSON but structure is undocumented.
Descriptions are too terse (10-80 chars, below 50-200 baseline). E.g., 'Delete an automation' lacks context on consequences, prerequisites, or when to use it vs. cancel_task.
Parameter descriptions lack constraint details. E.g., 'intervalMinutes' has no min/max bounds; 'limit' has no range; 'scriptType' enum is documented but no default behavior stated.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Get the status of a background task
Create an automation from a pre-defined template. Override interval, cwd, or pass params for interpolation.
List all automations with pending notification counts
List all background tasks
List available automation templates that can be instantiated.
Run a one-shot background task and return a taskId immediately. Check status later with get_task_status.
Set the webhook URL for notifications
Error handling is minimal. Most tools return generic 'Error: ...' or 'Not found' without recovery guidance. E.g., delete_automation returns 'Not found', should suggest list_automations to discover valid IDs.
Mutually exclusive parameters not documented. create_automation and run_task accept both 'command' and 'script' but descriptions only say 'Use this OR script, not both', no guidance on what happens if both are provided.