Data as of
iMCP for Windsurf: Setup & Config
Windsurf: 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 Windsurf
Choose it for permission-controlled access to macOS personal services through an MCP assistant.
- Find a contact using a name, email address, or phone number.
- Combine current location with weather or route questions.
Before you start: iMCP in Windsurf
- 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 Windsurf configuration
Choose Windsurf configuration scope
For iMCP, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.
Add iMCP to Windsurf
Use the iMCP entry below in mcpServers. Keep iMCP's documented stdio connection fields and your other Windsurf entries.
Check iMCP in Windsurf
iMCP: Refresh MCP in Windsurf settings and inspect Cascade’s tools.
Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
{
"mcpServers": {
"iMCP": {
"command": "/Applications/iMCP.app/Contents/MacOS/imcp-server",
"args": [],
"env": {}
}
}
}iMCP tools available to Windsurf
iMCP's stored tool list documents 1 tool; compare it with Windsurf's connected tool list, because the stored list is not a live check.
- fetchContacts
After refreshing iMCP in Windsurf settings, check Cascade's tool list for fetchContacts.
Retrieve contact records through Apple's Contacts framework as JSON-LD.
Troubleshooting iMCP in Windsurf
- Check imcp-server on the machine running Windsurf's MCP integration for iMCP; refresh MCP and inspect Cascade's tools.
- iMCP uses stdio here: Windsurf 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 Windsurf troubleshooting lives in the /clients/windsurf guide.
iMCP — details. Windsurf guide