← all repositories
mattt/iMCP

An MCP server built from reverse-engineered iMessage guts

It exposes your Mac's personal data to AI clients as MCP tools, so you can stop copy-pasting context into chat windows.

★1.8k stars Swift Coding Assistants
iMCP
Not currently ranked — collecting fresh signals.
star history

What it does

iMCP is a macOS menu-bar application that exposes your personal Apple data—Messages, Calendar, Contacts, Reminders, Location, Maps, and Weather—as tools via the Model Context Protocol. It bundles a sandboxed GUI and a command-line server (imcp-server) that relays requests from AI clients like Claude Desktop, Cursor, and Claude Code into the native macOS frameworks actually holding your information.

The interesting bit

Rather than dumping raw database rows into the context window, the project returns tool results as JSON-LD using Schema.org vocabularies, so a contact becomes a standard Person object and an event becomes a standard Event. For Messages, it reverse-engineered Apple’s proprietary typedstream format—since Apple provides no public API—to decode your iMessage history from the chat.db database.

Key highlights

  • The app and its CLI server discover each other over local Bonjour, letting the sandboxed GUI handle macOS permission dialogs while the CLI manages stdio transport to MCP clients.
  • It ships with Madrid, a Swift package that decodes iMessage’s typedstream blobs, and Ontology, a package that maps Apple framework types like CNContact into structured JSON-LD.
  • The project incubated the official Swift SDK for Model Context Protocol.
  • Each service is gated behind standard macOS permission prompts; the app itself does not collect or store data.

Caveats

  • Requires macOS 15.3 or later; there is no Windows or Linux path.
  • While iMCP keeps data on-device, the README explicitly warns that MCP clients such as Claude Desktop may send your data off-device during tool calls.
  • Accessing Messages requires manually selecting the chat.db file through a file picker so macOS adds it to the App Sandbox.

Verdict

Grab it if you want your AI assistant to actually interact with your Mac’s personal data without copy-pasting. Avoid it if you’re not on macOS 15.3+, or if piping your iMessage history into an LLM feels like a privacy bridge too far.

Frequently asked

What is mattt/iMCP?
It exposes your Mac's personal data to AI clients as MCP tools, so you can stop copy-pasting context into chat windows.
Is iMCP open source?
Yes — mattt/iMCP is open source, released under the MIT license.
What language is iMCP written in?
mattt/iMCP is primarily written in Swift.
How popular is iMCP?
mattt/iMCP has 1.8k stars on GitHub.
Where can I find iMCP?
mattt/iMCP is on GitHub at https://github.com/mattt/iMCP.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.