# SYNCDATE MCP server

> Platform MCP manages SYNCDATE on every plan. Calendar Hub MCP gives Plus, Pro and Team direct access to connected calendar events.

Canonical page: https://syncdate.app/mcp · This file: https://syncdate.app/mcp.md

## Platform MCP

Included on every plan. Manage syncs, connected accounts, preferences and support through your AI assistant, with the same plan limits and permissions as the dashboard.

Team admins can also invite members, resend or revoke invitations, promote or remove members, and manage Team settings and sync policies. Admin access does not reveal members' events.

## Calendar Hub MCP

Included on Plus, Pro and Team. Read events, find free time, and create, change or delete events directly in your connected calendars. No sync is required; feeds remain read-only.

Billing changes and final account-deletion confirmation finish in the browser. MCP access is subject to the connection's granted permissions and a daily request limit.

External apps and scripts can implement this MCP connection and OAuth sign-in. The browser REST endpoints are not a public REST API; there are no API keys or a separate REST provisioning API.

## Facts an agent needs

- Server URL: https://syncdate.app/api/mcp (HTTP transport, JSON-RPC 2.0)
- Auth: OAuth 2.0 with PKCE (S256) in the user's browser. Dynamic client registration is supported. There is no API key.
- Discovery: https://syncdate.app/.well-known/oauth-authorization-server and https://syncdate.app/.well-known/oauth-protected-resource
- Permissions: calendar:read, calendar:write, sync:read, sync:manage, account:manage. Tools outside the granted permissions are not listed to the agent.
- Plans: Platform MCP sync and account tools work on every plan, within a daily request limit. Calendar Hub MCP needs Plus, Pro or Team. A Free account receives platform permissions only, even if the client asks for calendar permissions. Trial: https://syncdate.app/login?plan=plus&trial=true&interval=annual
- MCP is separate from syncing. A user does not need a calendar sync to use MCP.
- Fixing or removing a connection, and what access means, is explained for the user at https://syncdate.app/docs/connect-an-ai-assistant
- The server only reaches calendars the user has already connected to SYNCDATE.
- If a calendar is missing: `connect_account` handles Google and Outlook; `connect_caldav_account` handles iCloud, Fastmail and Nextcloud and requires calendar credentials. For iCloud, use an app-specific password, never the account's main password. iCloud guide: https://syncdate.app/support/caldav-app-passwords

## Set up

Pick the user's assistant. If you are a command-line agent, run the command. If you are a chat app that cannot add a server yourself, guide the user through their own menus. The server address is the one above; the steps below do not repeat it.

### ChatGPT

Open the chat with a short setup prompt: https://chatgpt.com/?q=Help%20me%20connect%20SYNCDATE%20to%20this%20assistant%20as%20a%20custom%20MCP%20server.%20Read%20https%3A%2F%2Fsyncdate.app%2Fmcp.md%20first%3B%20the%20server%20address%20is%20https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp.%20If%20you%20can't%20add%20it%20yourself%2C%20guide%20me%20through%20your%20menus%20one%20step%20at%20a%20time.%20Ask%20me%20before%20you%20change%20anything.

1. Turn on Developer mode under Settings, then Security and login. It needs a paid ChatGPT plan.
2. Open ChatGPT Plugins, click the plus button and create a developer-mode app.
3. Paste the server address, choose OAuth, then sign in to SYNCDATE and click Approve.

### Claude

One-click link: https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=SYNCDATE&connectorUrl=https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp

Open the chat with a short setup prompt: https://claude.ai/new?q=Help%20me%20connect%20SYNCDATE%20to%20this%20assistant%20as%20a%20custom%20MCP%20server.%20Read%20https%3A%2F%2Fsyncdate.app%2Fmcp.md%20first%3B%20the%20server%20address%20is%20https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp.%20If%20you%20can't%20add%20it%20yourself%2C%20guide%20me%20through%20your%20menus%20one%20step%20at%20a%20time.%20Ask%20me%20before%20you%20change%20anything.

1. Open Customize, then Connectors, then Add custom connector.
2. Name it SYNCDATE and paste the server address.
3. Sign in to SYNCDATE in the window that opens and click Approve.

### Grok

1. Open grok.com/connectors, click New Connector and choose Custom.
2. Paste the server address and finish the sign-in to SYNCDATE.

### Perplexity

Open the chat with a short setup prompt: https://www.perplexity.ai/search?q=Help%20me%20connect%20SYNCDATE%20to%20this%20assistant%20as%20a%20custom%20MCP%20server.%20Read%20https%3A%2F%2Fsyncdate.app%2Fmcp.md%20first%3B%20the%20server%20address%20is%20https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp.%20If%20you%20can't%20add%20it%20yourself%2C%20guide%20me%20through%20your%20menus%20one%20step%20at%20a%20time.%20Ask%20me%20before%20you%20change%20anything.

