Data as of

iMCP for Claude Code: Setup & Config

Claude Code: 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 Claude Code

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

  • Ask an assistant to inspect calendar events or create a reminder.
  • Combine current location with weather or route questions.

Before you start: iMCP in Claude Code

  • 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 Claude Code configuration

  1. Choose Claude Code configuration scope

    For iMCP, open Project scope: .mcp.json at the repository root. Project JSON: merge into mcpServers; user scope: use the CLI.

  2. Add iMCP to Claude Code

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

  3. Check iMCP in Claude Code

    iMCP: Inspect claude mcp list and /mcp status.

Config file · Project scope: .mcp.json at the repository root

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

CLI (POSIX shell)
claude mcp add-json --scope project 'iMCP' '{"type":"stdio","command":"/Applications/iMCP.app/Contents/MacOS/imcp-server","args":[],"env":{}}'

iMCP tools available to Claude Code

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

fetchContacts

For iMCP's fetchContacts, review the permission request and arguments in Claude Code before approval.

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

iMCP: full stored tool descriptions

Troubleshooting iMCP in Claude Code

  • If iMCP fails to start, check imcp-server, the working directory, and Claude Code's selected scope; inspect claude mcp list and /mcp.
  • iMCP uses stdio here: Claude Code 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 Claude Code troubleshooting lives in the /clients/claude-code guide.

iMCP — details. Claude Code guide

Frequently asked questions

Register iMCP with the displayed claude mcp add-json --scope project command, or merge the JSON into .mcp.json at the repository root.

Claude Code's iMCP example uses stdio.

iMCP's Claude Code configuration invokes imcp-server.

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

The app download instructions require macOS 15.3 or later.

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