By omarshahine
Manage macOS Calendar, Reminders, Contacts, and Mail.app directly from Claude Code — schedule events, create tasks, look up contacts, and triage email using native Apple frameworks (EventKit, Contacts, JXA). Includes permission management and an MCP server for local integration.
Check and request macOS permissions for calendars, reminders, contacts, and Mail.app automation
Manage macOS calendar events - list, search, create, update, delete with batch operations
Configure which domains, calendars, and reminder lists the plugin can access
Manage macOS contacts - list, search, get details, create, update, delete
Manage macOS Mail.app - list, read, search, send, reply, update flags, move, delete, and verify sender authentication
Admin access level
Server config contains admin-level keywords
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
GitHub: github.com/omarshahine/Apple-PIM-Agent-Plugin
Native macOS integration for Calendar, Reminders, Contacts, and Mail using EventKit, Contacts, and JXA frameworks. Works with Claude Code (via MCP) and OpenClaw (via native tool registration).
# Build the Swift CLIs
./setup.sh
# Optional: install to PATH for system-wide access
./setup.sh --install
# Add to your shell profile (if not already there)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
The --install flag creates symlinks in ~/.local/bin/, so rebuilding (swift build -c release) automatically updates the global commands.
Inside Claude Code, run:
/plugin marketplace add omarshahine/Apple-PIM-Agent-Plugin
/plugin install apple-pim@apple-pim
Then build the Swift CLIs (once, from a shell):
~/.claude/plugins/cache/apple-pim/apple-pim/*/setup.sh
Restart Claude Code to load the MCP server. The pim-assistant agent triggers automatically when you mention scheduling, reminders, contacts, or email.
# Install from ClawHub
openclaw plugins install apple-pim-cli
# Or install from npm
npm install -g apple-pim-cli
Under the hood, the plugin spawns native macOS Swift binaries (calendar-cli, reminder-cli, contacts-cli, mail-cli) that interact with EventKit, Contacts, and Mail.app via Apple's frameworks.
Prerequisites: Swift CLIs must be on PATH (run ./setup.sh --install first).
Optionally, configure the binary location if the CLIs are not on PATH:
# In your OpenClaw config:
# plugins.entries.apple-pim-cli.config.binDir = "/path/to/swift/.build/release"
Grant permissions: On first use, macOS will prompt for Calendar, Reminders, and Contacts access. Grant these permissions in System Settings > Privacy & Security.
Mail.app Automation: For mail features, you also need to grant Automation permission:
git clone https://github.com/omarshahine/Apple-PIM-Agent-Plugin.git
cd Apple-PIM-Agent-Plugin
./setup.sh
Then inside Claude Code, add the local checkout as a marketplace:
/plugin marketplace add /absolute/path/to/Apple-PIM-Agent-Plugin
/plugin install apple-pim@apple-pim
For OpenClaw (loads TypeScript directly, no build step):
openclaw plugins install -l ./openclaw
The plugin includes a full access control system (PIMConfig) that lets you restrict which calendars, reminder lists, and domains each agent can see. This is useful for:
npx claudepluginhub omarshahine/apple-pim-agent-plugin --plugin apple-pimHomeKit smart home control via MCP - control lights, locks, thermostats, and scenes
AI-powered file renaming using the rename-agent CLI. Analyzes documents, classifies them, and applies consistent naming patterns.
Track and maximize premium credit card benefits, credits, and perks with anniversary-aware checklists
Travel agents for flight research and trip tracking: Google Flights, ITA Matrix, Flighty, Tripsy
The orchestrator plugin for personal productivity - inbox triage, package tracking, reminder creation, newsletter management, and more
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Memory compression system for Claude Code - persist context across sessions