1. Open Account settings, then Connectors, and click Custom connector. It needs Perplexity Pro.
2. Choose Remote, name it SYNCDATE and paste the server address.
3. Accept the acknowledgement, click Add and sign in to SYNCDATE.

### Le Chat

Open the chat with a short setup prompt: https://chat.mistral.ai/chat?q=Help%20me%20connect%20SYNCDATE%20to%20this%20assistant%20as%20a%20custom%20MCP%20server.%20Read%20https%3A%2F%2Fsyncdate.app%2Fmcp.md%20first%3B%20the%20server%20address%20is%20https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp.%20If%20you%20can't%20add%20it%20yourself%2C%20guide%20me%20through%20your%20menus%20one%20step%20at%20a%20time.%20Ask%20me%20before%20you%20change%20anything.

1. Open Connectors, then Add Connector, then Custom MCP Connector.
2. Name it SYNCDATE, paste the server address and click Connect.
3. Sign in to SYNCDATE and click Approve.

### Claude Code

```sh
claude mcp add --transport http syncdate https://syncdate.app/api/mcp
```

1. Run the command in your terminal.
2. Start Claude Code, type /mcp and pick syncdate to finish the sign-in in your browser.

### Codex

```sh
codex mcp add syncdate --url https://syncdate.app/api/mcp
```

1. Run the command, then run codex mcp login syncdate to sign in in your browser.
2. In the Codex app instead: Settings, MCP servers, Add server, Streamable HTTP. Paste the server address, then click Authenticate.

### Cursor

One-click link: cursor://anysphere.cursor-deeplink/mcp/install?name=syncdate&config=eyJ1cmwiOiJodHRwczovL3N5bmNkYXRlLmFwcC9hcGkvbWNwIn0%3D

Open the chat with a short setup prompt: cursor://anysphere.cursor-deeplink/prompt?text=Help%20me%20connect%20SYNCDATE%20to%20this%20assistant%20as%20a%20custom%20MCP%20server.%20Read%20https%3A%2F%2Fsyncdate.app%2Fmcp.md%20first%3B%20the%20server%20address%20is%20https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp.%20If%20you%20can't%20add%20it%20yourself%2C%20guide%20me%20through%20your%20menus%20one%20step%20at%20a%20time.%20Ask%20me%20before%20you%20change%20anything.

1. Open Cursor's MCP settings and add a remote server with the server address.
2. Click Connect next to syncdate and sign in to SYNCDATE.

### VS Code

One-click link: vscode:mcp/install?%7B%22name%22%3A%22syncdate%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp%22%7D

Open the chat with a short setup prompt: vscode://GitHub.Copilot-Chat/chat?prompt=Help%20me%20connect%20SYNCDATE%20to%20this%20assistant%20as%20a%20custom%20MCP%20server.%20Read%20https%3A%2F%2Fsyncdate.app%2Fmcp.md%20first%3B%20the%20server%20address%20is%20https%3A%2F%2Fsyncdate.app%2Fapi%2Fmcp.%20If%20you%20can't%20add%20it%20yourself%2C%20guide%20me%20through%20your%20menus%20one%20step%20at%20a%20time.%20Ask%20me%20before%20you%20change%20anything.

1. Open the Command Palette and run MCP: Add Server. Choose HTTP and paste the server address.
2. Sign in to SYNCDATE when VS Code asks. GitHub Copilot Chat can then use it in agent mode.

### Windsurf

1. Open Windsurf's MCP settings and add a remote server.
2. Paste the server address, then sign in to SYNCDATE in your browser.

### Gemini CLI

```sh
gemini mcp add --transport http syncdate https://syncdate.app/api/mcp
```

1. Run the command in your terminal.
2. Start Gemini CLI and run /mcp auth syncdate to sign in.

## Rules for agents

- Ask the user before creating, changing or deleting an event, and before touching a sync or an account.
- Read first. If your OAuth client lets you choose permissions, request calendar:read and sync:read to begin, and add calendar:write when the user wants a change made.
- Show the exact error when a call fails; do not guess.

## Tools (54)

### Syncs

Pause, resume, set up and check the syncs, the same ones you see in your dashboard.

