TopGit
GitHub Repo Review

iMCP: macOS app bridging Apple data to AI via MCP

mattt/iMCP
ITopGit review image for mattt/iMCP
Review by Topgit.dev for mattt/iMCP, with GitHub repository stats and README context.
Quick verdict

iMCP puts your personal Apple data directly in front of Claude, eliminating the need to copy-paste between apps. The implementation is solid—Bonjour-based discovery, proper App Sandbox integration, and a typedstream decoder for Messages demonstrate genuine engineering. The trade-offs are significant: it requires macOS 15.3+, nine separate permission approvals, and the Messages integration reads from the live chat.db WAL file, meaning it only shows messages since the last checkpoint unless you grant folder access instead of file access. Worth it for workflows involving Claude and your calendar or contacts; skip it if you primarily want Claude to help with code.

Stars
★ 1.9k
Forks
⑂ 129
Contributors
👥 15
Language
Swift
License
MIT
Topic
AI Tools
Updated
Oct 2026
Homepage
GitHub

What iMCP is and how it works

iMCP is a macOS menu bar app that runs an MCP server on your local machine, exposing Apple system data—Calendar, Contacts, Location, Maps, Messages, Phone, Reminders, Shortcuts, and Weather—as tools any MCP-compatible AI client can call. When you enable a service, iMCP triggers Apple's standard permission dialogs; once approved, the bundled imcp-server executable handles the MCP protocol and relays requests to the app over the local network using Bonjour. Results come back as JSON-LD documents using Schema.org vocabularies. The app and CLI stay in sync without a cloud component—all processing happens on-device.

Services iMCP exposes to AI clients

  • ✓Calendar service for viewing and creating events with recurrence, alarms, and availability settings
  • ✓Messages service reading from ~/Library/Messages/chat.db using a custom typedstream decoder (Apple has no public API for this)
  • ✓Phone service accessing synced call history from ~/Library/Application Support/CallHistoryDB/
  • ✓Contacts search by name, phone number, or email address via Apple's Contacts framework
  • ✓Location and Maps services including place search, directions, static map image generation, and address-to-coordinate conversion
  • ✓Reminders management with customizable due dates, priorities, and alerts across lists
  • ✓Weather data for any location including temperature, wind speed, and conditions
  • ✓Shortcuts execution with optional text input
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history ↗

What you can actually do with iMCP

  • •Ask Claude to create a calendar event: 'Schedule a 30-minute call with Alex next Tuesday at 2pm'
  • •Search message history: 'Find the last message from Sarah about the project kickoff'
  • •Check call history: 'Who called me yesterday from the unlisted number?'
  • •Look up a contact: 'What's Jay's email and what company do they work at?'
  • •Trigger a Shortcut: 'Run my morning briefing shortcut with today's date'
  • •Check weather remotely: 'Is it going to rain in Seattle this afternoon?'

Installing iMCP on macOS

Download the iMCP app from iMCP.app/download (requires macOS 15.3 or later) or install via Homebrew with `brew install --cask mattt/tap/iMCP`. After opening the app, you'll see an icon in your menu bar. No further setup is needed to start the MCP server—the app advertises itself over Bonjour automatically.

Strengths

  • ✓On-device data access—nothing goes through a cloud service, all processing stays on your Mac
  • ✓Supports nine Apple data domains including Messages (which Apple doesn't provide APIs for)
  • ✓Bonjour-based discovery means zero manual network configuration for local clients
  • ✓JSON-LD output with Schema.org vocabularies is machine-readable and semantically meaningful
  • ✓MIT-licensed Swift SDK for MCP, plus Ontology and Madrid packages for structured data and typedstream decoding—real open-source contributions
  • ✓Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client

Requirements, permissions, and constraints

  • △Requires macOS 15.3 minimum—early adopters only for now
  • △Messages service reads from chat.db WAL file, so newest messages may be missing until the database checkpoint unless you grant folder access instead of file access
  • △No iPad or iPhone support; purely a Mac app
  • △Each service requires a separate permission approval—no bulk grant option
  • △App Sandbox restricts what data iMCP can access without explicit file/folder grants
  • △Not affiliated with or endorsed by Apple

Other ways to connect AI to your Mac data

Build a custom MCP server with the official Swift SDK for specific data sources or workflows the built-in services don't coverUse AppleScript or Shortcuts automation to expose data to AI through a different bridge mechanismRun the MCP Inspector locally to understand the protocol and test MCP server behavior without a full AI client integration

Common questions about iMCP

What MCP clients does iMCP work with?

iMCP works with any client implementing the Model Context Protocol. The README specifically documents integration with Claude Desktop, Claude Code, Cursor, and Amp. Other MCP clients that support stdio transport should work with the imcp-server CLI.

Does iMCP work with Claude Code outside of Claude Desktop?

Yes. Run `claude mcp add --scope user iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server` to add iMCP globally to Claude Code. You can also import existing Claude Desktop MCP configurations with `claude mcp add-from-claude-desktop`.

How does iMCP read iMessage data without Apple APIs?

iMCP reads directly from ~/Library/Messages/chat.db, which stores messages in a SQLite WAL-mode database. Apple has moved messages to a proprietary typedstream format, which iMCP decodes using a custom Swift implementation adapted from the imessage-exporter project. This is reverse-engineered, not an official API.

What macOS version does iMCP require?

iMCP requires macOS 15.3 or later. This is a hard requirement—earlier versions are not supported.

Is iMCP safe and private to use?

iMCP runs entirely on your Mac with no cloud component. The app operates within macOS App Sandbox and uses Apple's standard permission dialogs for each service. Your data goes only to whatever AI client you connect. The README explicitly states iMCP does not collect or store your data.

Can iMCP access data from other apps like WhatsApp or Slack?

No. iMCP only accesses data from Apple system frameworks and databases: Calendar, Contacts, Messages, Reminders, Phone, Location, Maps, Weather, and Shortcuts. Third-party messaging apps store their data outside the areas iMCP is granted access to.

The problem it solves

Asking Claude to check your calendar, look up a contact, or recall a past conversation means manually sharing that content in the chat—breaking flow, losing context, and making multi-step tasks over calendar data or message history tedious. The gap is real: your Mac has all this structured data, but there's no standard bridge to AI clients that respects macOS permissions.

Who should try it — and who should skip

Reach for iMCP if you regularly ask Claude about your calendar, contacts, or message history and want to stop manually pasting content into chats. It's also valuable if you're evaluating MCP clients and want a multi-service server to test against. Skip it if you're on an older macOS version, don't use Claude Desktop or Claude Code, or if your workflow with AI is purely code-focused and doesn't involve personal productivity data. The macOS 15.3 requirement is non-negotiable—there's no workaround for older systems.

Related repositories

Source & attribution

Source: https://github.com/mattt/iMCP

GitHub data · last synced Sep 29, 2026Reviewed by Henry
← Back to TopGit

Want a second opinion on iMCP?

Ask an AI that can read this page — one click and you get its take on iMCP.

GitHub