anz-schedule-brain
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@anz-schedule-brain Is 2026-06-01 a public holiday in WA?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π anz-schedule-brain
The only MCP server you need for ANZ public holidays, school terms, and business-day logic β 100% verified for 2026 and 2027, production-ready.
Live SSE endpoint:
https://anz-schedule-brain-production.up.railway.app/sseGitHub:https://github.com/TyrenTemp/anz-schedule-brain
Why LLMs Hallucinate ANZ Dates
Ask any frontier model when Western Australia Day is in 2026. You'll probably get June 1 β but ask about 2025 and you'll often get the wrong answer. Ask about Adelaide Cup, Canberra Day, or Reconciliation Day and the error rate climbs above 40%.
Why? Because floating holidays computed from rules like "4th Monday of September" or "Monday nearest May 27" don't appear verbatim in training corpora. LLMs pattern-match rather than compute, and they frequently:
Cite the wrong King's Birthday date (WA observes it in September, not June)
Conflate NZ and Australian schedules (NZ has Matariki; no Australian state does)
Forget state-specific days entirely (SA's Proclamation Day, NT's Picnic Day)
Miscalculate school terms when Easter shifts the Term 1 boundary
Apply NZ Mondayisation rules to Australian states incorrectly
anz-schedule-brain solves this permanently by providing an MCP tool layer backed by data verified against official government gazettes for all 9 ANZ regions.
Related MCP server: mcp-jp-calendar
100% Verified 2026 & 2027 Coverage
Public Holidays β 9 Regions
Region | Holidays | State-specific highlights |
π³πΏ NZ | 11 | Waitangi Day, Matariki (varies by year), Labour Day (4th Mon Oct) |
π¦ VIC | 13 | Labour Day (2nd Mon Mar), AFL Grand Final Friday, Melbourne Cup Day |
π¦ NSW | 12 | Bank Holiday (1st Mon Aug), Labour Day (1st Mon Oct) |
π¦ QLD | 11 | Labour Day (1st Mon May) |
π¦ WA | 9 | WA Day (1st Mon Jun), King's Birthday (4th Mon Sep) |
π¦ SA | 11 | Adelaide Cup (2nd Mon May), Easter Sunday, Proclamation Day |
π¦ TAS | 11 | Eight Hours Day (2nd Mon Mar), Royal Hobart Regatta (2nd Mon Feb) |
π¦ NT | 11 | May Day (1st Mon May), Picnic Day (1st Mon Aug) |
π¦ ACT | 11 | Canberra Day (2nd Mon Mar), Reconciliation Day (Mon β 27 May) |
WA is the only mainland state without Easter Saturday as a public holiday β a common LLM mistake.
School Terms β 4 per Region
Every region has four terms for 2026 and 2027, with computed school-day counts (excluding public holidays within the term window). All 9 regions covered.
Three Tools, One Server
is_public_holiday(date, region)
// Request
{ "date": "2026-06-01", "region": "WA" }
// Response
{
"summary": "2026-06-01 (Monday) IS a public holiday in WA: \"Western Australia Day\" [regional].",
"data": {
"query": { "date": "2026-06-01", "day_of_week": "Monday", "region": "WA" },
"result": {
"is_public_holiday": true,
"holiday": { "name": "Western Australia Day", "date": "2026-06-01", "type": "regional", "region": "WA" }
},
"all_holidays_for_region": [ ... ]
}
}get_school_term(date, region)
// Request
{ "date": "2026-03-15", "region": "TAS" }
// Response
{
"summary": "2026-03-15 (Sunday) is in TAS Term 1 2026 (Week 6, 19 school days remaining).",
"data": {
"result": {
"in_school_term": true,
"current_term": {
"label": "Term 1 2026", "start": "2026-02-04", "end": "2026-04-09",
"week_number_in_term": 6, "school_days_elapsed": 25, "school_days_remaining": 19
}
}
}
}get_next_business_day(date, region)
// Request
{ "date": "2026-04-25", "region": "NZ" }
// Response
{
"summary": "Next business day after 2026-04-25 (Saturday) in NZ is 2026-04-27 (Monday), 2 calendar days ahead.",
"data": {
"input_date_status": { "is_business_day": false, "is_weekend": true, "is_public_holiday": true, "public_holiday_name": "ANZAC Day" },
"next_business_day": { "date": "2026-04-27", "day_of_week": "Monday", "calendar_days_ahead": 2 },
"skipped_due_to": []
}
}Developer Kit vs. Pay-Per-Click
Developer Kit | Pay-Per-Click | |
Billing | Flat monthly rate | x402 micropayment per call |
Auth | Long-lived | Nevermined proxy injects key per request |
Best for | Teams, CI/CD, chatbots | Agentic workflows, one-off integrations |
Rate limit | Unlimited | Per-key configurable |
Pass your key as an HTTP header on every SSE connection:
x-api-key: sk-anz-<your-key-here>Quick-Start: Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"anz-schedule-brain": {
"command": "node",
"args": ["/path/to/anz-schedule-brain/dist/index.js"]
}
}
}Restart Claude Desktop. The three tools appear automatically.
Quick-Start: Cursor
Add to .cursor/mcp.json in your project (or global ~/.cursor/mcp.json):
{
"mcpServers": {
"anz-schedule-brain-remote": {
"url": "https://anz-schedule-brain-production.up.railway.app/sse",
"headers": {
"x-api-key": "sk-anz-<your-key-here>"
}
}
}
}Quick-Start: Local Development
git clone https://github.com/TyrenTemp/anz-schedule-brain.git
cd anz-schedule-brain
npm install
cp .env.example .env # no key needed for local dev
npm run dev # tsx watch, stdio transportSelf-Hosting on Railway
npm install -g @railway/cli
railway login
railway init # link to your Railway project
railway variables set MCP_TRANSPORT=sse
railway up # build + deploy
railway domain # generates your public URLSet MCP_API_KEY in Railway's environment dashboard to lock down access.
Architecture
src/
βββ index.ts # FastMCP server, auth middleware, transport switcher
βββ data/
βββ holidays.ts # ALL_PUBLIC_HOLIDAYS static object (9 regions Γ 2026+2027, O(1) lookup map)
βββ schoolTerms.ts # ALL_SCHOOL_TERMS static object (9 regions Γ 4 terms Γ 2026+2027)All holiday data is a static typed object β no database, no external API calls, no latency.
License
MIT β see LICENSE for details. Commercial use requires a valid API key. Unauthenticated production use is not permitted.
Available Tools
3 toolsget_next_business_dayA
Given a date and ANZ region (NZ, VIC, NSW, QLD, WA, SA, TAS, NT, or ACT), return the next business day (MondayβFriday, excluding public holidays). Returns a summary string and a structured data object that reports the input date's status and lists any holidays skipped during the search.
Inputs: date (required), region (required).
get_school_termA
Determine whether a given date falls within a school term in a specified ANZ region (NZ, VIC, NSW, QLD, WA, SA, TAS, NT, or ACT). Returns a summary string and a structured data object with term details, week number, school days elapsed/remaining, and the full 2026β2027 term schedule for that region.
Inputs: date (required), region (required).
is_public_holidayA
Check whether a given date is a public holiday in a specified ANZ region (NZ, VIC, NSW, QLD, WA, SA, TAS, NT, or ACT). Returns a summary string and a structured data object with the holiday name, type (national/regional), and a full chronological list of 2026β2027 holidays for that region.
Inputs: date (required), region (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 3 tools
Each tool targets a distinct aspect of ANZ scheduling: public holidays, school terms, and business days. There is no overlap between checking a date's holiday status, determining term information, or calculating the next business day.
All tool names use lowercase snake_case with a verb prefix ('is_' for a boolean check, 'get_' for retrieval). The pattern is consistent and predictable, though the mix of 'is_' and 'get_' is a minor deviation from a uniform 'get_' style.
Three tools form a well-scoped set for a niche ANZ schedule domain. Each tool provides essential functionality without unnecessary bloat, fitting comfortably in the ideal 3-15 range.
The tool set covers the core scheduling needs: public holiday lookup (including full region lists), school term status and schedules, and business day calculation. No obvious gaps exist for the stated purpose, as all responses include relevant structured data and summaries.
Maintenance
Related MCP Connectors
Public holidays for 150+ countries, business-day maths and timezone lookup
Reliable Australian business-day, public-holiday and deadline tools for AI agents.
Australian national and state public holidays.
Count workdays, office days and PTO days, or list bank holidays and school breaks.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables Japanese business calendar operations such as holiday checking, business day calculations, payment date calculation, fiscal year determination, and deadline tracking, all locally without external API.MIT
- AlicenseAqualityDmaintenanceProvides accurate Japanese business day utilities including holiday checks, settlement day calculations, and fiscal period determination, all with embedded holiday data from 2020-2030.762 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Japanese public holidays and calculating business days, including holiday checks, holiday lists, and business-day arithmetic.MIT
- AlicenseAqualityBmaintenanceProvides accurate time zone conversions, DST-safe scheduling, holidays for 200+ countries, business day calculations, and cross-zone meeting slot suggestions.51MIT