About Cronmcp
Cronmcp is an MCP server in the Automation category: typeScript stdio MCP server for managing local cron prompts.
Install
claude mcp add cronmcp -- npx -y cronmcpnpx -y cronmcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Cronmcp
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
cronmcp
cronmcp is an open-source cron scheduler stdio MCP server built on top of cron, cron-parser, commander, and @modelcontextprotocol/sdk.
It lets MCP-compatible clients create and manage scheduled prompt jobs, and optionally subscribe to cron tick notifications through an MCP notification channel.
Highlights
- Exposes cron scheduling as an MCP server over stdio.
- Uses the
cronpackage for in-process job execution. - Validates schedules as 5-field local cron (
M H DoM Mon DoW). - Persists jobs in JSONL under
~/.cronmcp/crontab. - Provides tools to list, add, update, and remove jobs.
- Supports one-shot schedules through
once: true. - Can emit scheduled tick events over an optional MCP notification channel.
Requirements
- Node.js
24+
Installation
Use it without installing globally:
npx cronmcp mcp
Or for local development:
npm install
npm run build
npm run dev -- mcp
Quick Start
- Start the MCP server:
npx cronmcp mcp
- If your MCP host supports notifications and you want tick events, enable channels:
npx cronmcp mcp --channels
The server uses stdio, so it is meant to be launched by an MCP client or wrapper rather than browsed directly in a terminal.
CLI Usage
MCP Server
npx cronmcp mcp
Starts the stdio MCP server with job persistence at ~/.cronmcp/crontab.
MCP Tools
The server currently exposes these tools:
cron_list_jobscron_add_jobcron_update_jobcron_remove_job
schedule values use local-time 5-field cron: minute hour day-of-month month day-of-week.
Push Channel
When started with --channels, the server:
- advertises the experimental MCP capability
hooman/channel - advertises
hooman/userwith pathmeta.user - advertises
hooman/sessionwith pathmeta.session - advertises
hooman/threadwith pathmeta.thread - emits
notifications/hooman/channelfor scheduled cron tick events
Each notification includes:
content: a JSON-encoded event payloadmeta.source:cron(channel contract)meta.user:schedulermeta.session: the cron job IDmeta.thread: omitted for cron tick events
The JSON-decoded content payload includes:
sourcejobprompttickedAt
Local Data
cronmcp stores local state under ~/.cronmcp/:
crontabfor JSONL job records
Each record shape:
{
"id": "job_34a56f84-cf7e-4f8d-810c-1777d9f4a5f1",
"schedule": "*/5 * * * *",
"prompt": "Check queue depth",
"once": false,
"createdAt": 1777098600000
}
Notes
- Cron expressions must be valid 5-field local schedules.
- Jobs must have a next run within the next year.
- At most 50 jobs can be scheduled at once.
- Recurring jobs auto-expire after 7 days (they fire one final time, then are removed).
- Recurring jobs use deterministic jitter to avoid synchronized fire spikes.
once: truejobs are removed after the first successful tick.- Incoming notification channels depend on MCP host support.
License
MIT. See LICENSE.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.