protogrid

Search / com.402cron/402cron

402cron

R0· no sign-in

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

v1.0.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust99of 100
Uptime, 30 days96%
Latency p50206 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "402cron": {
      "type": "http",
      "url": "https://402cron.com/mcp"
    }
  }
}
claude mcp add --transport http 402cron https://402cron.com/mcp
[mcp_servers.402cron]
url = "https://402cron.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "402cron": {
      "type": "remote",
      "url": "https://402cron.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "402cron": {
      "type": "http",
      "url": "https://402cron.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=402cron&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vNDAyY3Jvbi5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "402cron": {
      "type": "http",
      "url": "https://402cron.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "402cron": {
      "httpUrl": "https://402cron.com/mcp"
    }
  }
}
extensions:
  "402cron":
    enabled: true
    name: "402cron"
    type: streamable_http
    uri: "https://402cron.com/mcp"
    timeout: 300

Quality 85 / 100good

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 3600000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene64 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_destinations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_pricing (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_service_status (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 2,553 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

16 tools, about 2,553 tokens to load them all · tool set 7ccbc29a9562 · checked 2026-10-20 10:03 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 99 / 100

provenance100
liveness98
freshness100
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-96% +updated-29d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://402cron.com/mcp streamable-httpnoneyes96%206 ms2026-07-282026-10-20

Tools (16)

create_taskRegister 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.
delete_destinationRemove a claimed URL. Refused while a task still points at it — delete the task first.
delete_taskMove 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.
get_docsOne section of the machine documentation: quickstart, headers, signature, notice, errors, billing or limits. Omit `section` to get the whole document.
get_pricingWhat 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_service_statusWhether 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.
get_taskA single task: schedule, destination, state, next run, and how many failures in a row it carries.
list_destinationsThe URLs you have claimed and whether each is verified. The signing secrets are never shown again.
list_tasksYour tasks and their state. Needs your management token as an Authorization header on this connection.
pause_taskStop firing until you resume. Nothing is charged while a task is paused.
register_destinationClaim 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.
restore_taskBring a task back from the recycle bin within 30 days. It comes back PAUSED — resume it explicitly.
resume_taskStart firing again on the schedule. Refused if your balance is empty — buy deliveries first.
run_task_nowDeliver 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.
update_taskChange 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.
verify_destinationVerification 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.402cron/402cron",
  "title": "402cron",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://402cron.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.1",
  "repository": {
    "url": "https://github.com/402cron/402cron",
    "source": "github"
  },
  "websiteUrl": "https://402cron.com",
  "description": "Paid cron for AI agents: we call your https URL on schedule, signed. No account, paid with x402."
}