OS integrations (mail, calendar, reminders, notes)
What it does
Section titled “What it does”OS integrations let Speedwave work with apps that live on your computer instead of in the cloud: Calendar, Reminders, Mail, and Notes. Turn one on for a project and Speedwave can list reminders, check your calendar, read and send mail, or search notes, the same way you would from the app itself. Each of the four is a separate toggle, so you decide which apps Speedwave can touch.
What it consists of
Section titled “What it consists of”A host process called mcp-os makes this work. Every other integration Speedwave offers runs inside an isolated container, but Calendar, Reminders, Mail, and Notes are host-only APIs no container can reach, so mcp-os runs directly on your machine instead. It binds to host loopback only and is never exposed to your network.
On macOS, mcp-os drives four native helpers, one per service: calendar-cli and reminders-cli use Apple’s EventKit framework, while mail-cli and notes-cli drive Mail.app and Notes.app through AppleScript automation. Speedwave stores no credentials for any of this, only whether each toggle is on or off per project; the permission itself lives in macOS.
How it works
Section titled “How it works”Claude never talks to mcp-os directly. Every request goes through the same MCP Hub that routes every other tool call, which proxies it to the host process. From there, mcp-os spawns the matching native helper, which calls EventKit or Apple Events to reach the app.
Enabling an integration checks permission first. If macOS denies it, Speedwave flips the toggle back off and shows an error, so the switch reflects what macOS actually granted. At each launch, Speedwave rechecks every enabled integration against the current permission state; if you revoked one since the last launch, it turns that integration off and shows a banner naming the service. This check runs once at launch, so a mid-session revoke won’t update the banner until you restart.
All four integrations work today on macOS, the only platform they run on right now.
Windows support is planned but not built. The design calls for WinRT and Outlook’s MAPI interface, but none of it ships today. Enabling any of the four integrations on a non-macOS platform returns the error “OS integrations are only available on macOS.”
Here is everything Speedwave can call once an integration is on. Destructive actions are marked; sending or replying to email always needs an explicit confirmation flag.
| Tool | What it does |
|---|---|
listCalendars | Lists calendars available on this device. |
listEvents | Lists calendar events in a date range. |
getEvent | Gets one calendar event by ID. |
createEvent | Creates a calendar event. |
updateEvent | Updates an existing calendar event. |
deleteEvent | Deletes a calendar event. Destructive. |
listReminderLists | Lists reminder lists and groups. |
listReminders | Lists reminders, optionally filtered by list. |
getReminder | Gets one reminder by ID. |
createReminder | Creates a reminder, with optional due date, priority, and tags. |
completeReminder | Marks a reminder as completed. |
detectMailClients | Detects available mail clients (Apple Mail, Outlook, etc). |
listMailboxes | Lists mail accounts and folders. |
listEmails | Lists emails in a mailbox, with pagination. |
getEmail | Gets one email by ID, full body included. |
searchEmails | Searches emails by subject, body, or sender. |
sendEmail | Sends a new email. Requires an explicit confirm flag. Destructive. |
replyToEmail | Replies to an email, optionally to all recipients. Requires an explicit confirm flag. Destructive. |
listNoteFolders | Lists note folders and notebooks. |
listNotes | Lists notes, optionally filtered by folder. |
getNote | Gets one note by ID, full body included. |
searchNotes | Searches notes by title or body. |
createNote | Creates a note. |
updateNote | Updates an existing note’s title or body. |
deleteNote | Deletes a note. Destructive. |
Before any of this reaches Calendar, Reminders, Mail, or Notes, the tool call is validated: required fields must be present, text has length limits, numbers must fall inside their allowed range, and dates must be valid ISO 8601. Bad input fails fast with a clear error code instead of touching the app, which helps you tell a validation failure apart from a permission error when Speedwave reports a failed action. For permission failures, see Troubleshooting.
Set it up
Section titled “Set it up”OS integrations need no account and no API key: macOS holds the grant, and Speedwave stores only whether the toggle is on.
-
Open your project’s Integrations screen.
-
Toggle on the integration you want: Reminders, Calendar, Mail, or Notes.
-
Approve the macOS prompt. Reminders and Calendar show the Privacy & Security dialog. Mail and Notes show the Automation dialog, since they work through AppleScript rather than a dedicated framework.
If an integration won’t stay on, or turned itself off with a banner, macOS is not currently granting the permission; the fix is the same System Settings path above. For denied prompts that need a tccutil reset, and for the “app is not running” message from Mail or Notes, see Troubleshooting.
Security boundaries
Section titled “Security boundaries”OS integrations have no tokens: macOS holds the grant, and Speedwave stores only whether each toggle is on per project. That is different from every other integration Speedwave connects to, where a token has to live somewhere on disk. See How credentials are handled for that wider picture.