402cron

com.402cron由 402cron.com 发布官方发布者v1.0.1更新于 Oct 24, 2026

Paid cron for AI agents: we call your https URL on schedule, signed. No account, paid with x402.

已验证Streamable HTTP可网页运行效率与工作流金融开发者工具

概览

AI 生成的概览

远程付费定时任务服务:按计划调用你的 HTTPS 端点,对请求签名并重试失败,可由助手管理。

可以做什么
查询价格、套餐与 x402 支付要求,读取机器文档,查看服务是否在售及所在网络。列出、查看、创建、修改、暂停、恢复、立即运行、删除和恢复定时任务。注册、验证、列出和删除你控制的 HTTPS 目标地址。任务按名称幂等;暂停期间不计费,每次投递尝试消耗一个额度。
适用场景
适合让助手自行搭建或管理对你自有端点的周期性 HTTP 调用,例如 webhook 或定时作业,而无需人工开户。也适合以 x402 预先付款、由助手只负责管理任务与目标地址的代理式调度场景。
运行要求
远程 streamable HTTP 端点,无需本地安装包。管理类工具需要在连接上以 Authorization Bearer 头提供管理令牌;价格、文档和状态工具无需令牌。投递额度须事先通过 x402 支付(Base 上的 USDC)在普通 HTTP 上购买,不经过 MCP 工具。目标地址必须是你控制的 https:// URL 并通过质询验证。
安装前请注意
付费服务:购买投递包会从钱包支出真实 USDC;每次投递尝试(包括 run_task_now 和重试)消耗一个额度,一次调用最多可能花三个。管理令牌和每个目标地址的签名密钥只显示一次,令牌丢失需用同一钱包重新购买。删除任务进入 30 天回收站且已用额度不退;仍有任务指向时无法删除目标地址。投递为至少一次,重复请求需自行去重。

安装

在 SourceWeft 中

  1. 打开 控制台中的 402cron,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.402cron%2F402cron/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "402cron": {
      "type": "http",
      "url": "https://402cron.com/mcp"
    }
  }
}

README

402cron — cron for AI agents, paid per delivery

[402cron MCP connector]

402cron calls your https endpoint on a cron schedule, signs every request, and retries what fails. An agent can set it up on its own: no account, no card, no human in the loop. Payment is x402 — USDC on Base — and the only identity is the wallet that paid.

This repository holds documentation and runnable examples. The service runs at https://402cron.com; its source code is not published.

Links

Further reading

Pricing

PackPriceDeliveriesPer delivery
trial$0.0220$0.001
starter$12,000$0.0005
month$2550,000$0.0005

The balance counts deliveries, not money, and never expires. Each delivery attempt uses one credit, so a failing delivery costs at most three. Current prices: https://402cron.com/api/pricing.

How it works

  1. Buy. GET https://402cron.com/buy/trial answers 402 with the price in the PAYMENT-REQUIRED header. Pay with any x402 client. The receipt carries your management token, shown once.
  2. Register. POST /api/destinations with {"url": "https://your.host/hook"} returns the destination id and its signing secret, shown once.
  3. Verify. Call POST /api/destinations/{id}/verify. We POST a challenge to your URL and your endpoint echoes it back. The permission then covers that path and everything below it.
  4. Schedule. POST /api/tasks with {"name", "url", "cron", "body"}. The response shows the next three runs.

Management calls take Authorization: Bearer <token>. Lost the token? Buy again from the same wallet with ?rotate=1; the old token stops working.

What your endpoint receives

Three kinds of requests arrive at the same URL. X-402cron-Event tells them apart:

X-402cron-EventWhenSignedYour endpoint should
verifyonce, when you call /verifynoanswer with the X-402cron-Challenge value as the body, within 5 s
deliveryon schedule, on retries, and when you call /runyescheck the signature and answer 2xx within 2 s
task_pausedonce, when a task pausesyesread reasonCode, fix the cause, POST the resume URL

The signature is X-402cron-Signature: sha256=<hex>, an HMAC-SHA256 keyed with your signing secret over the bytes of:

{X-402cron-Timestamp}\n{X-402cron-Delivery-Id}\n{X-402cron-Attempt}\n{METHOD}\n{path+query}\n{raw body}

The event label is not signed: branch on it, but trust what the signature covers. Delivery is at least once — the same X-402cron-Delivery-Id can arrive twice, so treat a repeat as already handled. Deliveries also carry X-402cron-Task-Id and X-402cron-Deliveries-Left.

Retries and pausing

  • A timeout or an unreachable host is retried: up to 3 attempts, 60 s and 120 s apart.
  • A 4xx or 5xx is your server's answer, so it is not retried.
  • 3 failed attempts, 20 refusals in a row, or 10 server errors in a row pause the task. You get one task_paused notice; resuming is one call.

Limits

  • cron: 5 fields, always UTC, one minute at the finest. Names (MON-FRI, JAN) and macros (@daily, @hourly, …) work; anything unsupported is refused with a code that says why.
  • Destinations must be https://.
  • Body up to 64 KB, custom headers up to 8 KB.

All limits: https://402cron.com/docs?section=limits

Examples

FolderWhat it isRun
receiver/nodea destination endpoint, no dependenciesSECRET_402CRON=… node server.mjs
receiver/pythonthe same, standard library onlySECRET_402CRON=… python server.py
clientbuy a trial with x402, register, verify, schedulenpm install, then DRY_RUN=1 node buy-and-schedule.mjs

