mcpField
C
crontap-schedule-http-job

crontap-schedule-http-job

github.com/crontap云与 DevOps1934 次安装6 周前更新
代码仓库

关于 crontap-schedule-http-job

面向需要定时调用 HTTP 端点的用户,指导使用 Crontap 创建、更新和检查作业计划。流程包括预览时间、配置请求,以及核对执行历史。

主要功能

  1. 01预览并确认自然语言频率
  2. 02创建 HTTP 或 HTTPS 调度
  3. 03部分更新现有计划
  4. 04查看分页运行历史
  5. 05检查状态、耗时与超时记录

适用场景

  1. 01按时调用每日报告端点
  2. 02更改现有计划的频率或时区
  3. 03检查首次运行及请求结果

MCP 相关

通过 Crontap MCP 预览、创建和更新计划,并读取运行历史;REST API 是 Ultra 账户可用的后备方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crontap/skills --skill crontap-schedule-http-job

安装后在 Claude Code 中输入/crontap-schedule-http-job确认已加载。

详细介绍

安排 HTTP 任务

前提条件

使用所需工具前,请检查它们是否可用。如果有任何工具不可用,请停止并向用户提供恰好两个选项:

  1. 连接 Crontap MCP:https://mcp.crontap.com/mcp。所有 Crontap 套餐均支持 MCP 访问。
  2. 为原始 API 配置 $CRONTAP_CLIENT_ID 和 $CRONTAP_API_KEY。原始 API 访问需要 Ultra 套餐。

在用户选择之前,不要擅自选择路径或继续操作。

  • 确认绝对 HTTP 或 HTTPS 端点、方法、执行频率和 IANA 时区。
  • 询问端点是否需要请求头、JSON 请求体或幂等键。
  • 不要将凭据放入 URL 或日志中。请引用安全存储中的值。

工作流

  1. 预览通俗易懂的执行频率描述,并解决所有需要澄清的问题。
  2. 向用户展示确定后的 cron 表达式、时区和后续运行时间。
  3. 使用 text 或 cron 中的一个创建计划,且只能使用其中一个。
  4. 修改计划时,先确认现有计划,然后只发送已更改的字段。
  5. 执行后,检查保留的历史记录并验证端点结果。

MCP 示例

预览但不保存:

{
  "tool": "preview_schedule",
  "arguments": {
    "text": "every weekday at 09:15",
    "timezone": "Europe/Copenhagen"
  }
}

创建受保护的 JSON 请求:

{
  "tool": "create_schedule",
  "arguments": {
    "url": "https://app.example.com/api/daily-report",
    "text": "every weekday at 09:15",
    "timezone": "Europe/Copenhagen",
    "method": "POST",
    "headers": {
      "Authorization": "Bearer <secret-from-secure-store>",
      "Content-Type": "application/json"
    },
    "body": {
      "source": "crontap"
    },
    "label": "Daily report"
  }
}

部分更新计划:

{
  "tool": "update_schedule",
  "arguments": {
    "scheduleId": "<schedule-id>",
    "cron": "30 9 * * 1-5",
    "timezone": "Europe/Copenhagen"
  }
}

省略的更新字段会保留现有配置,包括隐藏的请求机密信息。空的 headers 对象会替换并清除请求头。

读取近期运行记录:

{
  "tool": "get_schedule_history",
  "arguments": {
    "scheduleId": "<schedule-id>",
    "limit": 20
  }
}

使用返回的 cursor 原样请求下一页。

REST 备用方案

仅当 MCP 不可用且账户拥有 Ultra API 访问权限时,才使用 REST。 REST 使用 interval、verb 和 data,而不是 MCP 别名。

curl --fail-with-body https://api.crontap.com/v1/schedule \
  -X POST \
  -H "ClientId: $CRONTAP_CLIENT_ID" \
  -H "ApiKey: $CRONTAP_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "url": "https://app.example.com/api/daily-report",
    "interval": "30 9 * * 1-5",
    "timezone": "Europe/Copenhagen",
    "verb": "POST",
    "headers": {
      "Authorization": "Bearer <secret-from-secure-store>",
      "Content-Type": "application/json"
    },
    "data": {"source": "crontap"},
    "label": "Daily report"
  }'

验证

  • 确认已保存的 URL、方法、cron 表达式、时区和后续运行时间。
  • 确认端点支持所选方法并返回成功状态。
  • 首次运行后检查历史记录中的状态、耗时、超时和重试情况。

安全与套餐限制

  • 创建计划前,预览本地时间计划,尤其要注意夏令时切换。
  • 不要在无关的部分更新中覆盖请求头或集成配置。
  • 如果可能发生重试或调用重叠,请确保写入端点具有幂等性。
  • 如果套餐上限或最低执行频率限制导致无法创建,请说明包含四个选项的升级阶梯,并指出满足需求的最低选项。

故障排除

  • 收到需要澄清的回复不代表失败。询问返回的问题,然后再次预览。
  • 目标端点返回 401 或 403 通常意味着端点凭据已过期或格式错误。
  • 超时意味着 Crontap 未能及时收到响应。提高重试次数前,请先检查端点运行时间和下游调用。
  • MCP 返回 404 意味着计划 ID 已失效。重试前请先列出计划。

参考资料

评论

支持 Markdown