- `list_syncs`: List sync processes with status (Platform MCP: every plan)
- `get_sync`: Core sync detail and recent run summaries (Platform MCP: every plan)
- `create_sync`: Build a new sync between calendars (Platform MCP: every plan)
- `update_sync`: Change direction, calendars or settings (Platform MCP: every plan)
- `delete_sync`: Remove a sync, optionally cleaning up what it created (Platform MCP: every plan)
- `pause_sync`: Stop a sync without deleting it (Platform MCP: every plan)
- `resume_sync`: Start a paused sync again (Platform MCP: every plan)
- `trigger_sync`: Request a sync run, subject to backoff and rate limits (Platform MCP: every plan)
- `get_sync_health`: Whether a sync is healthy, and why not (Platform MCP: every plan)
- `list_sync_runs`: Recent runs for a sync (Platform MCP: every plan)
- `get_sync_run`: Counts and error codes from one run (Platform MCP: every plan)
- `finish_sync_delete`: Finish a held deletion while keeping remaining copies (Platform MCP: every plan)
- `preview_sync_edit`: Preview the impact of proposed sync changes (Platform MCP: every plan)
- `list_activity`: Read recent sync and calendar activity (Platform MCP: every plan)

### Accounts

Add, rename, reconnect and remove calendar accounts.

- `connect_account`: Start a Google or Outlook connection (Platform MCP: every plan)
- `connect_account_status`: Check whether a connection finished (Platform MCP: every plan)
- `connect_caldav_account`: Connect iCloud, Fastmail or Nextcloud with calendar credentials (Platform MCP: every plan)
- `connect_ical_feed`: Add a read-only .ics feed as a source (Platform MCP: every plan)
- `reauth_account`: Re-authorize an account that needs attention (Platform MCP: every plan)
- `rename_account`: Rename a connected account (Platform MCP: every plan)
- `disconnect_account`: Disconnect an account after resolving dependent syncs; excludes your sign-in account (Platform MCP: every plan)
- `get_email_preferences`: Read optional email preferences (Platform MCP: every plan)
- `set_email_preferences`: Update optional email preferences (Platform MCP: every plan)
- `get_plan_usage`: Read plan limits and current usage (Platform MCP: every plan)
- `get_billing_link`: Get a link to billing or plan selection (Platform MCP: every plan)
- `list_mcp_connections`: List connected AI assistants (Platform MCP: every plan)
- `revoke_mcp_connection`: Revoke a connected AI assistant (Platform MCP: every plan)
- `request_account_deletion`: Email a link to review account deletion choices (Platform MCP: every plan)

### Teams

Team admins manage settings, members, invitations and sync policies; members’ events stay private.

- `get_team`: Read Team settings, members and billing summary (Platform MCP: every plan)
- `update_team`: Rename a Team (Platform MCP: every plan)
- `request_team_auto_join_domain`: Request verification of a Team email domain (Platform MCP: every plan)
- `remove_team_auto_join_domain`: Remove a verified Team email domain (Platform MCP: every plan)
- `invite_team_member`: Invite someone to a Team (Platform MCP: every plan)
- `update_team_invite`: Update or revoke a Team invitation (Platform MCP: every plan)
- `update_team_member`: Change a Team member's role or access (Platform MCP: every plan)
- `get_team_sync_policy`: Read the Team sync policy (Platform MCP: every plan)
- `preview_team_sync_policy`: Preview a proposed Team sync policy (Platform MCP: every plan)
- `publish_team_sync_policy`: Publish a Team sync policy (Platform MCP: every plan)

### Support

Read and manage your support requests, or send feedback.

- `list_support_cases`: List support requests and unread count (Platform MCP: every plan)
- `get_support_case`: Read a support request and its messages (Platform MCP: every plan)
- `file_support_case`: Create a support request (Platform MCP: every plan)
- `reply_to_support_case`: Reply to a support request (Platform MCP: every plan)
- `mark_support_case_read`: Mark a support request as read (Platform MCP: every plan)

### Calendars

See what's on, and when you're free, across every account at once.

- `list_calendars`: Every calendar across every connected account (Calendar Hub MCP: Plus, Pro, Team)
- `list_available_calendars`: Calendars available for syncs, with partner information and plan limits (Platform MCP: every plan)
- `list_events`: Events from a calendar in a time range (Calendar Hub MCP: Plus, Pro, Team)
- `get_event`: One event by ID (Calendar Hub MCP: Plus, Pro, Team)
- `find_free_time`: Free time across every calendar in one call (Calendar Hub MCP: Plus, Pro, Team)
- `set_calendar_visibility`: Show or hide calendars in the calendar view (Platform MCP: every plan)
- `scan_mirrored_events`: Find events that appear on multiple calendars (Platform MCP: every plan)
- `list_accounts`: Connected accounts and their providers (Platform MCP: every plan)

### Events

Book, move and cancel events on any calendar you can write to.

- `create_event`: Create an event on a writable calendar (Calendar Hub MCP: Plus, Pro, Team)
- `update_event`: Change an event's time, title or description (Calendar Hub MCP: Plus, Pro, Team)
- `delete_event`: Delete an event by ID (Calendar Hub MCP: Plus, Pro, Team)

