mcpField
H
Hari Libur Indonesia

Hari Libur Indonesia

本地服务
github.com/EzkielynaGroup生产力02 天前更新

关于 Hari Libur Indonesia

Hari Libur Indonesia 是离线 MCP 服务,提供 2025—2027 年印度尼西亚法定节假日和集体休假数据,并支持日期与工作日计算,适用于排期和截止日期估算。数据附有法令来源,还可设置集体休假和周六是否计为休息日。

主要功能

  1. 01按年份或月份列出假日
  2. 02检查假日及工作日状态
  3. 03计算日期区间内工作日
  4. 04按工作日偏移计算日期
  5. 05自定义集体休假和周六规则

适用场景

  1. 01估算发货和 SLA 截止日期
  2. 02确认某日是否为工作日
  3. 03排除假日统计工作日

MCP 相关

向 MCP 客户端提供四种工具,用于列出印度尼西亚假日、检查日期、统计工作日以及按工作日偏移计算日期。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ezkielynagroup-mcp-hari-libur-indonesia": {
"command": "npx",
"args": [
"-y",
"mcp-hari-libur-indonesia"
]
}
}
}
启动命令npx -y mcp-hari-libur-indonesia

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-hari-libur-indonesia1.0.0

工具

4

收录的工具列表 · 更新于 2 天前

参数类型必填说明
yearinteger是年份(2025、2026、2027)。
monthinteger否可选月份 1-12。
include_cuti_bersamaboolean否包括 cuti bersama(集体休假)。默认值为 true。

详细介绍

mcp-hari-libur-indonesia

一个 MCP 服务,收录了2025、2026 和 2027 年印度尼西亚国家公共假日和 cuti bersama(集体休假),数据取自部长联合法令(SKB 3 Menteri),并可据此计算工作日:某个日期是否为工作日、两个日期之间有多少个工作日,以及从现在起 N 个工作日后的日期。离线运行,无需 API 密钥,仅一个文件,零依赖。

示例:“如果订单于 2026 年 3 月 17 日收到,SLA 为 3 个工作日,最晚什么时候发货?” → 2026 年 3 月 27 日(不计 Nyepi 和 Lebaran 假期)。

🇮🇩 印度尼西亚语:请见下文。

  • 每个假日都注明法令编号和来源链接;每个回答都以来源行结尾。
  • 可选择是否将 cuti bersama 计为休息日(它是休假,不是公共假日),以及周六是否为工作日。
  • 时区安全:日期是纯日历日期,不会经过你所在机器的时区转换。“今天”指 Asia/Jakarta(WIB)的今天。
  • 回答使用印度尼西亚语,并附带字段名为英文的 JSON 块。

工具

工具功能输入
daftar_libur列出某年的国家假日和 cuti bersama(可选指定月份),并提供星期、类型和 SKB 来源。year(2025-2027)、month(1-12)、include_cuti_bersama(默认 true)
cek_tanggal某个日期是国家假日、cuti bersama、周末还是工作日?提供所有原因(例如“Idulfitri + Sunday”)。date(默认今天)、cuti_bersama_off、saturday_working
hitung_hari_kerja计算两个日期之间的工作日(默认包含首尾日期),并列出落在工作日的假日。若日期范围顺序颠倒,则会交换并标记。start、end、count_start(默认 true)、cuti_bersama_off、saturday_working
hari_kerja_berikutnya计算某个日期之后(或之前,N 为负数)N 个工作日的日期。起始日期不计入。若 n: 0,日期本身是工作日时返回该日期,否则返回下一个工作日。适用于 SLA、截止日期和发货时间估算。date(默认今天)、n(-750..750)、cuti_bersama_off、saturday_working

后三种工具共用的选项:

选项默认值含义
cuti_bersama_offtrue将 cuti bersama 视为休息日。对于 cuti bersama 期间仍正常工作的企业,请设为 false。
saturday_workingfalse每周工作 6 天:周六为工作日。周六遇到国家假日仍为休息日。

日期格式:YYYY-MM-DD(也支持 DD-MM-YYYY、DD/MM/YYYY、DD.MM.YYYY、today、hari ini)。US 日期顺序 MM/DD/YYYY 会被拒绝,不会被误读。无效日期(例如 2026-02-29、2026-04-31)会被拒绝并说明原因。

hari_kerja_berikutnya 使用 {"date": "2026-12-23", "n": 5} 返回的 JSON 示例(已缩短):

{
  "date": "2026-12-23",
  "n": 5,
  "result": "2027-01-04",
  "result_weekday": "Monday",
  "skipped_holidays": [
    { "date": "2026-12-24", "holidays": [{ "type": "cuti_bersama", "name": "Cuti bersama Kelahiran Yesus Kristus" }] },
    { "date": "2026-12-25", "holidays": [{ "type": "libur_nasional", "name": "Kelahiran Yesus Kristus" }] },
    { "date": "2027-01-01", "holidays": [{ "type": "libur_nasional", "name": "Tahun Baru 2027 Masehi" }] }
  ],
  "options": { "cuti_bersama_off": true, "saturday_working": false, "timezone": "Asia/Jakarta" }
}

