Skip to main content

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​

  1. In Claude (Desktop or web, on a plan that supports custom connectors), open Settings → Connectors → Add custom connector.
  2. Name it Scheduler0 and set the URL to https://app.scheduler0.com/mcp.
  3. Save, then click Connect. A browser window opens to sign in to Scheduler0 and authorize access.
  4. 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.

AreaTools
Accountslist_accounts
Projectslist_projects, get_project, create_project
Jobslist_jobs, get_job, create_job, update_job (incl. pause/resume via status), delete_job
Executorslist_executors, get_executor, create_executor, test_invoke_executor
Executionslist_executions, get_execution_totals, get_execution_analytics
AI schedulingpropose_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: read covers listing and fetching; write covers creating, updating, deleting, test-invoking and AI scheduling. An assistant connected with read only 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_job and test_invoke_executor are annotated as destructive so assistants can ask for confirmation before running them.