iMCP  by mattt

macOS app bridges personal data to AI via Model Context Protocol

created 5 months ago
732 stars

Top 48.2% on sourcepulse

GitHubView on GitHub
Project Summary

iMCP is a macOS application that bridges personal data and AI models via the Model Context Protocol (MCP). It enables AI assistants like Claude Desktop to access and interact with macOS functionalities such as Calendar, Contacts, Messages, Reminders, Location, Maps, and Weather. This empowers users to leverage their personal data within AI conversations without manual data sharing.

How It Works

iMCP consists of a macOS app and a command-line executable (imcp-server). The app manages system permissions and provides a user interface for service activation. The imcp-server acts as the MCP server, communicating with clients via standard input/output (stdio transport). The app and CLI communicate locally using Bonjour for discovery, relaying requests and responses. The project utilizes a custom Swift SDK (mcp-swift-sdk) for MCP server and client handling, a Swift package (Madrid) for decoding Apple's proprietary iMessage database format, and another Swift package (Ontology) for working with structured data using JSON-LD and Schema.org vocabularies.

Quick Start & Requirements

  • Install: Download and open the iMCP app.
  • Prerequisites: macOS 15.3 or later.
  • Setup: Activate services via the menu bar icon and grant macOS permissions. Configure Claude Desktop by editing ~/Library/Application Support/Claude/claude_desktop_config.json or using the app's "Configure Claude Desktop" button.
  • Docs: iMCP README

Highlighted Details

  • Enables AI access to Messages data by decoding Apple's proprietary typedstream format using the Madrid Swift package.
  • Leverages Schema.org and JSON-LD for structured tool results, facilitating AI understanding.
  • Communicates with MCP clients via stdio transport, proxied through Bonjour discovery.
  • Bundles imcp-server CLI for MCP communication.

Maintenance & Community

  • Acknowledges contributions from Justin Spahr-Summers, David Soria Parra, Ashwin Bhat (MCP), and Christopher Sardegna (iMessage format).
  • Contact for suggestions: imcp@loopwork.com.

Licensing & Compatibility

  • Licensed under the Apache License, Version 2.0.
  • Compatible with commercial use and closed-source linking.

Limitations & Caveats

The Messages service requires manually opening the chat.db file via a file picker due to App Sandbox limitations. The project is not affiliated with Apple Inc.

Health Check
Last commit

5 days ago

Responsiveness

1 day

Pull Requests (30d)
5
Issues (30d)
1
Star History
298 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.