安装

需要 Node.js 18+(node -v)。使用 npx 时无需安装其他内容:你的应用会运行 npx -y mcp-hari-libur-indonesia。

Claude Desktop:Settings → Developer → Edit Config(claude_desktop_config.json),然后完全退出并重新打开 Claude Desktop。

{
  "mcpServers": {
    "hari-libur": {
      "command": "npx",
      "args": ["-y", "mcp-hari-libur-indonesia"]
    }
  }
}

Claude Code

claude mcp add hari-libur -- npx -y mcp-hari-libur-indonesia

添加 --scope user,即可在每个项目中使用。运行 claude mcp list 进行检查。

Cursor:~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目),使用与 Claude Desktop 相同的 JSON。

OpenCode:项目中的 opencode.json,或 ~/.config/opencode/opencode.json。

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hari-libur": {
      "type": "local",
      "command": ["npx", "-y", "mcp-hari-libur-indonesia"],
      "enabled": true
    }
  }
}

Windows:如果应用无法启动 npx,请使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "mcp-hari-libur-indonesia"]。

从源代码安装:运行 git clone https://github.com/EzkielynaGroup/mcp-hari-libur-indonesia.git,然后使用 "command": "node" 和 "args": ["/full/path/to/mcp-hari-libur-indonesia.mjs"]。

无需设置环境变量。

数据来源

假日列表以 JSON 块的形式内置于 mcp-hari-libur-indonesia.mjs 中(位于 BEGIN HOLIDAY DATA 和 END HOLIDAY DATA 之间),包含每年的法令和来源链接。核查日期:2026 年 11 月 11 日。

年份法令(宗教事务部长、劳工部长、国家机关改革部长联合法令)签署日期天数来源
20252024 年第 1017 号、2024 年第 2 号、2024 年第 2 号;由 2025 年第 933 号、2025 年第 1 号、2025 年第 3 号修订(2025 年 8 月 7 日签署:新增 2025 年 8 月 18 日的集体休假)2024 年 10 月 14 日17 天全国法定假日 + 11 天集体休假(10 天 + 新增 1 天)Kemenko PMK,Setneg(修订)
20262025 年第 1497 号、2025 年第 2 号、2025 年第 5 号2025 年 9 月 19 日17 天全国法定假日 + 8 天集体休假Setneg
20272026 年第 1205 号、2026 年第 3 号、2026 年第 2 号2026 年 9 月 15 日18 天全国法定假日 + 8 天集体休假Setneg

关于数据须知:

  • 开斋节日期。 每份联合法令都说明,斋月 1 日、开斋节和古尔邦节的日期将在观月确认会议后,由宗教事务部长通过决定予以确认。2025 年和 2026 年确认的日期与联合法令一致(根据观月确认结果的新闻报道,1446 H 开斋节为 2025 年 3 月 31 日,1446 H 古尔邦节为 2025 年 6 月 6 日,1447 H 开斋节为 2026 年 3 月 21 日,1447 H 古尔邦节为 2026 年 5 月 27 日)。2027 年的日期尚未确认,因此应将 2027 年的开斋节日期视为计划日期。
  • 2027 年有两个 Isra Mikraj 假日(2027 年 1 月 5 日和 2027 年 12 月 26 日),因为伊斯兰历年比公历年短约 11 天。这是法令中的规定,并非重复数据。
  • 不包括: 地区性假日、可选假日(libur fakultatif)以及选举日等一次性假日。2026 年 11 月 11 日之后对法令所作的修改,在数据更新前不会纳入。
  • Cuti bersama(集体休假)会占用年假。每份联合法令都将私营部门的安排交由雇主决定,将公务员的安排交由相应规定决定,因此提供了 cuti_bersama_off 选项。
  • 日期来自上文链接的政府网页(Setneg 和 Kemenko PMK 发布法令内容);我们没有查阅签署版法令 PDF。如果你发现数据与法令文本不符,请附上链接提交问题。
  • 数据是政府发布的公共假日日期和名称。我们注明上述来源后,将其作为事实信息重新发布。

安全与限制

  • 离线运行:不发起网络请求、不写入文件、不需要密钥。
  • 日期范围仅限于有数据的年份。在 cek_tanggal 中查询 2025-2027 年之外的日期时,仍会回答该日期是否为周末,并提示缺少假日数据;hitung_hari_kerja 和 hari_kerja_berikutnya 则会拒绝处理,不会进行猜测。
  • 错误信息以简短的印度尼西亚语和英语返回,不会返回堆栈跟踪。日志写入 stderr;stdout 仅包含 MCP 消息。

常见问题