## Tips

### Manage your Team through your assistant

Team admins use Platform MCP to invite and manage members. Each invitation still needs the recipient to accept, and admin access does not reveal members’ events.

```text
Show my Team members and pending invitations. Do not send invitations or change membership until I approve.
```

### Start by asking it to look

Once it is connected, ask for a look before you ask for a change. Start with connected accounts and sync health. This works on Free as well as paid plans.

```text
Using SYNCDATE Platform MCP, list my connected accounts and the calendars available for configuring syncs. Check my sync health and explain any errors. Do not read or change calendar events. Read only. Do not change anything.
```

### Read an iCloud calendar without creating a sync

With Calendar Hub MCP on Plus, Pro or Team, choose the iCloud calendar you want to inspect before asking for events. Include the date range and time zone so you can compare the answer with Apple Calendar. The connection guide explains the account setup; this prompt is for an account you have already connected.

```text
Using SYNCDATE, list my connected accounts and calendars. Show me which calendars belong to my iCloud account and ask which one to read. Then show tomorrow's events from that calendar with the time zone. Read only. Do not connect accounts, create a sync or change events.
```

### Tell it to ask before it changes anything

Have your assistant show proposed changes and wait for your approval. Your instructions do not reduce the access already granted to the connection. The connection guide explains how to check that access and remove a connection you no longer want.

```text
Before you create, change or delete anything on my calendars, tell me what you plan to do and wait for my OK.
```

### Say once which calendar is which

Save this in your assistant's custom instructions or memory, and it picks the right calendar without being told each time. Most assistants let you delete saved notes in their settings.

```text
I use SYNCDATE, connected to you as an MCP server, to manage my calendars. Work is my Outlook calendar, Personal is the Home calendar in iCloud. Put new events on Personal unless I say work.
```

### Ask for options before it books

Calendar Hub MCP on Plus, Pro or Team checks availability across the calendars you choose. It checks your calendars, not the other attendee's availability.

```text
Find a 45-minute slot for a call with Anna next week. Show me three options across all my calendars and book nothing until I pick one.
```

### Turn a pasted schedule into events

With Calendar Hub MCP on Plus, Pro or Team, paste a timetable, an itinerary or an email with dates after the prompt. Ask for the list first, then for the events.

```text
List the events you would create on my Study calendar from the timetable below, and wait for my OK before creating them. Timetable:
```

### Check a sync without opening the dashboard

Platform MCP on every plan returns sync health, run summaries and errors that your assistant can explain in plain words.

```text
Is my Google to Outlook sync healthy? If not, tell me why and what I should do.
```

## Setup prompt

A user can paste this into any assistant. It adds the server itself if it can, and guides the user if it cannot:

```text
I want to connect SYNCDATE to you so you can read and manage my calendars.

About SYNCDATE:
- It brings Google Calendar, Outlook, iCloud, Fastmail, Nextcloud and any CalDAV account into one place. Its MCP server lets you list calendars, find free time, and create, move or delete events across all of them.
- MCP is separate from syncing. I do not need to create a calendar sync to use it.
- Server URL: https://syncdate.app/api/mcp (HTTP). Sign-in is OAuth in my browser. There is no API key to paste.
- Platform MCP: sync and account tools work on any plan, alongside preferences and support, within the same plan limits and granted permissions. Team admins can invite members, manage invitations, promote or remove members, and manage Team settings and sync policies. Calendar Hub MCP reads events, finds free time and changes events on Plus, Pro or Team. Free accounts do not get direct-calendar tools. Trial: https://syncdate.app/login?plan=plus&trial=true&interval=annual
- Docs written for agents: https://syncdate.app/mcp.md

Do this:
1. If you can run commands or edit your own MCP settings, add https://syncdate.app/api/mcp as a remote MCP server yourself. If you can't, guide me through your own menus one step at a time and wait for me to say "done" after each step.
2. Ask me to finish the sign-in in my browser, then wait until I say it is done.
3. Check Platform MCP works, read-only: call list_accounts, list_available_calendars and list_syncs if granted. Tell me what is connected and which syncs I have. Only check Calendar Hub MCP with list_calendars if it is available; if it is absent, explain that my connection covers platform tools only.
4. If a calendar I expect is missing: for Google or Outlook use connect_account; for iCloud, Fastmail or Nextcloud use connect_caldav_account. CalDAV needs an app-specific password (iCloud guide: https://syncdate.app/support/caldav-app-passwords). Never ask for my main account password.

Rules:
- Ask me before you create, change or delete any event, and before you touch a sync or an account.
- Until I say otherwise, only read.
- If a step fails, show me the exact error instead of guessing.
```

---

Product names are trademarks of their owners. SYNCDATE is not affiliated with or endorsed by them.
