Works with Apple Mail, Calendar, Contacts, Reminders, Notes, Messages and Safari via AppleScript on macOS or iCloud IMAP, CalDAV and CardDAV.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add icloud --env ICLOUD_APP_PASSWORD='<ICLOUD_APP_PASSWORD>' -- npx -y mcp-icloud~/.codex/config.toml
[mcp_servers.icloud]
command = "npx"
args = ["-y", "mcp-icloud"]
env = { ICLOUD_APP_PASSWORD = "<ICLOUD_APP_PASSWORD>" }
# codex mcp add icloud --env ICLOUD_APP_PASSWORD='<ICLOUD_APP_PASSWORD>' -- npx -y mcp-icloud~/.cursor/mcp.json
{
"mcpServers": {
"icloud": {
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"icloud": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"icloud": {
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"icloud": {
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"icloud": {
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}Environment variables
ICLOUD_APP_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.