Back to MCP

MCP guides · Sep 15, 2026

Can MCP run on a schedule? Agent automations vs HTTP schedulers

MCP gives agents tools. An agent automation can schedule a prompt, Crontap can schedule an HTTP request, and a heartbeat only watches a job scheduled elsewhere.
crontap.com / mcp guides
MCP is not a scheduler. Compare agent automations with Crontap HTTP schedules, and use heartbeats to watch jobs scheduled elsewhere.

No. An MCP server does not start a client conversation or wake an editor on a timer. MCP gives a running client tools; it is not a scheduler. For recurring work, use a client automation to run a prompt, a Crontap HTTP schedule to call a deployed endpoint, or a Crontap heartbeat to watch an independently scheduled job for missed check-ins.

What MCP does, and what it does not

MCP lets a running client discover and call tools, read resources, and exchange other protocol messages with a server. The current MCP specification supports request-related notifications and opt-in change notifications on a long-lived stream opened by the client.

Those messages still depend on the client being connected. They do not launch a closed application, create a new chat, or authorize an unattended prompt. Crontap's MCP server gives your client management tools. A Crontap schedule keeps sending its saved HTTP request after the client disconnects, while a heartbeat only watches for expected check-ins.

Choose what should run on schedule

  1. Should an agent run a prompt? Use that client's automation or scheduled-task feature.
  2. Should a deployed API route receive an HTTP request? Use a Crontap schedule.
  3. Does another platform already start the job, but you need to detect silence? Keep its scheduler and add a Crontap heartbeat.

You rarely need all three. An agent automation may use MCP tools during a run. A scheduled endpoint may send a heartbeat after downstream work finishes. In both cases, the automation or HTTP scheduler starts the work; the heartbeat only watches it.

Current agent scheduling options

These products are not equivalent. The comparison reflects official documentation checked on 2026-09-15.

Cursor Automations

Runs in: Cursor Cloud Agent

Recurring triggers accept presets or cron. Runs can start late, but not before the scheduled time. Cron triggers default to no repository, so select one when the task must change code.

Claude Routines

Runs in: Anthropic cloud or your configured environment

Research preview for Pro, Max, Team, and Enterprise. Routines can include repositories and MCP connectors. The minimum custom interval is one hour, and starts may be staggered by a few minutes.

ChatGPT Scheduled Tasks

Runs in: ChatGPT web or mobile

Availability depends on the account and workspace. Active-task caps are 3 for Free and Go, 5 for Plus, 10 for Business and Edu, and 15 for Pro and Enterprise. Free tasks run no more than daily; exact times and hourly schedules need an eligible paid plan.

Codex scheduled tasks

Runs in: ChatGPT web or desktop

The Codex documentation URL now calls these ChatGPT scheduled tasks. Web tasks cannot use a local folder. For local projects, keep the computer on and the ChatGPT desktop app running. Git projects can use the checkout or a worktree. Advanced schedules use RFC 5545 RRULE.

Features and limits change quickly, so recheck the linked source before depending on a plan limit, minimum interval, or runtime requirement.

Outcome 1: schedule an HTTP endpoint

Use this path when the work is already behind a deployed route such as POST /jobs/daily-digest. Crontap sends the recurring request even after your editor or MCP client closes. The route should authenticate requests, handle retries safely, and record its result.

Step 1

Preview the cadence

Connect through the Crontap MCP hub, then preview the cadence with an explicit IANA timezone. Review the returned cron, timezone, and three upcoming runs. Preview is read-only and creates no schedule.

Use only Crontap MCP. Preview "weekdays at 07:30" in Europe/Paris. Do not create or update anything. Show the resolved cron, timezone, and three upcoming runs.

Step 2

Create the HTTP schedule

Create a POST schedule for the deployed endpoint using the approved cadence. Keep authorization values out of the prompt. Add any required secret header on the Crontap schedule page after creation, then retrieve the schedule by its returned ID.

Create one POST schedule named "weekday daily digest" for https://api.example.com/jobs/daily-digest using the cadence we previewed. Repeat the non-secret URL, method, cron, timezone, and label before approval. Do not include Authorization or another secret.

Step 3

Check history and application output

After a timed run, call get_schedule_history for the exact ID. Match its startedAt, statusCode, durationMs, and runId with application logs. Then check the digest, database row, or other saved result.

A 2xx history entry means the endpoint returned HTTP success. It does not show whether queued or downstream work finished. For a deeper verification flow, follow Schedule API calls with an AI assistant.

Outcome 2: watch for a missed agent run

Use this path when a platform already schedules the agent. That platform starts each run. The heartbeat alerts when expected check-ins stop arriving.

