
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
@heznpc/imcp
Advanced tools
MCP server for the entire Apple ecosystem — Notes, Reminders, Calendar, Contacts, Mail, Messages, Music, Finder, Safari, Photos, Shortcuts, System, and Apple Intelligence. Connect any AI to your Mac.
MCP server for the entire Apple ecosystem — Notes, Reminders, Calendar, Contacts, Mail, Messages, Music, Finder, Safari, System, Photos, Shortcuts, and Apple Intelligence. Connect any AI to your Mac.
If you don't have Node.js, install it first:
# Using Homebrew (recommended)
brew install node
# Or download from https://nodejs.org (LTS version)
npx @heznpc/imcp init
This will:
~/.config/imcp/config.jsonThat's it! Claude can now read your notes, manage reminders, check your calendar, and more.
npx @heznpc/imcp doctor
Checks Node.js version, config files, Claude Desktop setup, macOS permissions, and module status — all in one command.
122 tools across 14 Apple app modules + semantic search, 9 MCP resources, and 20 prompts:
| Module | What it does | Tools |
|---|---|---|
| Notes | Read, create, search, organize notes and folders | 12 |
| Reminders | Create tasks, set due dates, manage lists | 11 |
| Calendar | View events, create meetings, check schedule | 10 |
| Contacts | Look up people, manage contact info | 10 |
| Read, search, send, reply to emails | 11 | |
| Music | Control playback, search tracks, manage playlists | 9 |
| Finder | Browse files, search with Spotlight, organize | 8 |
| Safari | Read web pages, manage tabs | 8 |
| System | Clipboard, volume, dark mode, screenshots, notifications | 10 |
| Photos | Browse albums, import/delete photos | 9 |
| Messages | View chats, send iMessages | 6 |
| Shortcuts | Run Siri Shortcuts from AI | 4 |
| Intelligence | On-device summarize, rewrite, proofread (macOS 26+) | 3 |
| TV | Browse library, control playback, search content | 6 |
| Semantic | On-device cross-app semantic search (Swift bridge) | 4 |
All tools include MCP annotations (readOnlyHint, destructiveHint, openWorldHint) for client-side safety UI.
By default, new installations start with 5 core modules (Notes, Reminders, Calendar, Shortcuts, System) to keep things simple. You can enable more anytime:
# Re-run the setup wizard to change modules
npx @heznpc/imcp init
# Or enable all modules at once
npx @heznpc/imcp --full
Or edit ~/.config/imcp/config.json directly:
{
"disabledModules": ["messages", "intelligence"]
}
| Command | Description |
|---|---|
npx @heznpc/imcp init | Interactive setup wizard |
npx @heznpc/imcp doctor | Diagnose installation issues |
npx @heznpc/imcp | Start MCP server (stdio, default) |
npx @heznpc/imcp --full | Start with all 13 modules enabled |
npx @heznpc/imcp --http | Start as HTTP server (port 3847) |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"imcp": {
"command": "npx",
"args": ["-y", "@heznpc/imcp"]
}
}
}
claude mcp add imcp -- npx -y @heznpc/imcp
git clone https://github.com/heznpc/iMcp.git
cd iMcp
npm install
npm run build
node dist/index.js
| Variable | Default | Description |
|---|---|---|
IMCP_INCLUDE_SHARED | false | Include shared notes/folders |
IMCP_ALLOW_SEND_MESSAGES | true | Allow sending iMessages |
IMCP_ALLOW_SEND_MAIL | true | Allow sending emails |
IMCP_FULL | false | Enable all modules (ignores preset) |
IMCP_DISABLE_{MODULE} | — | Disable a specific module (e.g. IMCP_DISABLE_MUSIC=true) |
GEMINI_API_KEY | — | Google Gemini API key for higher-quality embeddings (optional) |
~/.config/imcp/config.json:
{
"disabledModules": ["messages", "intelligence"],
"includeShared": false,
"allowSendMessages": true,
"allowSendMail": true,
"hitl": {
"level": "destructive-only",
"timeout": 30
}
}
Run iMcp as an HTTP server for remote agents or multi-client setups:
npx @heznpc/imcp --http --port 3847
Require manual approval before destructive operations:
{
"hitl": {
"level": "destructive-only",
"timeout": 30
}
}
Levels: off, destructive-only, all-writes, all
A native SwiftUI companion app for server status monitoring and permission setup:
cd app && swift build -c release
On-device cross-app semantic search powered by Apple's NLContextualEmbedding. Find related notes, events, reminders, and emails by meaning — not just keywords.
npm run swift-build # Build the Swift bridge first
Then use the tools:
semantic_index — Index data from enabled Apple apps into a local vector storesemantic_search — Search by meaning across all indexed datafind_related — Find items related to a specific note/event/remindersemantic_status — Check index statusSupports Korean, English, Japanese, Chinese with automatic language detection. Optionally set GEMINI_API_KEY for higher-quality Google Gemini embeddings.
For semantic search, recurring events/reminders (EventKit), photo import/delete (PhotoKit), and Apple Intelligence — requires macOS 26+:
npm run swift-build
| Tool | Description | Type |
|---|---|---|
list_notes | List all notes with title, folder, dates | read |
search_notes | Search by keyword in title and body | read |
read_note | Read full content by ID | read |
create_note | Create a note with HTML body | write |
update_note | Replace entire body | destructive |
delete_note | Delete (moved to Recently Deleted) | destructive |
move_note | Move to another folder | destructive |
list_folders | List folders with note counts | read |
create_folder | Create a new folder | write |
scan_notes | Bulk scan with metadata and preview | read |
compare_notes | Compare 2-5 notes side by side | read |
bulk_move_notes | Move multiple notes at once | destructive |
| Tool | Description | Type |
|---|---|---|
list_reminder_lists | List all lists with counts | read |
list_reminders | Filter by list/completed | read |
read_reminder | Full details by ID | read |
create_reminder | Create with due date/priority | write |
update_reminder | Update properties | destructive |
complete_reminder | Mark complete/incomplete | write |
delete_reminder | Delete permanently | destructive |
search_reminders | Search by keyword in name/body | read |
create_reminder_list | Create a new reminder list | write |
delete_reminder_list | Delete a reminder list | destructive |
create_recurring_reminder | Create with recurrence rule (Swift/EventKit) | write |
| Tool | Description | Type |
|---|---|---|
list_calendars | List calendars with name/color | read |
list_events | Events in date range with pagination | read |
read_event | Full details with attendees | read |
create_event | Create with location/description | write |
update_event | Update properties | destructive |
delete_event | Delete permanently | destructive |
search_events | Keyword search in date range | read |
get_upcoming_events | Next N events from now | read |
today_events | All events for today | read |
create_recurring_event | Create with recurrence rule (Swift/EventKit) | write |
| Tool | Description | Type |
|---|---|---|
list_contacts | List with email/phone, pagination | read |
search_contacts | Search by name, email, phone, or org | read |
read_contact | Full details (emails, phones, addresses) | read |
create_contact | Create with email/phone/org | write |
update_contact | Update properties | destructive |
delete_contact | Delete permanently | destructive |
list_groups | List contact groups | read |
add_contact_email | Add email to existing contact | write |
add_contact_phone | Add phone to existing contact | write |
list_group_members | List contacts in a group | read |
| Tool | Description | Type |
|---|---|---|
list_mailboxes | List mailboxes with unread counts | read |
list_messages | Recent messages in a mailbox | read |
read_message | Full message content | read |
search_messages | Search by subject/sender | read |
mark_message_read | Mark read/unread | write |
flag_message | Flag/unflag a message | write |
get_unread_count | Total unread across all mailboxes | read |
move_message | Move message to another mailbox | destructive |
list_accounts | List all mail accounts | read |
| Tool | Description | Type |
|---|---|---|
list_playlists | List playlists with track counts | read |
list_tracks | Tracks in a playlist | read |
now_playing | Current track and playback state | read |
playback_control | Play, pause, next, previous | write |
search_tracks | Search by name/artist/album | read |
play_track | Play a specific track by name | write |
play_playlist | Start playing a playlist | write |
get_track_info | Detailed track metadata | read |
set_shuffle | Set shuffle and repeat mode | write |
See the full tool list in the Tools Reference or run the server to explore via your AI client.
MIT
FAQs
MCP server for the entire Apple ecosystem — Notes, Reminders, Calendar, Contacts, Mail, Messages, Music, Finder, Safari, Photos, Shortcuts, System, and Apple Intelligence. Connect any AI to your Mac.
We found that @heznpc/imcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.