
Mycal
io.github.Junhui20由 GitHub 账号 Junhui20 发布v0.1.4更新于 Oct 24, 2026
Malaysia public holidays, school terms, business days & a leave optimizer (13 tools).
概览
本地 MCP 服务器,让助手查询马来西亚各州公共假期、学校学期与考试、工作日计算及请假规划。
- 可以做什么
- 按年份、州属、类型或月份查询马来西亚公共假期,并判断某日期是假期、周末、工作日还是上课日
- 查找下一个假期、日期区间内的假期、长周末以及近期数据变更
- 计算两个日期之间的工作日数量,或在某日期上增加若干工作日
- 通过请假优化器建议最省假的请假方案,以获得最长连续假期
- 列出各州属并将 KL、JB 等别名解析为规范州属代码
- 获取学校学期、学校假期以及 SPM、STPM、MUET、PT3 考试时间表
- 适用场景
- 适合处理马来西亚日期相关事务:围绕各州假期与周末安排会议或截止日期、围绕长周末规划年假,或查询学校学期与考试时间用于安排。
- 运行要求
- 通过 npx 以本地进程方式运行 npm 包 @catlabtech/mycal-mcp-server,需要 Node.js 以及访问该项目托管 API 的网络连接。未声明需要 API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Mycal,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Malaysia Calendar API
Malaysia's most complete calendar API — public holidays, school calendar, exam schedules, and MCP server for AI tools.
[npm: mycal-core] [npm: mycal-sdk] [npm: mycal-mcp-server] [License: MIT] [Deploys on Cloudflare]
Data source: Official government gazette (JPM BKPP), JAKIM, KPM, MPM. Not scraped from third-party websites.
Links
- Website + demo: https://mycal-web.pages.dev
- Developer docs: https://mycal-web.pages.dev/docs
- API base URL: https://mycal-api.huijun00100101.workers.dev/v1
- GitHub: https://github.com/Junhui20/malaysia-calendar-api
Packages
Published to npm under the @catlabtech scope:
Features
- 50 public holidays for 2026 from official gazette (Warta Kerajaan) — federal + state-specific
- 13 states + 3 Federal Territories with aliases (KL, JB, Penang, etc.)
- Weekend-aware — Kedah/Kelantan/Terengganu use Fri-Sat (Kumpulan A), all others use Sat-Sun (Kumpulan B), with Johor's historical switch tracked
- Cuti ganti (replacement holiday) auto-calculation per state weekend config
- Business day calculator — per-state, holiday-aware
- School calendar — terms, holidays, KPM cuti perayaan (Lampiran A/B/C)
- Exam schedules — SPM, STPM, MUET, PT3
- iCal subscription feeds — per-state
.icsfeeds - MCP Server for AI agents — 13 tools for Claude, ChatGPT, and other assistants
- TypeScript SDK (
@catlabtech/mycal-sdk) with typed responses - OpenAPI 3.1 spec + interactive docs
- Trilingual — Bahasa Melayu, English, Chinese names (三语支持)
Quick Start
API Examples
Base URL: https://mycal-api.huijun00100101.workers.dev/v1
List holidays
Check a date
Response:
Business days
School calendar
Next holiday
State resolution
Full API Reference
See the full OpenAPI 3.1 spec for request/response schemas.
SDK Usage
MCP Server
Connect the Malaysia Calendar API to Claude, ChatGPT, or any MCP-compatible AI assistant.
Setup with Claude Desktop / Claude Code
Add to your MCP configuration:
Available Tools (13)
State Codes
State aliases are case-insensitive. Use GET /v1/states/resolve?q=kl to resolve any alias to the canonical code.
Project Structure
Data Sources
All data is sourced from official Malaysian government publications:
Holiday data includes gazette references (e.g., P.U.(B) 305/2025) for traceability.
Deploy
Two parts deploy independently:
API → Cloudflare Workers
Website → Cloudflare Pages
First-time Pages setup:
- Create a Pages project named
mycal-webin the Cloudflare dashboard. - Either connect the GitHub repo for automatic builds, or rely on the GitHub Actions workflow (
.github/workflows/deploy.yml) to push viawrangler pages deploy. - Required GitHub secrets:
CLOUDFLARE_API_TOKEN,CLOUDFLARE_ACCOUNT_ID.
CI/CD
GitHub Actions handles:
- PR gate — Zod schema validation + cross-source checks on every PR
- Deploy — On merge to
main: build and deploy API to Workers + Web to Pages in parallel - Daily scrape — Government portal monitoring for updates
- Rukyah monitor — Islamic date confirmation tracking
Contributing
See CONTRIBUTING.md for how to:
- Report a missing holiday or cuti peristiwa
- Fix data errors
- Add new features
License
MIT
来源:README.md,提交 975b7a0
工具
0版本历史
1- v0.1.4最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分