Cron Schedule Audit

Official registry Productivity

Validates cron expressions and finds DST bugs that make jobs silently skip or double-fire.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http cron-schedule-audit 'https://cron-schedule-audit-mcp.mcpize.run/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "cron-schedule-audit": {
            "type": "http",
            "url": "https://cron-schedule-audit-mcp.mcpize.run/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. cron-schedule-audit-mcp
  2. The bug this catches
  3. Tools
  4. Use it
  5. Part of a small suite
  6. License

cron-schedule-audit-mcp

An MCP server that validates cron expressions and computes DST-correct next-fire times using the real IANA timezone database — no moment-timezone or luxon dependency, just a hand-rolled fake-UTC-offset technique against the platform's own tz data.

The bug this catches

A cron job scheduled at 30 2 * * * (2:30am daily) in America/New_York silently never fires on the spring-forward date, because 2:00-2:59am doesn't exist that day. A job at 30 1 * * * (1:30am) fires twice on the fall-back date, because that hour is repeated. Neither failure throws an error or shows up in logs — it just looks like a flaky cron that "sometimes doesn't run." Verified against real 2026/2027 transition dates during testing (spring-forward 2027-03-14, fall-back 2026-11-01).

Also flags the day-of-month/day-of-week footgun almost everyone hits once: POSIX cron treats both fields as OR, not AND, when both are restricted.

Tools

validate_cron_expression

Syntax + semantic validation: OR-not-AND warning, every-minute footgun, day-of-month values some months don't have (31, 30, 29), a nudge to check DST risk for anything in the 1-3am window. Returns a plain-English explanation of what the expression means.

get_next_fire_times

Next N fire times, DST-aware. If a scheduled local time falls in a spring-forward gap it's flagged as skipped; if it falls in a fall-back overlap, both real firings are returned as ambiguous.

detect_dst_risk

Scans a full year ahead and reports every date where the schedule collides with a DST transition — run this once on any job scheduled in the 1-4am local window before you ship it.

Use it

Hosted (recommended): MCPize — free tier, $7/mo Pro.

Self-host:

npm install
node server.js

Part of a small suite

mcp-schema-audit-mcp, regex-safety-audit-mcp, claude-cost-audit-mcp.

License

MIT

Frequently asked questions

What is Cron Schedule Audit?

Validates cron expressions and finds DST bugs that make jobs silently skip or double-fire.

How do I install Cron Schedule Audit?

It runs as a remote server. In Claude Code: claude mcp add --transport http cron-schedule-audit 'https://cron-schedule-audit-mcp.mcpize.run/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Cron Schedule Audit need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Cron Schedule Audit open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Cron Schedule Audit?

It is published by tylerscomic-lab. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.