NestDaddy

ios-agent

io.github.emazaheri/ios-agent ยท v0.6.0

Drive a real iPhone or an iOS Simulator with an AI agent, through XCUIAutomation.

Connect Runs on your machine

Terminal
claude mcp add ios-agent -e IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE=<IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE> -e IOS_MCP_POLICY__ENABLED=<IOS_MCP_POLICY__ENABLED> -e IOS_MCP_WDA__BUNDLE_ID=<IOS_MCP_WDA__BUNDLE_ID> -e IOS_MCP_SIMULATOR__SHOW_WINDOW=<IOS_MCP_SIMULATOR__SHOW_WINDOW> -- uvx ios-mcp==0.6.0
claude_desktop_config.json
{
  "mcpServers": {
    "ios-agent": {
      "command": "uvx",
      "args": [
        "ios-mcp==0.6.0"
      ],
      "env": {
        "IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE": "<IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE>",
        "IOS_MCP_POLICY__ENABLED": "<IOS_MCP_POLICY__ENABLED>",
        "IOS_MCP_WDA__BUNDLE_ID": "<IOS_MCP_WDA__BUNDLE_ID>",
        "IOS_MCP_SIMULATOR__SHOW_WINDOW": "<IOS_MCP_SIMULATOR__SHOW_WINDOW>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "ios-agent": {
      "command": "uvx",
      "args": [
        "ios-mcp==0.6.0"
      ],
      "env": {
        "IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE": "<IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE>",
        "IOS_MCP_POLICY__ENABLED": "<IOS_MCP_POLICY__ENABLED>",
        "IOS_MCP_WDA__BUNDLE_ID": "<IOS_MCP_WDA__BUNDLE_ID>",
        "IOS_MCP_SIMULATOR__SHOW_WINDOW": "<IOS_MCP_SIMULATOR__SHOW_WINDOW>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "ios-agent": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "ios-mcp==0.6.0"
      ],
      "env": {
        "IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE": "<IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE>",
        "IOS_MCP_POLICY__ENABLED": "<IOS_MCP_POLICY__ENABLED>",
        "IOS_MCP_WDA__BUNDLE_ID": "<IOS_MCP_WDA__BUNDLE_ID>",
        "IOS_MCP_SIMULATOR__SHOW_WINDOW": "<IOS_MCP_SIMULATOR__SHOW_WINDOW>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
IOS_MCP_POLICY__CONFIRM_DESTRUCTIVE
Optional
Ask before an action that sends, deletes, or pays. Leave it on for a device carrying real accounts.
IOS_MCP_POLICY__ENABLED
Optional
The policy gate as a whole: approval, app blocklist, redaction, audit.
IOS_MCP_WDA__BUNDLE_ID
Optional
Bundle id of the WebDriverAgent runner. Free Apple IDs cannot sign com.facebook.*, so device builds need their own.
IOS_MCP_SIMULATOR__SHOW_WINDOW
Optional
Bring Simulator.app to the front when booting, so a person can watch the agent drive. Set false in CI.

Details

Package[email protected] (PYPI, stdio)
First published7 Oct 2026
Last updated7 Oct 2026
Registry nameio.github.emazaheri/ios-agent

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.