Connect Scheduler0 to your AI assistant (MCP)
Scheduler0 hosts a Model Context Protocol (MCP) server so MCP-capable assistants (Claude, Cursor, ChatGPT and others) can manage your projects, jobs and executors, inspect execution history and create schedules from plain-English requests. You connect by URL and sign in with your Scheduler0 account; there is nothing to install.
Endpoint
https://app.scheduler0.com/mcp
The server speaks the Streamable HTTP MCP transport and authenticates with
OAuth 2.1. When your assistant connects, it opens a browser window where you
sign in with your usual Scheduler0 login and then approve the assistant on a
consent screen that shows the assistant's name and hostname and the access it is
asking for (read, write, or both). No client registration or API key is
involved: assistants identify themselves with a published
Client ID Metadata Document,
which every current MCP client supports.
Connect from Claude
- In Claude (Desktop or web, on a plan that supports custom connectors), open Settings → Connectors → Add custom connector.
- Name it
Scheduler0and set the URL tohttps://app.scheduler0.com/mcp. - Save, then click Connect. A browser window opens to sign in to Scheduler0 and authorize access.
- Once connected, ask Claude things like "list my Scheduler0 projects" or "schedule a job to POST to my webhook every weekday at 9am Lagos time."
Connect from Cursor
Add the server to your MCP configuration (~/.cursor/mcp.json or the project
.cursor/mcp.json):
{
"mcpServers": {
"scheduler0": {
"url": "https://app.scheduler0.com/mcp"
}
}
}
Reload Cursor; when the server is first used it will prompt you to authenticate in the browser.
Connect from ChatGPT
In a client that supports MCP connectors, add a custom connector pointing at
https://app.scheduler0.com/mcp and complete the sign-in prompt.
Try it with the MCP Inspector
To explore the tools directly:
npx @modelcontextprotocol/inspector
Enter https://app.scheduler0.com/mcp as the server URL, choose the Streamable
HTTP transport, complete the OAuth flow, then browse tools/list.
What the assistant can do
All actions run against your account and are attributed to you, exactly as if you performed them in the dashboard.
| Area | Tools |
|---|---|
| Accounts | list_accounts |
| Projects | list_projects, get_project, create_project |
| Jobs | list_jobs, get_job, create_job, update_job (incl. pause/resume via status), delete_job |
| Executors | list_executors, get_executor, create_executor, test_invoke_executor |
| Executions | list_executions, get_execution_totals, get_execution_analytics |
| AI scheduling | propose_jobs_from_prompt (preview only), schedule_from_prompt (creates jobs) |
Team accounts
Every tool accepts an optional account_id. When omitted, the tool uses your
personal account; if you have no personal account and exactly one team account,
that account is used; otherwise the call fails with
multiple accounts are available; pass account_id. Run list_accounts to see
the accounts you can act on (id, role and whether it is your personal account).
Passing an account_id you are not a member of is rejected.
If your user is not yet linked to a Scheduler0 account, sign in to the dashboard once to finish setup, then retry.
Security notes
- Access tokens are issued by Scheduler0, last one hour, and are refreshed automatically by your assistant; refresh tokens rotate on every use. Revoking a token (or disconnecting the assistant) takes effect within 30 seconds.
- Scopes:
readcovers listing and fetching;writecovers creating, updating, deleting, test-invoking and AI scheduling. An assistant connected withreadonly is refused write tools with a clear error. - The consent screen always shows the hostname the assistant's identity was loaded from. Only approve if you started the connection from that assistant.
- Executor secrets (
webhook_secret, cloud API keys) and credential secret keys are never returned through MCP. delete_jobandtest_invoke_executorare annotated as destructive so assistants can ask for confirmation before running them.