Cron Tools

io.github.basitalisandhuv0.1.1Updated Oct 5, 2026

Parse, explain and validate 5-field cron expressions and list upcoming runs in a time zone.

VerifiedSTDIODesktop onlyDeveloper Tools

Overview

AI-generated overview

Lets an assistant parse, explain, validate and schedule 5-field cron expressions, including upcoming run times in a chosen time zone.

What it does
Provides four tools for Vixie-style 5-field cron expressions: parse_cron breaks an expression into per-field values and normalises it, explain_cron returns a plain English sentence, validate_cron reports validity plus warnings, and next_runs lists upcoming run times with local offsets and UTC. It supports lists, ranges, steps, month and weekday names, 0 or 7 for Sunday, and the @hourly to @yearly macros. Time zone arithmetic uses Intl only.
When to use it
Useful when writing or reviewing crontab entries, GitHub Actions schedules or other cron-based schedulers and you want the expression checked or its next runs listed. Also handy for explaining an unfamiliar expression in plain language.
Requirements
Runs locally over stdio as an npm package (npx @basitalisandhu/mcp-cron-tools) or a Docker image; Node.js is needed for the npm route. No accounts, API keys, environment variables or headers are declared, and the server makes no network calls.
Before you install
Read-only: it parses and computes schedules and does not create, modify or delete cron jobs. The README recommends pinning the package version so an update cannot change what runs in your editor unnoticed. No credentials, files or telemetry are involved.

Installation

In SourceWeft

  1. Open Cron Tools in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

cron-tools MCP server

Parses, explains, validates and schedules 5-field cron expressions in the Vixie cron dialect (Linux crontab, GitHub Actions, most schedulers), including lists, ranges, steps, month and weekday names, 0 or 7 for Sunday and the @hourly to @yearly macros. Time zone arithmetic uses Intl only; there are no dependencies beyond the MCP SDK and zod.

Part of dev-mcp-servers. Stdio transport only; the server never opens a port.

Tools

ToolInputWhat it returns
parse_cronexpressionPer field: raw text, wildcard flag and every accepted value; plus the normalised expression and macro expansion.
explain_cronexpressionOne English sentence, for example */15 9-17 * * 1-5 is "At every 15th minute past every hour from 9 through 17 on Monday through Friday."
validate_cronexpressionvalid, errors, and warnings: both day fields restricted (OR semantics), days that never occur in the chosen months, 7 for Sunday, ? spelling, macro expansion.
next_runsexpression, count? (1 to 100), timezone? (IANA), from? (ISO 8601)Upcoming run times in local time with offset and in UTC. Wall-clock times skipped by a forward DST transition are not run that day; a repeated hour runs twice. Stops after ten years.

Install

Claude Code:

bash
claude mcp add cron-tools -- npx -y @basitalisandhu/[email protected]

Add -s user to make it available in every project. Any client that reads .mcp.json (Claude Code, Claude Desktop, Cursor):

json
{  "mcpServers": {    "cron-tools": {      "command": "npx",      "args": ["-y", "@basitalisandhu/[email protected]"]    }  }}

Pin the version as shown so that an update to the package cannot change what runs in your editor without you noticing. From a checkout, use "command": "node", "args": ["<path>/packages/cron-tools/dist/index.js"] after npm install && npm run build at the repository root.

What it touches

  • Network: None.
  • Local files: None.
  • Telemetry: none.

Notes

  • Seconds fields (6-field Quartz) and L, W, # are rejected with an explanation.
  • When both day-of-month and day-of-week are restricted, a day matches if either does, as in Vixie cron.

Build and test

bash
npm install        # at the repository rootnpm run build -w @basitalisandhu/mcp-cron-toolsnpm test -w @basitalisandhu/mcp-cron-tools

Tests use node:test and the SDK's in-memory transport; they do not reach the network.

Licence

MIT. See LICENSE.

Source: packages/cron-tools/README.md at commit 58c8c95

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.1LatestOct 5, 2026