AI agents are very good at reasoning.
But there are some things I don't think they should be reasoning their way through at all.
Australian business-day calculations are one of them.
A question like:
"What is one NSW business day after 24 December 2021?"
looks simple.
But the answer depends on more than just skipping Saturday and Sunday.
Christmas Day fell on Saturday that year. Boxing Day fell on Sunday. Their substitute public holidays then fell on Monday and Tuesday.
So:
24 Dec 2021 + 1 NSW business day
= 29 Dec 2021
An AI model might get that right.
But for something deterministic, I'd rather it doesn't have to guess.
So I built a tool for it
I originally built a small MCP tool that could answer one question:
Is this date a business day in this Australian state or territory?
I kept expanding it and it has now become the first module of a project I'm calling AU Agent Utilities.
The idea is simple:
Give AI agents reliable Australian utilities for things where local rules and deterministic calculations matter.
The Business Day Engine is currently at v1.2.0 and exposes four MCP tools.
1. Check an Australian business day
check_australian_business_day
Given a date and jurisdiction, it determines whether the date is a business day and can return:
- whether it is a business day
- whether the reason is a weekend or public holiday
- the applicable holiday name
- the previous business day
- the next business day
For example:
Date: 2021-12-27
State: NSW
returns that the date is not a business day because it is:
Christmas Day (substitute day)
with the next business day being:
2021-12-29
2. Add or subtract business days
calculate_australian_business_date
This lets an agent move forward or backward by a specified number of business days.
For example:
Start date: 2021-12-24
State: NSW
Business days: 1
returns:
2021-12-29
The engine skips the weekend and the applicable substitute public holidays.
Negative numbers can also be used to move backwards.
3. Count business days between dates
count_australian_business_days
This counts business days across a date range while making the inclusion rules explicit.
That matters because:
"How many business days are between these two dates?"
is ambiguous unless you know whether the start date and end date should be included.
The tool allows those rules to be supplied rather than leaving the agent to infer them.
It can also return information such as:
- business days
- non-business days
- weekend days
- public-holiday weekdays
- holidays encountered
4. Calculate Australian deadlines
calculate_australian_deadline
This is probably the most useful expansion so far.
It can calculate deadlines using either:
- calendar days
- business days
and explicitly control:
- whether the start date is counted
- whether a non-business deadline should roll forward
- whether it should roll backward
- whether it should remain unchanged
For example:
Start date: 2021-12-20
State: NSW
Days: 7
Day type: calendar
Roll: next
The unadjusted date is:
2021-12-27
But that is a substitute public holiday.
The final deadline therefore becomes:
2021-12-29
Australian jurisdictions
The engine currently supports:
- ACT
- NSW
- NT
- QLD
- SA
- TAS
- VIC
- WA
It handles weekends, state and territory public holidays, and substitute public holidays where represented in the underlying holiday dataset.
Local, regional and industry-specific holidays are not guaranteed unless they are represented in that jurisdiction's dataset.
Why make this an MCP?
The interesting part for me isn't really date calculation.
It's the broader pattern.
AI agents increasingly need to interact with real workflows, but a lot of local rules sit in the awkward space between:
"the model probably knows this"
and:
"I actually need this answer to be deterministic."
Business-day calculations are one example.
There are plenty of others in Australia:
- business and entity verification
- addresses and location data
- government identifiers
- regulatory dates
- state-specific rules
- local formatting and validation
- other structured Australian datasets
Rather than packing all of that knowledge into prompts and hoping the model applies it correctly, I'm interested in turning those problems into small tools an agent can call when needed.
Deployment
AU Agent Utilities is open source.
The current MCP is deployed remotely on Cloudflare Workers:
https://au-business-day.auagentutilities.workers.dev/mcp
It is also published in the Official MCP Registry as:
io.github.creatorhub121/au-business-day
and is available through Smithery.
The source is on GitHub:
https://github.com/creatorhub121/au-business-day
What's next?
The Business Day Engine is only the first module.
I'm now looking for the next Australian-specific gap worth turning into a reliable agent tool.
So I'm particularly interested in hearing from people building agents or automations:
What Australian data, rule or verification task do you currently make the model figure out itself that you'd rather have a deterministic tool for?
Top comments (0)