Both receivers answer the challenge, verify signatures, drop duplicate deliveries and log pause notices. The client reads the price from the PAYMENT-REQUIRED header like any standard x402 client, caps what it may spend (MAX_USD, default $0.05), and with DRY_RUN=1 signs without paying anything. On Windows PowerShell, set variables with $env:SECRET_402CRON="…" first.

Use it from an MCP client

Claude Code:

claude mcp add --transport http 402cron https://402cron.com/mcp --header "Authorization: Bearer <token>"

Other clients: add a remote (streamable HTTP) server at https://402cron.com/mcp with the same header. get_pricing, get_docs and get_service_status work without a token. There is no purchase tool on purpose: pay over plain HTTP, because a signed payment should not travel through a model's context.

Guarantee

We guarantee that we tried to deliver your task — not what someone else's server does with it. Full terms: https://402cron.com/terms

License

The examples in this repository are MIT-licensed — see LICENSE.

来源:README.md,提交 6aee667

工具

16

get_pricing

Pricing and payment requirements

What a delivery costs, which packs exist, and the exact x402 payment requirements for each. Balance is counted in DELIVERIES, not money, and packs never expire. Call this before buying.

无需输入参数。

get_docs

Machine documentation

One section of the machine documentation: quickstart, headers, signature, notice, errors, billing or limits. Omit `section` to get the whole document.

输入参数section

get_service_status

Is the service selling right now

Whether the service is currently selling, on which network, and if not — why not. This is configuration, not liveness: the full health endpoint is at /health.

无需输入参数。

list_tasks

List your scheduled tasks

Your tasks and their state. Needs your management token as an Authorization header on this connection.

输入参数afterlimitstate

get_task

One task with its full state

A single task: schedule, destination, state, next run, and how many failures in a row it carries.

输入参数id必填

create_task

Create or update a scheduled task

Register a schedule against a destination you have already verified. Idempotent on "name": the same name updates the existing task instead of creating a second one. Creating costs nothing; each delivery ATTEMPT costs one credit.

输入参数url必填bodycron必填name必填methodheaderstimeoutMs

update_task

Edit a task

Change the schedule, destination, method, timeout, headers or body of an existing task. Omit a field to leave it unchanged — sending null is refused, because "unchanged" and "cleared" must not look the same. State is NOT editable here: use pause_task and resume_task.

输入参数id必填urlbodycronnamemethodheaderstimeoutMs

pause_task

Pause a task

Stop firing until you resume. Nothing is charged while a task is paused.

输入参数id必填

resume_task

Resume a paused task

Start firing again on the schedule. Refused if your balance is empty — buy deliveries first.

输入参数id必填

run_task_now

Fire a task once, right now

Deliver immediately, outside the schedule. THIS COSTS ONE CREDIT per attempt, exactly like a scheduled firing, and a timeout or unreachable host is retried up to three times — so one call can cost up to three credits. Use it to test a destination.

输入参数id必填

delete_task

Delete a task

Move the task to the recycle bin. It stops firing immediately and can be restored for 30 days with restore_task; after that it is unrecoverable. Credits already spent are not refunded.

输入参数id必填

restore_task

Restore a deleted task

Bring a task back from the recycle bin within 30 days. It comes back PAUSED — resume it explicitly.

输入参数id必填

register_destination

Register a destination URL

Claim an https:// URL you control. We answer with a challenge and a SIGNING SECRET that is shown ONCE and never again — store it before you do anything else; it is what lets you verify that a delivery really came from us. The permission covers that path and everything beneath it, nothing above. Verification is one request from us to the exact URL you registered: POST, headers X-402cron-Challenge: <value> and X-402cron-Event: verify, JSON body {"challenge":"<value>"}. Reply within 5 seconds, without a redirect, with a body that is the bare value or {"challenge":"<value>"}; we read the first 512 bytes and do not check the HTTP status (2xx is fine). Then call POST /api/destinations/{id}/verify within 15 minutes of registering. A fixed-response webhook cannot pass: you need an endpoint you can program. Registering a URL that is still pending issues a new challenge and a new signing secret every time — the old secret immediately stops verifying deliveries; a verified URL is left untouched unless you add ?rotate=1. The daily verification allowance (10 per destination, 40 per client, UTC day) does not reset on re-registration.

输入参数url必填

verify_destination

Verify a registered destination

Verification is one request from us to the exact URL you registered: POST, headers X-402cron-Challenge: <value> and X-402cron-Event: verify, JSON body {"challenge":"<value>"}. Reply within 5 seconds, without a redirect, with a body that is the bare value or {"challenge":"<value>"}; we read the first 512 bytes and do not check the HTTP status (2xx is fine). Then call POST /api/destinations/{id}/verify within 15 minutes of registering. A fixed-response webhook cannot pass: you need an endpoint you can program. Registering a URL that is still pending issues a new challenge and a new signing secret every time — the old secret immediately stops verifying deliveries; a verified URL is left untouched unless you add ?rotate=1. The daily verification allowance (10 per destination, 40 per client, UTC day) does not reset on re-registration. Until this passes, no task may point at the destination.

输入参数id必填

list_destinations

List your destinations

The URLs you have claimed and whether each is verified. The signing secrets are never shown again.

无需输入参数。

delete_destination

Delete a destination

Remove a claimed URL. Refused while a task still points at it — delete the task first.

输入参数id必填

版本历史

2
  1. v1.0.1最新Sep 21, 2026
  2. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分