mcpField
C
Cron Schedule Audit

Cron Schedule Audit

远程服务
github.com/tylerscomic-lab开发工具014 周前更新
代码仓库

关于 Cron Schedule Audit

Cron Schedule Audit 是供开发者验证 cron 计划并检查夏令时风险的 MCP 服务。它使用 IANA 时区数据校验计划语义并计算后续运行时间,标出跳过或重复的时间。

主要功能

  1. 01验证 cron 语法与语义
  2. 02计算适配夏令时的下次运行时间
  3. 03检测跳过和重复的运行时间
  4. 04扫描未来一年的夏令时风险

适用场景

  1. 01部署前验证 cron 计划
  2. 02检查夏令时切换期间安排的任务
  3. 03发现日期与星期字段按 OR 处理的情况

MCP 相关

向 MCP 客户端提供 cron 校验、下次运行时间计算和夏令时风险检测工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://cron-schedule-audit-mcp.mcpize.run/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

cron-schedule-audit-mcp

License: MIT Live on MCPize

一个 MCP 服务,可验证 cron 表达式,并使用真实的 IANA 时区数据库计算正确处理夏令时的下一次触发时间——不依赖 moment-timezone 或 luxon,只使用手动实现的伪 UTC 偏移技术,基于平台自身的时区数据进行计算。

可捕获的问题

在 America/New_York 时区中,每天凌晨 2:30 运行的 cron 任务 30 2 * * *,在春季时钟前拨的日期会悄无声息地永不触发,因为当天不存在凌晨 2:00 到 2:59。每天凌晨 1:30 运行的任务 30 1 * * *,会在秋季时钟后拨的日期触发两次,因为这个小时会重复。这两种故障都不会抛出错误,也不会出现在日志中——看起来就像 cron 偶尔“没运行”。测试期间已使用 2026/2027 年的真实时钟切换日期进行验证(2027-03-14 春季时钟前拨,2026-11-01 秋季时钟后拨)。

还会标记几乎所有人都至少踩过一次的“月中日/周中日”陷阱:当这两个字段都有限制时,POSIX cron 将它们视为 OR,而非 AND。

工具

validate_cron_expression

语法和语义验证:提醒月中日与周中日字段使用 OR 而非 AND 的情况、每分钟执行的陷阱、某些月份不存在的日期值(31、30、29),并提醒检查凌晨 1 点至 3 点时间段内任务的夏令时风险。返回对表达式含义的通俗解释。

get_next_fire_times

返回接下来 N 次触发时间,并识别夏令时。如果计划的本地时间落在春季时钟前拨造成的时间缺口中,会标记为跳过;如果落在秋季时钟后拨造成的时间重叠中,则会将两次实际触发都作为有歧义的时间返回。

detect_dst_risk

扫描未来整整一年,并报告计划时间与夏令时切换重合的所有日期——在发布任何安排在凌晨 1 点到 4 点本地时间运行的任务前,先运行一次。

使用

托管服务(推荐): MCPize — 免费套餐,Pro 每月 7 美元。

自行托管:

npm install
node server.js

属于一个小型套件

mcp-schema-audit-mcp、 regex-safety-audit-mcp、 claude-cost-audit-mcp。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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