MCP Commons

Cron Explainer

Audited · 2026.07

Turn a cron string into plain English plus the next N run times

by Cryptobyte

Free · Link-outDeveloper Toolsstdio · localOpen source · MIT8 toolsNew0 installsv0.0.9
cronschedulingdevopstimezones
Open source / endpoint ↗

AI security review

Audited · 2026.07model: claude-sonnet-5

This is a pure computation MCP server that parses cron expressions and computes schedules, DST behavior and statistics entirely offline. The tool surface in the manifest matches the descriptions in code and README, with no hidden tools or capability mismatches. No credentials, environment variables or filesystem access are used. A CI job explicitly fails the build if any networking import appears under src, and the only real network call in the repo is inside a GitHub Actions publish workflow that submits release metadata to the marketplace API, which runs on the forge's runners rather than inside the published server. No injection payloads or suspicious hostnames were found in tool metadata.

Tool surface

explain_cronDescribes an expression in plain English, with a per field breakdown and the detected dialect.
next_runsThe next N run times as ISO 8601 with offsets, plus a human delta ("in 3 hours 12 minutes").
previous_runsThe same in reverse, for "did my job run last night".
validate_cronValid or not, and on failure the offending field, the character position, what was expected, and a fix.
describe_schedule_statsRuns per hour, day, week, month and year, shortest and longest gap, and flags for pathological schedules.
check_dst_safetyThe runs a clock change skips or duplicates in a given year, with the exact instants and a recommendation.
compare_cronsTwo expressions side by side coinciding runs, subset relationships, and how they differ in English.
explain_specialThe macros: @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly and @reboot.

No egress allowlist declared.

Pricing

Free

Set by Cryptobyte, who runs this tool. MCP Commons does not host it and takes no payment for it.

Install and use

Requirements

  • Python 3.11 or newer
  • No API keys
  • No configuration
  • No network access
  • No environment variables

The only runtime dependency is the official MCP Python SDK. Everything else is the standard library: zoneinfo, datetime, calendar, re and dataclasses. The cron engine is implemented here rather than pulled from croniter or dateutil, which keeps the supply chain empty and the behaviour inspectable.

On Windows, zoneinfo has no system timezone database, so install tzdata alongside it (pip install tzdata). Linux and macOS already have one.


Install and run

Pick whichever suits you. uvx needs no install step at all:

uvx cron-explainer
pipx install cron-explainer
cron-explainer
git clone https://github.com/cryptobyte/cron-explainer
cd cron-explainer
pip install -e .
cron-explainer

The server speaks MCP over stdio, so running it by hand just leaves it waiting for a client on stdin. That is expected. Use cron-explainer --version to check the install.


Client configuration

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "cron-explainer": {
      "command": "uvx",
      "args": ["cron-explainer"]
    }
  }
}

Claude Code:

claude mcp add cron-explainer -- uvx cron-explainer

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "cron-explainer": {
      "command": "uvx",
      "args": ["cron-explainer"]
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "cron-explainer": {
      "type": "stdio",
      "command": "uvx",
      "args": ["cron-explainer"]
    }
  }
}

If you installed with pipx or pip instead of using uvx, replace the command with cron-explainer and drop the args.

Link-out server: reviewed by MCP Commons, hosted by the creator. These instructions are provided by the creator. You supply any credentials it needs.

Ratings and reviews

No reviews yet.

Sign in to leave a review. Sign in

Version history

VersionSourceReview
v0.0.9 · liveCryptobyte/cron-explainer@HEADpass
v1.0.0Cryptobyte/cron-explainer@7d75928f35c986b040796c2e0dfc33b74100d598pass