apple-productivity-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apple-productivity-mcplist my events for tomorrow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Apple Productivity Local MCP
A local Model Context Protocol (MCP) server for Claude Code on macOS. It connects Claude Code to Apple Mail, Calendar, and Reminders through macOS automation APIs.
Privacy and architecture
The server uses stdio: it is started by Claude Code only when a tool call is needed and stops when the Claude Code session releases it.
It does not expose an HTTP port or background daemon.
It does not include credentials, API keys, or user data in this repository.
Data is read from the local Apple apps via
osascript. Any data returned to Claude Code is then available to the active Claude Code session, so use it only with a trusted local Claude Code installation.Mail, Calendar, and Reminders changes may sync through iCloud, CalDAV, Exchange, or another account provider; "local" describes where the MCP runs, not where Apple stores or synchronizes the resulting data.
Related MCP server: Apple EventKit MCP Server
Tools
apple_mail_list- list message metadataapple_mail_get- read one message, including its bodyapple_mail_send- send a messageapple_mail_update_status- mark read/unread or flag/unflagapple_mail_move- move a messageapple_mail_delete- delete a message
Calendar
apple_calendar_list_events- list events in a time rangeapple_calendar_create_event- create an eventapple_calendar_update_event- update an eventapple_calendar_delete_event- delete an event
Reminders
apple_reminders_list- list remindersapple_reminders_create- create a reminderapple_reminders_update- update a reminderapple_reminders_complete- complete a reminderapple_reminders_delete- delete a reminder
Destructive and external actions are intentionally named and described explicitly so Claude Code can ask for confirmation according to its permission settings.
Requirements
macOS with Apple Mail, Calendar, and Reminders
Node.js 20+
Claude Code
Grant macOS Automation access to the application that launches Claude Code (for example, Terminal, iTerm, or Claude Code) under System Settings > Privacy & Security > Automation. Enable Mail, Calendar, and Reminders when prompted.
Install in Claude Code
claude mcp add --scope user apple-productivity-local -- \
/usr/local/bin/node /absolute/path/to/apple-productivity-mcp/src/index.jsVerify the connection:
claude mcp get apple-productivity-localRemove it again:
claude mcp remove apple-productivity-local -s userDevelopment
npm install
npm testRun macOS integration tests after granting Automation permissions:
npm run test:integrationThe default test run skips those integration tests because they access the user's live Apple applications.
License
MIT. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gambadio/apple-productivity-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server