2026 年印度尼西亚的公共假日有哪些? 根据 SKB 3 Menteri Nomor 1497 Tahun 2025、2 Tahun 2025 和 5 Tahun 2025,2026 年有 17 个全国性假日和 8 天集体休假。使用 daftar_libur 并设置 year: 2026,即可获取包含星期几的完整列表。

集体休假在印度尼西亚属于公共假日吗? 不属于。集体休假(cuti bersama)是会扣减年假的集体休假;全国性假日(libur nasional)则另行计算。私营雇主可以自行决定是否采用集体休假,因此此服务允许你将其计为休息日或工作日。

如何计算印度尼西亚不含假日的工作日? 使用 hitung_hari_kerja 并提供开始日期和结束日期。该工具会排除周末、全国性假日以及(默认情况下)集体休假,并列出所有被排除的假日。

如何按印度尼西亚的工作日计算 SLA 截止日期? 使用 hari_kerja_berikutnya,并提供下单日期和工作日数。例如,{"date": "2026-03-17", "n": 3} 会返回 2026 年 3 月 27 日,因为计算时会跳过静居日和开斋节假期。

2027 年印度尼西亚的假期已经确定了吗? 是的。SKB 3 Menteri Nomor 1205 Tahun 2026、3 Tahun 2026 和 2 Tahun 2026(于 2026 年 9 月 15 日签署)规定,2027 年有 18 个全国性假日和 8 天集体休假。开斋节日期仍以 isbat 决议为准。

开发

node --test test/

测试会通过 stdio 启动服务,并检查每个工具、随附数据(各项法令规定的数量、实际日期、每个日期只有一条记录)、年份边界、闰年、反向日期范围、无效日期、多个机器时区,以及与独立日期实现进行的穷举交叉验证。无需联网。

添加年份时:复制数据部分中的一个年份区块,根据新的 SKB 填写内容(法令、日期、来源 URL、假日),更新测试中的预期数量,然后运行测试。


印度尼西亚语

MCP 服务包含 2025、2026 和 2027 年印度尼西亚全国假日和集体休假,数据来自 SKB 3 Menteri,还支持工作日计算。无需联网,无需 API 密钥,只需 Node.js 18+。

工具

  • daftar_libur:按年份列出全国假日和集体休假(可选按月份筛选),并提供星期、类型和 SKB 来源。
  • cek_tanggal:查询某个日期是全国假日、集体休假、周末还是工作日,并说明原因。默认查询今天(WIB)。
  • hitung_hari_kerja:计算两个日期之间的工作日数量(包含起止日期)。如果日期顺序颠倒,会自动交换并标记。
  • hari_kerja_berikutnya:计算 N 个工作日后的日期(N 为负数时向前推算)。适用于 SLA、截止日期和配送时间估算。

选项:cuti_bersama_off(默认值为 true,集体休假按假日计算;如果办公室在集体休假期间仍开放,请设为 false)和 saturday_working(默认值为 false;设为 true 可采用每周 6 个工作日,周六遇到全国假日时仍按假日处理)。

日期格式:YYYY-MM-DD、DD-MM-YYYY、DD/MM/YYYY、hari ini。无效日期(例如 2026-02-29)会被拒绝并说明原因。计算仅使用日历日期,不受计算机时区影响;“今天”以 Asia/Jakarta 为准。

数据来源(截至 2026 年 11 月 11 日核验):

  • 2025 年:SKB Nomor 1017 Tahun 2024、2 Tahun 2024、2 Tahun 2024(2024 年 10 月 14 日),经 SKB Nomor 933 Tahun 2025、1 Tahun 2025、3 Tahun 2025(2025 年 8 月 7 日)修订,新增 2025 年 8 月 18 日集体休假。共 17 个全国假日 + 11 天集体休假。
  • 2026 年:SKB Nomor 1497 Tahun 2025、2 Tahun 2025、5 Tahun 2025(2025 年 9 月 19 日)。共 17 个全国假日 + 8 天集体休假。
  • 2027 年:SKB Nomor 1205 Tahun 2026、3 Tahun 2026、2 Tahun 2026(2026 年 9 月 15 日)。共 18 个全国假日 + 8 天集体休假。2027 年开斋节和宰牲节的日期仍待宗教事务部举行 isbat 确认仪式。

不包括地区假日、可选假日和特殊假日(例如投票日)。数据汇总自 Setneg 和 Kemenko PMK 上发布 SKB 内容的网页,而非已签署的 SKB PDF。如发现差异,欢迎提交 issue 并附上链接。

安装:将 npx -y mcp-hari-libur-indonesia 添加到您的应用中(配置示例见上文)。如有需要,在 Windows 上使用 cmd /c npx -y mcp-hari-libur-indonesia。


由 Ezkielyna 制作,这是面向印度尼西亚开发者的独立 AI API 网关(QRIS):ezkielyna.store。

许可证

代码采用 MIT 许可证。假日日期属于政府公开信息;来源见上文。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。