ios-agent MCP server
io.github.emazaheri/ios-agent·v0.6.0·3 starsDrive a real iPhone or an iOS Simulator with an AI agent, through XCUIAutomation.
3 stars37 downloads/wk
Reviews
Write oneNobody has reviewed ios-agent yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ios-agent tools (31)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
ios_clipboardRead or write the device clipboard.
ios_close_sessionRelease the device and shut down its WebDriverAgent runner.
ios_doctorCheck that this machine can drive an iOS device, and say how to fix what it can't.
ios_dragDrag one element onto another, for reordering lists and moving items.
ios_export_traceReturn the ordered record of everything this session has done.
ios_findSearch the screen's accessibility tree, including what the digest hides.
ios_get_logsRead recent device logs. Useful when an app misbehaves and the UI does not say why.
ios_haltStop this session from taking further action.
ios_handle_alertAnswer a system alert.
ios_install_appInstall an app from a local .app or .ipa.
ios_launch_appBring an app to the foreground and return its screen.
ios_list_appsList apps installed on the device, with their bundle identifiers.
ios_list_devicesList iOS Simulators and attached physical iPhones available for automation.
ios_observeRead the screen as a compact list of elements with short refs.
ios_open_sessionAttach to a device and start driving it.
ios_open_urlOpen a URL or deep link.
ios_press_buttonPress a hardware button or a keyboard key.
ios_read_textRead the text of the screen, or of one element and everything inside it.
ios_resumeClear a halt after a human has decided it is safe to continue.
ios_screenshotCapture the screen as an image.
ios_scrollScroll, optionally until some text comes into view.
ios_session_statusReport the current session: device, foreground app, and safety state.
ios_set_device_stateChange device-level state. Appearance, location, and status bar are Simulator only.
ios_set_permissionSet a privacy permission without going through the alert.
ios_set_valueSet a switch, slider, or picker wheel to a value.
ios_swipeSwipe once, for carousels, page views, and swipe-to-reveal rows.
ios_tapTap an element and return the resulting screen.
ios_terminate_appForce-quit an app.
ios_typeType into a field, focusing it first when a ref or target is given.
ios_type_secretType a stored secret without ever seeing its value.
ios_wait_forWait for something to appear or disappear.
Public scan report
scanner v0.1.10 · 2026-10-29 · same rubric, same numbers if you re-run it
- Code scan58 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 20 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How ios-agent compares
Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 90% of 1,301 Productivity servers
- Tools
- 31
- the typical Productivity server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 3
- more than 65% of 855 Productivity servers
- Downloads a week
- 37
- more than 23% of 433 Productivity servers with a package
What its tools let an agent do: 31 read
Release history: 2 versions in the registry since 2026-09-01, latest 2026-10-07, typically one every 35 days.
Install ios-agent in Claude Code, Cursor or VS Code
claude mcp add ios-agent -- uvx ios-mcp
What the publisher says
From the ios-agent repository's README, as published. We do not edit it. Read it on GitHub
ios-agent
Drive an iPhone or an iOS Simulator with an AI agent. A terminal app, an MCP server, and the library beneath both.
One goal, start to finish, at 2.5x. The agent deep-links into Maps for the driving time, then taps through to walking and transit and scrolls to read the detail: 4 actions, 1 observation, 2,767 device tokens, 49.8s of real time. The terminal is the agent's own transcript; the phone is an iOS Simulator being driven by it.
Built on Apple's XCUIAutomation through WebDriverAgent. It runs on a Mac and drives a simulator or a tethered phone. It is designed for agents rather than test suites: screens arrive as a compact digest instead of raw accessibility XML, actions hand back the screen they produced, and anything irreversible asks first.
uv sync && uv run ios-agent quickstartquickstart checks the toolchain, offers the repairs that are cheap enough to be worth offering, builds WebDriverAgent if it is missing (about 20 seconds, once), and drops you into manual mode, which drives the device by hand and needs no API key. When you want the agent itself:
uv run ios-agent "turn on bold text"Contents
- Why it is built this way
- Requirements · Setup
- The terminal app
- Connecting your own agent over MCP
- What the model sees
- Safety
- Measured on real hardware
- Development · Contributing
Why it is built this way
Raw WebDriverAgent page source for a 200-row list runs to roughly 37,000 tokens. Re-reading that after every tap exhausts a context window in a handful of steps. Four decisions follow from that, and they are the whole design:
Everything else in the repository is downstream of those.
Requirements
Xcode ships without a simulator runtime. If xcrun simctl list runtimes is empty, xcodebuild -downloadPlatform iOS fetches one (around 8 GB). If a runtime is installed but no simulator has been created, ios-agent offers to create one for you: that part takes about a second.
Setup
uv sync
./scripts/prepare_wda.sh simulator # builds WebDriverAgent, once
uv run ios-agent doctor # says exactly what is still missingShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
ios-agent: common questions
- Is ios-agent MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the ios-agent safety report
- How do I install ios-agent?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does ios-agent need an API key?
- No secret keys are declared. It reads 4 settings from the environment.
- Is ios-agent maintained?
- The last commit was 28 days ago (2026-10-09). The latest release is v0.6.0.
- What can I use instead of ios-agent?
- Servers from other publishers that do the same job: Argent MCP server, Mirroir MCP server and iPhone Use MCP server. Compare all ios-agent alternatives.
- How does ios-agent compare with other Productivity MCP servers?
- safety score 92/100 (higher than 90% of 1,301 Productivity servers); tools 31 (the typical Productivity server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to ios-agent
Same job from other publishers: the closest match first, then the best rated.
- ArgentDrive iOS Simulators, Android emulators, TVs and Electron/web apps from your coding agentnot reviewedWidely usedA
- MirroirDrive a stock iPhone via iPhone Mirroring: no Developer Mode, Xcode or WDA. LLM-free skill replay.not reviewedEstablishedC
iPhone UseDrive a real iPhone from a Mac: read the screen as text, tap, type, scroll, replay saved flows.not reviewedGrowingB- Sceneview3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.not reviewedEstablishedA
- SceneView3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.not reviewedEstablishedA