mattt/iMCP

A macOS app that provides an MCP server to your Messages, Contacts, Reminders and more

iMCP – macOS bridge between your personal data and AI tools

What it is – iMCP is a native macOS application (with a bundled imcp‑server command‑line tool) that implements the Model Context Protocol (MCP). It exposes a set of “tools” – Calendar, Contacts, Location, Maps, Messages, Reminders, Weather – that can be called by MCP‑compatible AI clients such as Claude Desktop, Claude Code, Cursor, and Amp. The AI can request, for example, “What’s the weather where I am?” and iMCP will fetch the data from the OS and return it in a structured JSON‑LD format.


Core capabilities

Service What you can do
Calendar List events, create new events (recurrence, alarms, availability).
Contacts Read your own contact card and search contacts by name, phone or email.
Location Get the current geographic coordinates or convert an address ↔︎ coordinates.
Maps Search places, get directions, look up points of interest, estimate travel time, generate static map images.
Messages Retrieve message history for a given participant within a date range.
Reminders List reminders and create new ones with due dates, priorities and alerts.
Weather Pull current temperature, wind speed and condition for any location.

How it works

  1. MCP server – The bundled imcp‑server runs as a local TCP service (_mcp._tcp via Bonjour). It talks to AI clients over stdio transport (stdin/stdout) and forwards requests to the GUI app.
  2. Permission handling – The macOS app asks for the standard system permissions (Calendar, Contacts, etc.) the first time you enable a service. No data is stored or sent by iMCP itself; only the AI client you connect (e.g., Claude) may transmit the data.
  3. Tool responses – Each tool returns a JSON‑LD document using schema.org vocabularies (e.g., a Person object for a contact). This format is easy for both humans and LLMs to consume.
  4. Client integration – After installing iMCP you add it to a client:
    • Claude Desktop – use the Configure Claude Desktop menu item or copy the server command into claude_desktop_config.json.
    • Claude Codeclaude mcp add --scope user iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server.
    • Cursor – click the provided deep‑link which installs the server command automatically.
    • Ampamp mcp add iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server.
  5. Debugging – The project ships a MCP Inspector (Node.js) and a macOS Companion app to view request/response streams and test the server.

Getting started (quick steps)

  1. Installbrew install --cask mattt/tap/iMCP or download from https://iMCP.app/download (requires macOS 15.3+).
  2. Launch – An icon appears in the menu bar; toggle the blue switch to start the MCP server.
  3. Enable services – Click a service icon, grant the macOS permission dialog, and the icon turns its colour (red = Calendar, green = Messages, etc.).
  4. Connect a client – Follow the client‑specific instructions above; after the client approves the connection you’ll see a hammer (🔨) icon in the chat UI indicating the tools are available.
  5. Ask the AI – Pose a natural‑language request that needs personal data; the AI will invoke the appropriate iMCP tool and return the result.

Technical highlights

  • Swift SDK – iMCP uses the official Swift SDK for Model Context Protocol (https://github.com/modelcontextprotocol/swift-sdk).
  • Message database access – Reads macOS Messages from ~/Library/Messages/chat.db via the custom Madrid Swift package that decodes Apple’s proprietary typedstream format.
  • JSON‑LD ontology – The Ontology Swift package provides helpers to encode Apple framework objects (e.g., CNContact) as schema.org JSON‑LD.
  • Local discovery – Bonjour advertising lets any MCP‑compatible client find the server without manual configuration.

Who might use it?

  • Power users who want their LLM assistants to act on real personal data (schedule meetings, fetch recent messages, check the weather) without manually copying information.
  • Developers building new MCP clients or custom tools – iMCP serves as a reference implementation and a ready‑made data source.
  • Privacy‑conscious users – iMCP never stores or transmits data itself; all data flow is under the user’s control via macOS permissions.

License & legal

  • MIT license.
  • Not affiliated with Apple; iMessage® is a trademark of Apple Inc.

Bottom line: iMCP is a genuine, production‑ready macOS bridge that lets modern AI assistants safely and locally query your personal macOS data through a standard protocol, making AI‑driven personal productivity both possible and privacy‑aware.

Related

  • Project
  • Project
  • Project
  • Project