Drive a real iPhone or an iOS Simulator with an AI agent, through XCUIAutomation.
Connect Runs on your machine
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
{
"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>"
}
}
}
}
{
"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>"
}
}
}
}
{
"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
| Name | Description |
|---|---|
IOS_MCP_POLICY__CONFIRM_DESTRUCTIVEOptional | Ask before an action that sends, deletes, or pays. Leave it on for a device carrying real accounts. |
IOS_MCP_POLICY__ENABLEDOptional | The policy gate as a whole: approval, app blocklist, redaction, audit. |
IOS_MCP_WDA__BUNDLE_IDOptional | Bundle id of the WebDriverAgent runner. Free Apple IDs cannot sign com.facebook.*, so device builds need their own. |
IOS_MCP_SIMULATOR__SHOW_WINDOWOptional | 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 published | 7 Oct 2026 |
| Last updated | 7 Oct 2026 |
| Registry name | io.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.
