Back to MCP

MCP guides · Sep 15, 2026

Create an HTTP cron job from VS Code Copilot Chat

Configure Crontap in VS Code desktop, approve OAuth, and create a recurring endpoint call from Copilot Chat.
crontap.com / mcp guides
Add Crontap MCP to VS Code desktop, create and verify a recurring HTTP request, and avoid GitHub Copilot cloud agent's OAuth limitation.

This walkthrough uses VS Code Copilot Chat on the desktop to create and control a recurring request for https://example.com/cache/refresh. You will add Crontap to workspace configuration, approve OAuth, create the schedule, then pause and resume it from chat. The desktop qualifier is important: GitHub's cloud agent does not currently support OAuth-backed remote MCP servers. Crontap schedules your endpoint, not Copilot Chat.

Before you start

  • Use a current VS Code desktop release with Copilot Chat and MCP support.
  • Have a Crontap account and a public HTTPS endpoint that can safely receive retries.
  • Decide whether the config belongs to this workspace or your user profile. Do not put endpoint secrets directly in shared JSON.
  • Verified against the VS Code MCP server docs and GitHub Copilot cloud MCP docs on 2026-09-15.

Connect VS Code to Crontap MCP

VS Code

.vscode/mcp.json

{
  "servers": {
    "crontap": {
      "type": "http",
      "url": "https://mcp.crontap.com/mcp"
    }
  }
}

Use VS Code desktop. GitHub Copilot cloud agents cannot use OAuth-backed remote MCP servers.

Step 1

Add the workspace server

Create or open .vscode/mcp.json and add the remote server. For a profile-level setup, run MCP: Open User Configuration. The guided alternative is MCP: Add Server, then choose Workspace or Global. VS Code should discover Crontap and show an inline start action.

Step 2

Trust and authenticate the server

Start Crontap from the MCP configuration or run MCP: List Servers. Review the trust prompt, complete browser OAuth, and return to VS Code. Crontap should start, with its tools under Configure Tools in Chat.

VS Code desktop MCP servers
Crontap
Connected
Authentication
OAuth 2.1

Step 3

Preview the daily schedule

In Copilot Chat, ask Crontap to preview “every day at 5am” in America/Chicago without writing. preview_schedule should return an exact cron expression, timezone, and next runs. Confirm they match the intended local mornings.

Step 4

Create the HTTP cron job

Ask Copilot Chat for a POST schedule named daily cache refresh targeting https://example.com/cache/refresh. Review the tool input and approve the write. Crontap returns one active schedule ID and next run.

Step 5

Pause, verify, and resume

Ask Copilot Chat to retrieve the returned ID, pause that exact schedule, and read it again. Confirm the inactive state, then resume the same ID and verify its next run. This exercises workspace MCP writes without creating duplicate schedules.

Ask Copilot Chat with copyable prompts

Use Configure Tools in the chat input to confirm the Crontap tools are enabled.

Use only the Crontap MCP tools. Preview "every day at 5am" in America/Chicago without changing a resource. Show the cron expression, timezone, and three upcoming runs.
Create a POST schedule named "daily cache refresh" for https://example.com/cache/refresh using the cadence we previewed. Show the complete non-secret input and wait for my approval before calling create_schedule.
List my Crontap schedules, retrieve "daily cache refresh" by ID, pause that exact ID, confirm it is inactive, then ask before resuming it. After approval, resume it and report the next run.

Verify the VS Code cron job worked

The first checkpoint is client status. Run MCP: List Servers, choose Crontap, and verify that it is running. The second checkpoint is the resource. Make Copilot Chat retrieve the schedule ID returned by the create call, then inspect the pause and resume tool results.

Open Crontap and compare the same URL, method, timezone, cadence, and active state. After the first fire, ask Copilot Chat for schedule history. Match its timestamp and HTTP result to the route's own logs. A 500 in Crontap history means the clock fired and your route failed. A missing history item after the expected time points toward status, cadence, or timezone.

If you share .vscode/mcp.json, teammates get the server definition but still authenticate as themselves. That is useful for consistent tooling without copying credentials. Review every write approval and retrieve the target resource before pause, update, or delete operations.

Why this guide is desktop-only

VS Code desktop supports remote HTTP MCP servers and OAuth. GitHub's separate repository-level MCP configuration is used by Copilot cloud agent and Copilot code review. GitHub currently states that those cloud surfaces do not support remote MCP servers that use OAuth.

Crontap's production MCP server uses OAuth, so do not paste this configuration into Repository Settings > Copilot > MCP servers and expect the cloud agent to authenticate. This is not a naming quirk or a missing tool allowlist. It is an authentication-surface limitation.

The authentication boundary is:

  • Use this guide in VS Code desktop Copilot Chat.
  • Use a supported desktop client such as Cursor, Claude Code, or Codex for another local surface.
  • Keep GitHub repository cloud configuration for servers that use an authentication method that surface supports.

Crontap still runs the saved HTTP schedule after VS Code closes because the schedule lives in Crontap. Only the interactive management step depends on the desktop client.

Troubleshooting

VS Code does not discover .vscode/mcp.json

Confirm the root key is servers, not mcpServers, and that the entry includes "type": "http". Run MCP: List Servers or open the JSON file and use its inline actions.

The trust prompt was rejected

Run MCP: Reset Trust, inspect the server URL, then start it again. Only approve servers you trust. The production URL must be exactly https://mcp.crontap.com/mcp.

OAuth completes but the server shows an error

Select the Chat error notification and choose Show Output, or use MCP: List Servers > Crontap > Show Output. Check proxy, callback, and tool-discovery errors.

Copilot Chat does not call a Crontap tool

Open Configure Tools in the chat input and enable the required tool. Mention Crontap and the tool action explicitly, and separate preview from create.

The configuration works locally but not in GitHub cloud agent

GitHub's cloud agent cannot complete the OAuth flow required by Crontap. Keep this workflow in VS Code desktop, where the browser sign-in is supported.

Next steps

Ready to manage the job from VS Code? Free forever tier. No credit card. Create your Crontap account →

Verified with VS Code desktop MCP documentation and GitHub Copilot cloud-agent restrictions on 2026-09-15. Sources: VS Code MCP servers and GitHub Copilot cloud MCP configuration.

FAQ

VS Code Copilot cron job questions

Can VS Code Copilot Chat create cron jobs?
VS Code desktop can use Crontap MCP tools to create and manage recurring HTTP requests. Crontap schedules the endpoint, not Copilot Chat itself.
Where do I put the VS Code MCP configuration?
Use .vscode/mcp.json for a workspace configuration, or run MCP: Open User Configuration for a profile-level configuration shared across workspaces.
Can GitHub Copilot cloud agent connect to Crontap MCP?
Not through the current Crontap OAuth flow. GitHub documents that Copilot cloud agent and code review do not support remote MCP servers that use OAuth.
How do I inspect VS Code MCP errors?
Run MCP: List Servers, select Crontap, and choose Show Output. You can also use the Chat error notification's Show Output action.

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.