Schedules on the nth or last business day
Job schedules that skip weekends and public holidays, which cron cannot express: "3rd business day of the month at 09:00", "last business day", "every Monday, or the next business day if it is a holiday", or any cron with a holiday rule. Returns the next runs and whether it runs today. DST-aware. Use for payroll, billing, reports and batch jobs.
Try it
Runs the real tool over MCP. Edit the arguments and run. Uses your daily free calls.
{
"rule": "nth_business_day",
"description": "3rd business day of every month at 09:00 (Europe/London); holidays: GB public holidays",
"timezone": "Europe/London",
"adjust": "none",
"from": "2026-11-10T00:00:00+00:00",
"count": 2,
"runs": [
{
"date": "2026-12-03",
"datetime": "2026-12-03T09:00:00+00:00",
"utc": "2026-12-03T09:00:00Z",
"weekday": "Thursday",
"scheduled_date": "2026-12-03",
"adjusted": false,
"is_business_day": true
}
],
"check": {
"date": "2026-11-10",
"weekday": "Tuesday",
"is_business_day": true,
"reason": null,
"runs": false,
"run_times": []
}
}
The result shown before you run is a saved example response.
Use it from your agent
Add the MCP server once and your agent can call business_day_schedule and the other 22 tools.
Claude Code
One command in your terminal.
claude mcp add --transport http date-math https://date-math.datemath.workers.dev/mcp
Any MCP client
Claude Desktop, Cursor, VS Code, Windsurf.
{
"mcpServers": {
"date-math": {
"url": "https://date-math.datemath.workers.dev/mcp"
}
}
}HTTP + x402
POST JSON; pay the 402 with any x402 client.
curl -X POST https://date-math.datemath.workers.dev/v1/business_day_schedule \
-H "Content-Type: application/json" \
-d '{"rule":"nth_business_day","n":3,"timezone":"Europe/London","country":"GB","from":"2026-11-10","count":2}'Questions
Common questions, answered with real results from the tool.
How do I run a job on the 3rd business day of every month?
Use rule nth_business_day with n: 3, a time, a time zone and a country. Weekends and that country's public holidays are skipped when counting. In the UK in January 2027 the 3rd business day is 2027-01-06, because New Year's Day and the weekend do not count.
How do I run a job every Monday, or the next business day when Monday is a holiday?
Use rule weekly with weekdays [1] and adjust next (the default). In the UK, Monday 2026-12-28 is the Boxing Day substitute holiday, so that week's run moves to Tuesday 2026-12-29.
How does a job know whether it should run today?
Every result includes check: whether the schedule runs on check_date (today by default), at what times, and, if a run was scheduled that day but moved, where it moved to. For the last business day of the month in the US, 2026-12-31 is a run day.