402cron
Scheduled, HMAC-signed HTTP delivery for AI agents via API and remote MCP.
What it can do
- Get Pricing: 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: One section of the machine documentation: quickstart, headers, signature, notice, errors, billing or limits. Omit `section` to get the whole document.
- Get Service Status: 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.
What data it sees
Do you need an account
No: the server works without sign-in
Scheduled, HMAC-signed HTTP delivery for AI agents via API and remote MCP. Verify HTTPS destinations, schedule UTC cron callbacks, and pay per delivery attempt with USDC on Base via x402. Credits never expire. Public docs and pricing need no token; management tools require your own Bearer management token. Delivers HTTP requests; downstream services execute the work.
How to connect
How to connect 402cron to Claude
The server address to paste into Claude settings:
https://cron402--stefangeorgiev555.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect 402cron to ChatGPT
The server address to paste into ChatGPT settings:
https://cron402--stefangeorgiev555.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect 402cron to Cursor
The server address to paste into Cursor settings:
https://cron402--stefangeorgiev555.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (16)
Raw names from tools/list. Only developers need these.
| get_pricing | 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 | One section of the machine documentation: quickstart, headers, signature, notice, errors, billing or limits. Omit `section` to get the whole document. |
| get_service_status | 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 | Your tasks and their state. Needs your management token as an Authorization header on this connection. |
| get_task | A single task: schedule, destination, state, next run, and how many failures in a row it carries. |
| create_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. |
| update_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. |
| pause_task | Stop firing until you resume. Nothing is charged while a task is paused. |
| resume_task | Start firing again on the schedule. Refused if your balance is empty — buy deliveries first. |
| run_task_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. |
| delete_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. |
| restore_task | Bring a task back from the recycle bin within 30 days. It comes back PAUSED — resume it explicitly. |
| register_destination | 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. |
| verify_destination | We call the URL and expect the challenge back. Until this passes, no task may point at it. |
| list_destinations | The URLs you have claimed and whether each is verified. The signing secrets are never shown again. |
| delete_destination | Remove a claimed URL. Refused while a task still points at it — delete the task first. |