croncron
Enables optional failure alert notifications to be sent to Telegram when cron jobs fail or recover, configured via ~/.croncron/config.json.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@croncronschedule my backup script to run every night at 3am"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
croncron
The easiest way to run cron jobs. Plain-English schedules, automatic logs & run history, missed-run detection, and an MCP server so AI agents can manage your jobs. Zero dependencies — one folder of TypeScript that Node ≥23.6 runs directly.
$ croncron add "every 5 minutes" ./backup.sh
✓ backup — every 5 minutes (*/5 * * * *)
runs: ./backup.sh in /Users/you/project
next run in 3m (8/3/2026, 4:05:00 PM)
logs: croncron logs backup · test now: croncron run backupNo cron syntax to remember, no >> /tmp/foo.log 2>&1 boilerplate, no wondering whether it ran.
Why
Raw crontab has six chronic problems — croncron fixes each one:
crontab pain | croncron |
unreadable syntax |
|
no logs without redirect boilerplate | every run's output auto-captured → |
no run history / silent failures |
|
crontab = unowned junk drawer | named jobs in a registry; |
cron's minimal PATH breaks commands | PATH + shell + cwd captured at add time, replayed at run time |
macOS sleep silently skips runs |
|
failures go unnoticed for weeks | native notification (+ optional Telegram) on failure and on recovery |
Your crontab stays yours: croncron manages one clearly marked block and never touches anything outside it. Every real crontab write is backed up to ~/.croncron/backups/ first.
Related MCP server: silentwatch-mcp
Install
npm install -g git+https://github.com/itsnotrwanman/croncron.git
croncron doctor # sanity-check the wiringRequires Node ≥ 23.6. Website: croncron.vercel.app
From a clone: pnpm link --global.
Commands
croncron add "<schedule>" <command...> # --name --cwd --retry N --ping URL --no-notify
croncron edit <name> [--schedule ...] # change anything without rm/re-add
croncron list # schedule · next run · last result · missed-run warnings
croncron run <name> # run right now, streamed
croncron logs <name> [lines]
croncron runs <name> # run history
croncron pause <name> / resume <name>
croncron rm <name>
croncron import [--apply] # adopt existing crontab entries (dry-run by default)
croncron watchdog install|remove|status # 24/7 mode (see below)
croncron catchup # run missed jobs now
croncron notify test · croncron config # failure alerts (macOS built-in, Telegram optional)
croncron doctor # env/wiring checks + macOS caveats
croncron mcp # MCP server on stdioReliability
Alerts on state change only — one notification when a job starts failing, one when it recovers. A failing every-2-minutes job never becomes an alert storm. macOS notifications work out of the box; add Telegram in
~/.croncron/config.json.Retries —
--retry 2re-attempts a failed run (10s apart) before it counts as failed.No overlap — if a run is still going when the next fire comes, the new one is skipped and recorded as skipped (visible in
croncron runs).Monitor pings —
--ping https://hc-ping.com/UUIDhits a healthchecks-style URL after every run (/failon failure), for off-machine monitoring.Bounded disk — logs rotate past ~1 MB, history is trimmed; nothing grows forever.
Watchdog — launchd (macOS) or systemd user timer (Linux) re-runs schedules missed while the machine slept.
Schedules: every 5 minutes · hourly · daily at 9am · weekdays at 9:30 · every monday at 8pm · weekends at 10am · monthly on the 1st at 9am · any raw cron expression.
For AI agents
Claude Code
claude mcp add --scope user croncron -- croncron mcpThen just ask: "schedule my backup script every night at 3am". Tools exposed: cron_add, cron_list, cron_remove, cron_pause, cron_run_now, cron_logs.
Codex CLI (~/.codex/config.toml)
[mcp_servers.croncron]
command = "croncron"
args = ["mcp"]Kimi CLI / any MCP client
{ "mcpServers": { "croncron": { "command": "croncron", "args": ["mcp"] } } }Shell-only agents (no MCP)
Every read/write command takes --json for machine-readable output:
croncron add "every 10 minutes" "curl -s https://api.example.com/ping" --json
croncron list --json # includes nextRun, lastRun, missedLastScheduledRun
croncron run backup --json24/7 mode (the macOS sleep trap)
cron only fires while the machine is awake — a job scheduled during sleep is skipped
forever, silently. croncron watchdog install fixes this with a launchd LaunchAgent
(launchd does run after wake) that calls croncron catchup every 5 minutes:
any enabled job whose last scheduled fire has no run record gets executed once
jobs cron will fire again within 10 minutes are skipped (no duplicate runs)
catch-up runs are marked
catchup: truein history and in the job log
So a daily at 3am backup on a laptop that was closed at 3am runs minutes after you
open the lid, instead of never.
How it works
~/.croncron/jobs.json— the registry (name, schedule, command, cwd, shell, PATH)~/.croncron/logs/<name>.log— every run's output, timestamped~/.croncron/history/<name>.jsonl— one line per run: start, duration, exit codecrontab gets one managed block; each entry calls
croncron exec <name>with absolute paths, so cron's minimal environment doesn't matter
Development
node --test "test/*.test.ts" # 57 tests: parser, crontab block, importer, CLI e2e, MCP over stdioTests run against a sandboxed CRONCRON_HOME and a fake crontab file (CRONCRON_CRONTAB_FILE) — they never touch your real crontab.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server for scheduling and executing Claude Code CLI tasks via cron expressions, featuring a web dashboard and webhook support. It enables users to dynamically create custom MCP servers, manage recurring AI jobs, and track execution history with token and cost analytics.Last updated24MIT
- AlicenseAqualityAmaintenanceAn MCP server that surfaces scheduled-job state and detects silent failures (exit 0 but no useful output) for cron, systemd timers, and OpenClaw schedulers, enabling AI agents to query job health and overdue status directly.Last updated6MIT
- Alicense-qualityBmaintenanceA hosted remote MCP server that lets your AI agent schedule tasks for later — reminders, delayed webhook callbacks, and recurring jobs. Read-only by design.Last updated5MIT
- Alicense-qualityFmaintenanceMCP server that allows AI coding assistants to schedule deferred tasks such as reminders, shell commands, and AI prompts, executing them as an OS daemon.Last updated4MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/itsnotrwanman/croncron'
If you have feedback or need assistance with the MCP directory API, please join our Discord server