RunLater
Schedule HTTP requests from an agent: once at an exact time or on cron, with retries and run logs.
Hosted MCP Server
npx add-mcp 'https://runlater.app/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
RunLater has a remote MCP server, so an AI agent can schedule an HTTP request for you, check whether it worked and pause or delete it. The URL is the same for every client:
https://runlater.app/api/mcp
Clients that support OAuth open a RunLater sign-in page the first time; you sign in with an email link and click Allow. Clients that don't can send an API key from Settings as Authorization: Bearer rl_sk_....
One-click install
Each link opens the app with the server filled in. You sign in with an email link and click Allow.
Claude Code
claude mcp add --transport http --scope user runlater https://runlater.app/api/mcp
Then run /mcp in Claude Code and choose runlater to sign in. With an API key instead:
claude mcp add --transport http --scope user runlater https://runlater.app/api/mcp --header "Authorization: Bearer rl_sk_..."
claude.ai and Claude Desktop
Go to Customize, Connectors, + Add, Add custom connector. Paste https://runlater.app/api/mcp as the URL, then click Connect and sign in.
ChatGPT
Open Plugins in ChatGPT, click + and choose Add custom MCP server. Name it RunLater, paste https://runlater.app/api/mcp, pick OAuth, click Create and sign in. Some plans and workspaces limit custom servers, and a Business or Enterprise admin may need to allow them.
Cursor
In ~/.cursor/mcp.json:
{
"mcpServers": {
"runlater": { "url": "https://runlater.app/api/mcp" }
}
}
VS Code
In .vscode/mcp.json:
{
"servers": {
"runlater": { "type": "http", "url": "https://runlater.app/api/mcp" }
}
}
Codex CLI
In ~/.codex/config.toml:
[mcp_servers.runlater]
url = "https://runlater.app/api/mcp"
Windsurf
In ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"runlater": { "serverUrl": "https://runlater.app/api/mcp" }
}
}
Lovable and other clients
Add a custom MCP server by URL and paste https://runlater.app/api/mcp. If the client asks for a header instead of offering sign-in, use Authorization with the value Bearer rl_sk_....
Tools
schedule_get_request: schedule a GET with a URL and headers, and eitherrun_at(one time) orcron(recurring), plus a timezone.schedule_send_request: the same for POST, PUT, PATCH or DELETE, with a body, and eitherrun_at(one time) orcron(recurring), plus a timezone.list_schedules: everything in the workspace, with status and next run time.get_schedule: one schedule with its recent runs: status code, duration, error and response preview.pause_schedule,resume_schedule: stop and restart a schedule.run_now: send it once now and return the response.delete_schedule: delete it for good.account_status: plan, usage this month and the link to start the trial.
Things to ask your agent
- “Call my health-check URL every 5 minutes, and tell me if the last run failed.”
- “Post this message to my Slack webhook next Tuesday at 9am New York time.”
- “Which of my schedules failed this week?”
Plans
There is no free plan. You can connect before you have one: the tools answer with the link to Settings, where picking a plan starts the 14-day trial (card at checkout, nothing charged before day 14). Starter is $15/month for 250 scheduled requests and 25,000 runs. Limits are the same as in the dashboard.
Disconnecting
Each OAuth connection gets its own key, listed in Settings under API keys. Disconnect it there and that app stops working right away.
Scripts and apps can use the REST API instead.