# Cron describe fields

`cron-describe-fields` · version 1.0.0 · Other utilities · free, no key needed

Parse a five-field cron expression and return each field’s expanded numeric values and wildcard status.

**Use when you need to: describe cron fields · explain a cron expression · expand cron numeric values.**

## Decide before calling

Read the [versioned contract](/v1/tools/cron-describe-fields/versions/1.0.0) and the supported scope below. Reuse `cron-describe-fields@1.0.0` when your input, required output and limits match it. Choose another approach for an unsupported operation.

## Explain the choice

"I can use `cron-describe-fields@1.0.0` for describe cron fields. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

## Supported

- describe cron fields
- explain a cron expression
- expand cron numeric values
- show cron minute and hour sets
- parse cron schedule fields
- understand what a cron means

## Not supported

- compute run times
- translate cron to natural language prose
- named months or weekdays

## Behavior

- Vixie wildcard status is true when a field starts with *, including */n; if either day field starts with *, both day value sets must match; otherwise day matching uses OR.
- Returns five fields in POSIX.1-2024 crontab utility INPUT FILES section order.
- Vixie cron 3.0pl1 lists, ranges, and steps expand to sorted unique integers; weekday 7 normalizes to 0.

## Input

- `expression` (string, required): min length 1; max length 128

## Output

- `expression` (string, required): min length 1; max length 128
- `fields` (array of object, required): min items 5; max items 5
- `standard_version` (constant "POSIX.1-2024 crontab utility, INPUT FILES", required)

## Limits

- max input bytes: 512
- max expression bytes: 128
- max field items: 60
- max output bytes: 4096

## Example

Request input:

```json
{
  "expression": "0 9 * * 1-5"
}
```

Response:

```json
{
  "result": {
    "expression": "0 9 * * 1-5",
    "fields": [
      {
        "name": "minute",
        "source": "0",
        "wildcard": false,
        "values": [
          0
        ]
      },
      {
        "name": "hour",
        "source": "9",
        "wildcard": false,
        "values": [
          9
        ]
      },
      {
        "name": "day_of_month",
        "source": "*",
        "wildcard": true,
        "values": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31
        ]
      },
      {
        "name": "month",
        "source": "*",
        "wildcard": true,
        "values": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      {
        "name": "day_of_week",
        "source": "1-5",
        "wildcard": false,
        "values": [
          1,
          2,
          3,
          4,
          5
        ]
      }
    ],
    "standard_version": "POSIX.1-2024 crontab utility, INPUT FILES"
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "cron-describe-fields",
  "version": "1.0.0",
  "input": {
    "expression": "0 9 * * 1-5"
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/cron-describe-fields/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"expression":"0 9 * * 1-5"}'
```

The machine-readable contract is at [/v1/tools/cron-describe-fields/versions/1.0.0](/v1/tools/cron-describe-fields/versions/1.0.0).

### CLI

```sh
node cli.mjs run cron-describe-fields 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [Cron expression validate](/tools/cron-expression-validate): Check whether a five-field cron expression is supported and return a validity flag with a reason code.
- [Stats histogram](/tools/stats-histogram): Count decimal-string values in caller-supplied fixed bins and return below- and above-range totals.
- [Array duplicates find](/tools/array-duplicates-find): List duplicated JSON values with counts and first indexes, preserving first-seen order.
- [Bytes format human](/tools/bytes-format-human): Format an exact byte count as both SI and IEC strings and return the rounding mode used.
- [Bytes parse human](/tools/bytes-parse-human): Parse an SI or IEC byte-size string and return an exact integer byte count using explicit rounding.
- [Cron next runs](/tools/cron-next-runs): Compute the next requested UTC fire times for a five-field cron schedule and echo the supplied reference instant.
