What MustDo does
MustDo MCP server gives an MCP client read and write access to tasks managed by the MustDo iOS app. The data remains in the Apple ID's private CloudKit database, in the MustDo container and zone used by the app. The server does not maintain a separate To-Do database, and writes are followed by a CloudKit silent notification so the iPhone app can refresh.
The MustDo MCP server fits workflows where an agent needs to inspect reminders, create new alarm To-Dos, adjust existing tasks, mark work complete, postpone an occurrence, or remove an item. It belongs in the Workplace & Productivity category, although its data source is a personal iOS app and iCloud account.
How it works
The hosted relay exposes a remote MCP endpoint at https://ltng.jp/api/mustdo/mcp. During connection, the user signs in with the same Apple ID used by MustDo. The relay stores the CloudKit web authentication token encrypted with AWS KMS so it can make requests, but it does not store or log To-Do content, the Apple ID email, or the password.
The local implementation uses stdio and calls Apple's CloudKit Web Services. Its local sign-in flow opens an Apple page, receives the callback on port 51234, and saves the resulting session token under the MustDo home directory. get_me reports the account time zone, current date, default alarm time, and related account state. Date-only inputs are interpreted using that account context. If due is omitted when adding a task, the due time is tomorrow at the account's default time.
Setup and configuration
For the hosted option, add the relay as a custom connector in claude.ai, connect it, and complete Apple sign-in. The same connector can be used in the Claude iPhone app. To run locally, use macOS with Node.js 24 or newer, install the MustDo app, clone the repository, run npm install, and build with npm run build.
Local use requires a CloudKit API token for the MustDo container. The README states that this token is not publicly distributed, so general users should use the hosted relay. Configuration can be supplied through environment variables or ~/.mustdo/config.json; environment variables take precedence. Local authentication is stored in auth.json with restrictive file permissions.
Tools and capabilities
The MustDo MCP server provides tools for:
- Reading account details with
get_me.
- Listing pending, completed, skipped, or all non-deleted To-Dos.
- Creating and updating titles, due dates, notes, sounds, status, and repeat rules.
- Completing or snoozing one-off tasks and individual repeating occurrences.
- Soft-deleting tasks; the app permanently purges them after 14 days.
Repeating tasks are returned as templates with any matching occurrences, rather than as an expanded list of every repetition.
Limitations and notes
The local sign_in tool is not available through the hosted relay. Apple session credentials can expire; when that happens, the client must authenticate again. Repeating-task operations require care because completion and snoozing apply to a specific occurrence, defaulting to today when applicable. Deleted tasks are excluded from listings. Disconnecting the hosted connector and visiting the documented disconnect endpoint removes the stored relay token after Apple confirmation.