Data as of

iMCP for Cursor: Setup & Config

Cursor: Connect an MCP assistant to selected macOS personal-data services through a menu-bar app. iMCP exposes calendar, contacts, messages, reminders, location, maps, and weather capabilities with explicit system permissions.

What you can do with iMCP in Cursor

Choose it for permission-controlled access to macOS personal services through an MCP assistant.

  • Read message history for selected participants and dates.
  • Combine current location with weather or route questions.

Before you start: iMCP in Cursor

  • macOS 15.3 or later
  • iMCP app installed and open
  • Permissions granted for the chosen services
  • An MCP-compatible client

The executable path appears in the README's Claude Code and Amp commands. Install the app from its download page or with brew install --cask mattt/tap/iMCP. Activate services in the app and approve the connecting client.

iMCP Cursor configuration

  1. Choose Cursor configuration scope

    For iMCP, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.

  2. Add iMCP to Cursor

    Use the iMCP entry below in mcpServers. Keep iMCP's documented stdio connection fields and your other Cursor entries.

  3. Check iMCP in Cursor

    iMCP: Enable in Cursor’s MCP settings; inspect tools.

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

JSON
{
  "mcpServers": {
    "iMCP": {
      "command": "/Applications/iMCP.app/Contents/MacOS/imcp-server",
      "args": [],
      "env": {}
    }
  }
}

iMCP tools available to Cursor

iMCP's stored tool list documents 1 tool; compare it with Cursor's connected tool list, because the stored list is not a live check.

fetchContacts

Find fetchContacts under iMCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Retrieve contact records through Apple's Contacts framework as JSON-LD.

iMCP: full stored tool descriptions

Troubleshooting iMCP in Cursor

  • Cursor must find imcp-server for iMCP. Enable the project/user entry in MCP settings and inspect its tools.
  • iMCP uses stdio here: Cursor must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires macOS 15.3 or newer.
  • Known limitation: Connected AI clients may send retrieved personal data off device.
  • Known limitation: Message access needs explicit selection of the local message database.
  • General Cursor troubleshooting lives in the /clients/cursor guide.

iMCP — details. Cursor guide

Frequently asked questions

Cursor's iMCP entry belongs under mcpServers in .cursor/mcp.json (project) or ~/.cursor/mcp.json (user). Confirm the active scope in MCP settings.

Cursor's iMCP example uses stdio.

iMCP's Cursor configuration invokes imcp-server.

iMCP's stored list contains 1 tool, including fetchContacts. Compare those names with Cursor's connected tool list; the stored list is not a live check.

No. The README warns that clients such as Claude Desktop send tool data off device, even though iMCP itself does not collect or store it.

The bundled imcp-server process uses stdio with the client and relays requests to the app through local Bonjour discovery.