Ios Agent logo

Ios Agent

Drive iPhones and iOS Simulators from AI agents through XCUIAutomation, WebDriverAgent, a terminal app, or MCP.

Install Ios Agent

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ios-agent": {
      "command": "uvx",
      "args": [
        "ios-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 31 tools correctly (5d ago).

Overview

The ios-agent MCP server lets an AI agent operate a real iPhone or iOS Simulator through Apple's XCUIAutomation and WebDriverAgent. It exposes 31 tools and 5 resources over stdio or HTTP, returning compact screen digests and action results rather than raw accessibility trees. Use it for agent-driven UI interaction, device inspection, and tasks that need confirmation before irreversible actions. It runs on macOS and supports simulators or tethered phones, with different setup requirements for each.

Use cases

  • Drive an iOS Simulator through an agent
  • Automate interactions on a tethered iPhone
  • Inspect compact iOS screen state
  • Connect an MCP client to an iOS device
  • Confirm irreversible device actions

Key features

  • XCUIAutomation through WebDriverAgent
  • 31 MCP tools and 5 resources
  • stdio and HTTP transport
  • Compact screen digests and deltas
  • Confirmation before irreversible actions
  • Simulator and tethered iPhone support

Tools31

What Ios Agent lets your agent do. Expand a tool for its parameters.

Verified live~4.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

4/4 checks healthy over the last 24d

What it can do

From the 31 tools this server returned when we ran it; 31 declare their own safety hints.

Can delete or modify data · 5Handles credentials · 1Makes network requests · 31Read-only tools · 26
Network at startup2 connections
Files written at startup1

Observed 2026-10-19 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11h ago via OSV.dev · ios-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars3Stargazers on the source repository.
Last commit16d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed31Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Ios Agent works

What ios-agent MCP server does

The ios-agent MCP server connects an AI agent to an iOS Simulator or a tethered iPhone. It uses Apple's XCTest-based XCUIAutomation through WebDriverAgent, rather than private simulator or accessibility frameworks. The project includes an MCP server, a terminal application, and the library that supports both interfaces.

The server exposes 31 tools and 5 resources through stdio or HTTP. Its design targets interactive agents rather than conventional test suites: screen state is reduced to a compact digest, and each action returns the screen it produced. When the next screen is sufficiently similar, the response can be a delta instead of a full repeat. Irreversible actions use a confirmation gate before execution.

How it works

The ios-agent MCP server runs on a Mac and communicates with a simulator or connected phone through WebDriverAgent. Perception is processed on the host using multiple resolution tiers, allowing the system to retry locally in some cases instead of spending another model turn. This reduces the amount of accessibility data sent to the agent compared with raw WebDriverAgent page source.

The automation path uses public Apple APIs through XCTest. It does not depend on CoreSimulator's private accessibility framework or the Accessibility Inspector service. The same device interaction layer is also available through the command-line application, including a manual mode that does not require a model API key.

Setup and configuration

For a simulator, the requirements are macOS, Xcode 16.3 or newer, an installed iOS runtime, and Python 3.12 or newer. A physical iPhone additionally requires go-ios, Developer Mode, and a signing identity. The phone setup includes a signed runner and is more involved than simulator setup.

Install the project with uv sync, then build WebDriverAgent with ./scripts/prepare_wda.sh simulator. Run uv run ios-agent doctor to check the toolchain, runtimes, tunnel, WebDriverAgent signing expiry, devices, and model configuration. The doctor reports a remedy for detected failures. If no simulator runtime exists, Xcode can download an iOS platform; if a runtime exists without a simulator, ios-agent can offer to create one.

For MCP clients, configure a stdio server using uv run --directory . ios-mcp serve. The README includes an example for Claude Code. HTTP is also supported. The terminal agent's model provider is configured separately; documented providers include Anthropic, OpenAI, Azure OpenAI, Gemini, Vertex AI, Bedrock, Groq, Mistral, and local Ollama models.

Tools and capabilities

  • Operate an iOS Simulator or tethered iPhone through MCP.
  • Read compact screen digests instead of raw accessibility XML.
  • Return resulting screens or deltas after actions.
  • Ask for confirmation before irreversible operations.
  • Expose 31 MCP tools and 5 resources over stdio or HTTP.
  • Inspect and drive devices through the accompanying terminal application's manual mode.

Limitations and notes

The ios-agent MCP server requires macOS because it depends on Xcode and Apple's XCTest tooling. Physical-device use requires additional signing and device preparation; a free Apple ID provisioning profile lasts seven days. WebDriverAgent must track the installed Xcode version and may need to be rebuilt.

A simulator runtime is not included with Xcode by default and may require a download of roughly 8 GB. The project is designed for agents, not as a replacement description of a complete test-suite workflow. Model use is optional for manual terminal operation but may be configured for agent-driven runs.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Ios Agent

ios-agent is an MCP server that connects AI agents to a real iPhone or iOS Simulator through Apple's XCUIAutomation and WebDriverAgent. Its main interface exposes 31 tools and 5 resources over stdio or HTTP, with compact screen digests, action results, and confirmation before irreversible operations.

Install it with `uv sync`, build WebDriverAgent with `./scripts/prepare_wda.sh simulator`, and run `uv run ios-agent doctor`. Configure an MCP client to launch `uv run --directory . ios-mcp serve`; the project documents this stdio setup.

A simulator requires macOS, Xcode 16.3 or newer, an iOS runtime, and Python 3.12 or newer. A physical iPhone also needs go-ios, Developer Mode, and a signing identity.

Yes. The README includes an MCP configuration example for Claude Code using the stdio command `uv run --directory . ios-mcp serve`. The server also supports HTTP transport.

Yes, but a tethered iPhone needs go-ios, Developer Mode, a signing identity, and a signed WebDriverAgent runner. The repository notes that physical-device setup is more involved than simulator setup.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewIos Agent AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ios-agent?style=directory)](https://allmcps.com/mcp/ios-agent)
HTML Embed
<a href="https://allmcps.com/mcp/ios-agent"><img src="https://allmcps.com/api/badge/ios-agent?style=directory" alt="Ios Agent on AllMCPs" /></a>