澳新节假日与学期计算服务

提供澳大利亚和新西兰地区的公共节假日、学校学期及工作日逻辑计算服务,数据经过官方验证,适用于2026和2027年。

  • by TyrenTemp
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 TyrenTemp/anz-schedule-brain

使用说明

🗓 anz日程大脑

澳新银行公共假期、学期和工作日逻辑所需的唯一MCP服务器——2026年和2027年100%验证,生产就绪。

实时SSE端点: https://anz-schedule-brain-production.up.railway.app/sse github: https://github.com/TyrenTemp/anz-schedule-brain


为什么LLMs Hallucinate ANZ日期

当2026年西澳大利亚日到来时,问问任何边境模特。你可能会得到6月1日,但问到2025年,你经常会得到错误的答案。询问阿德莱德杯、堪培拉日或和解日,错误率攀升至40%以上。

为什么? 因为浮动假期是根据以下规则计算的 “9月的第四个星期一” 或 “最近的5月27日星期一” 不要逐字出现在训练语料库中。LLM模式匹配而不是计算,它们经常:

  • 引用错误的国王生日日期(WA在 九月,而不是六月)
  • 新西兰和澳大利亚的时间表相冲突(新西兰有马塔里基;澳大利亚没有州有)
  • 完全忘记州特定的日子(南澳大利亚州的公告日,北领地的野餐日)
  • 复活节改变第一学期边界时,错误计算学期
  • 将新西兰周一化规则错误地应用于澳大利亚各州

anz日程大脑 通过为所有9个澳新银行地区提供经官方政府公报验证的数据支持的MCP工具层,永久解决了这一问题。


2026年和2027年100%验证覆盖率

公共假期——9个地区

地区 节假日 州特定亮点
🇳🇿 新西兰 11 怀唐伊日,马塔里基(因年份而异),劳动节(10月4日星期一)
🟦 VIC 13 劳动节(3月2日星期一),AFL总决赛星期五,墨尔本杯日
🟦 新南威尔士州 12 银行假日(8月1日星期一)、劳动节(10月1日,星期一)
🟦 昆士兰州 11 劳动节(5月1日星期一)
🟦 WA 9 华盛顿日 (6月1日星期一), 国王的生日 (第四个星期一) 九月)
🟦 SA 11 阿德莱德杯 (5月2日星期一), 复活节,公告日
🟦 TAS 11 每天八小时 (3月2日星期一),皇家霍巴特帆船赛(2月2日,星期一)
🟦 NT 11 五一节 (5月1日星期一), 野餐日 (8月1日星期一)
🟦 行动 11 堪培拉日 (3月2日星期一), 和解日 (星期一≈5月27日)

华盛顿州是唯一的大陆州 没有 复活节星期六是公共假日——法学硕士的一个常见错误。

学校条款——每个地区4个

每个地区都有2026年和2027年的四个学期,计算了上学天数(不包括学期窗口内的公共假期)。涵盖全部9个地区。


三个工具,一个服务器

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": []
  }
}

开发者工具包与按点击付费

开发工具包 按点击付费
计费 统一月费率 每次通话支付x402微额
认证 长寿 x-api-key Nevermined代理为每个请求注入密钥
最适合 团队、CI/CD、聊天机器人 代理工作流程、一次性集成
流量限制 无限制 每键可配置

在每个SSE连接上将密钥作为HTTP标头传递:

x-api-key: sk-anz-<your-key-here>

快速入门:克劳德桌面

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "anz-schedule-brain": {
      "command": "node",
      "args": ["/path/to/anz-schedule-brain/dist/index.js"]
    }
  }
}

重新启动克劳德桌面。这三个工具会自动出现。

快速入门:光标

增添 .cursor/mcp.json 在您的项目中(或全球 ~/.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>"
      }
    }
  }
}

快速入门:地方发展

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 transport

铁路自助托管

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 URL

集 MCP_API_KEY 在铁路的环境仪表板中锁定访问。


建筑

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)

所有假期数据都是 静态类型化对象 -没有数据库,没有外部API调用,没有延迟。


许可证

麻省理工学院——见 许可证 了解详情。 商业用途需要有效的API密钥。不允许未经身份验证的生产使用。