Step 1

Create the heartbeat

This example uses the Crontap UI so the one-time ping URL can move directly into the automation's secret settings without passing through agent chat. Match the period to the automation and allow enough grace for normal runtime and start delay. The complete heartbeat pattern also shows the MCP creation path when you can safely transfer its one-time tool result.

Step 2

Store the ping URL as a secret

For this example, create a Cursor Automation with a scheduled trigger and a Cloud Agent environment. In the Cursor dashboard Secrets tab, add CRONTAP_HEARTBEAT_URL as a Runtime Secret. Cursor documents that Runtime Secret values are redacted from tool results, transcripts, commits, and commit messages. If outbound traffic is restricted, allow the generated ping URL's host.

Run the morning repository review and save the report. Only after the report is saved, run curl --fail --silent --show-error --max-time 10 "$CRONTAP_HEARTBEAT_URL". Do not print the variable or response URL. If the review fails, preserve the failure and do not send the success check-in.

Step 3

Check the run and heartbeat

Let the Cursor Automation start through its normal scheduled trigger. Confirm its run record and report first. Then check the heartbeat status and retained pings in Crontap. The ping shows that the run reached its final check-in; the report shows that useful work was saved.

If the automation should report known failures, add the heartbeat's /fail variant through the same secret-aware wrapper without building or exposing it in the prompt. The heartbeat monitoring guide covers success, failure, and recovery check-ins.

Verification checklist

  • Agent automation: the client shows a scheduled run with the expected repository or task access.
  • HTTP schedule: the saved Crontap resource matches the approved URL, method, cadence, timezone, and next run; history aligns with application logs.
  • Heartbeat: the separately scheduled job saved its result, sent a final ping, and received a new deadline.

Each check answers a different question. Calling a tool in chat does not mean a future run has been scheduled.

Troubleshooting

The editor was closed and nothing happened

You probably chose a local or session-only feature. Check where that client's scheduled tasks run. Move the prompt to a supported cloud automation, or put deterministic work behind a deployed HTTP endpoint.

MCP tools work manually but not in the automation

Add the connector to the automation's own configuration and connect only the MCP servers that run needs. Cursor and Claude expose all tools from each connected server, so review a server's write tools before enabling unattended runs.

Crontap history shows 2xx but the result is missing

Follow the request into application logs, queues, and storage. HTTP success and completion of the application work are separate outcomes.

The heartbeat stays pending

Creating a heartbeat does not start its deadline. Run the automation normally and make sure the check-in happens after useful work, not at startup.

Next steps

Ready to schedule your HTTP endpoint? Free forever tier. No credit card. Create your Crontap account →

Verified against the current MCP specification, vendor scheduling documentation, and Crontap API documentation on 2026-09-15. Sources: MCP base protocol, MCP Streamable HTTP, Cursor Automations, Cursor secret protection, Claude Routines, ChatGPT Scheduled Tasks, Codex scheduled tasks, and Crontap public API.

FAQ

MCP scheduling questions

Can an MCP server send notifications to a client?
Yes, within protocol flows the client opens. Current MCP supports request-related notifications and opt-in change notifications on a client-opened subscription stream. That does not launch a closed client, create a conversation, or provide a timer.
Can an MCP tool run automatically?
A client automation can call an enabled MCP tool during a scheduled run when that client supports connectors in automations. The client schedules the run and grants access; the MCP server supplies the tool.
Should I schedule an MCP server or my HTTP endpoint?
If a deployed endpoint performs the job, schedule that HTTP endpoint. Keep the MCP server available so your agent can manage the schedule; do not expect the MCP connection to start future runs.
How do I detect when a recurring agent stops running?
Keep the platform that already starts the agent, then add a heartbeat check-in after useful work completes. Crontap can alert on a missed deadline, but it does not launch or recover the agent.

From the blog

Read the blog

Guides, patterns and product updates.

Tutorials on scheduling API calls, webhooks and automations, plus deep dives into cron syntax, timezones and reliability.

Product Updates

Introducing AI Integrations

Transform a schedule's HTTP response with a plain-English prompt, return text or JSON, and forward it to Slack, Make, n8n, or your own endpoint. Test on any tier; saving is a Pro feature.

Alternatives

Vercel cron jobs: the Hobby once-per-day limit and how to beat it

Vercel Cron caps Hobby at one run per day, only guarantees timing within the hour, is UTC only, and ties every schedule change to a redeploy. Here is the external cron pattern teams use to ship per-minute, timezone-aware schedules and one dashboard across projects without paying $20/mo per user for Pro.