Phantom MCP
An MCP server that enables Claude Code to visually test and control iOS simulators, Android emulators, and real devices through 22 automation tools. It automatically generates test reports with screenshots for mobile app testing directly from the ter
What is Phantom MCP?
Phantom MCP is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to mcp server that enables claude code to visually test and control ios simulators, android emulators, and real devices through 22 automation tools. it automatically generates test reports with screensho...
An MCP server that enables Claude Code to visually test and control iOS simulators, Android emulators, and real devices through 22 automation tools. It automatically generates test reports with screenshots for mobile app testing directly from the ter
This server falls under the Browser Automation category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- An MCP server that enables Claude Code to visually test and
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx phantomConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Phantom MCP
Phantom MCP is a TypeScript MCP server that gives AI coding assistants like Claude Code the ability to visually control iOS simulators, Android emulators, and real physical devices directly from the terminal. It provides 24 automation tools covering device management, UI interaction (tap, swipe, type, scroll), assertions, app lifecycle control, accessibility audits, visual regression diffing, and automatic test report generation with screenshots. Mobile developers use it to write and run end-to-end tests for iOS and Android apps in natural language without leaving their editor, with every test session automatically producing a Markdown report.
Prerequisites
- macOS 13 or later with Xcode 15+ installed (required for iOS simulator control)
- Node.js 18 or later
- Appium 3+ with the xcuitest driver installed (for iOS WebDriverAgent support)
- Android SDK with ADB available in PATH (for Android emulator and device control)
- An MCP-compatible AI client such as Claude Code
Install the phantom-mcp package globally
Install the package from npm. This provides the phantom-mcp binary that the MCP server runs.
npm install -g phantom-mcpInstall Appium and the xcuitest driver for iOS support
Appium is required to launch WebDriverAgent on iOS simulators. Install Appium globally and then add the xcuitest driver.
npm install -g appium
appium driver install xcuitestRegister Phantom in Claude Code
Add Phantom as a user-scoped MCP server in Claude Code. The '-s user' flag makes it available across all projects.
claude mcp add -s user phantom -- npx phantom-mcpVerify your devices are available
Before running tests, confirm your iOS simulators and Android emulators are listed. Phantom detects all available devices automatically.
# Check iOS simulators
xcrun simctl list devices available
# Check Android devices and emulators
adb devices -lStart a test session and select a device
In your AI client, ask Phantom to list devices. If multiple devices are running, use set_device to select the target. Phantom boots the device automatically if needed.
Run tests and generate a report
Ask your AI to perform UI interactions and assertions. At the end of the session, call test_report with 'end' to generate a full Markdown report with screenshots of every step, saved to /tmp/phantom-report-xxx/.
Phantom MCP Examples
Client configuration
Add Phantom MCP to Claude Desktop. Optional environment variables configure the WebDriverAgent path and URL.
{
"mcpServers": {
"phantom": {
"command": "npx",
"args": ["phantom-mcp"],
"env": {
"PHANTOM_WDA_URL": "http://localhost:8100"
}
}
}
}Prompts to try
These prompts demonstrate how to drive mobile app testing with Phantom MCP from Claude Code.
- "List all available iOS simulators and Android emulators, then select the iPhone 16 Pro."
- "Launch the app com.example.myapp, tap the Login button, type '[email protected]' in the email field, and assert that the dashboard is visible."
- "Scroll down until the 'Sign Up' button is visible, then tap it."
- "Run an accessibility audit on the current screen and report any missing labels or small tap targets."
- "Compare the current screenshot against the baseline and highlight any visual regressions."Troubleshooting Phantom MCP
WebDriverAgent crashes in a loop or fails to start
Another process may be occupying port 8100. Run 'lsof -i :8100' to identify it and kill it with 'pkill -f <process-name>'. Common culprits include MobAI and other iOS automation tools.
First WDA launch takes too long or times out
The first WebDriverAgent launch requires Xcode to build the WDA runner, which takes 60-90 seconds. Subsequent launches are nearly instant because the build is cached. Allow enough timeout on the first test run.
Text input produces wrong characters on AZERTY or non-QWERTY keyboard layouts
Phantom uses pbcopy + Cmd+V (paste) for all text input rather than simulating keystrokes, so keyboard layout has no effect. If input is incorrect, check that the target field is focused before typing and use the 'verify' option in type_text to confirm the value after entry.
Frequently Asked Questions about Phantom MCP
What is Phantom MCP?
Phantom MCP is a Model Context Protocol (MCP) server that mcp server that enables claude code to visually test and control ios simulators, android emulators, and real devices through 22 automation tools. it automatically generates test reports with screenshots for mobile app testing directly from the ter It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Phantom MCP?
Follow the installation instructions on the Phantom MCP GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Phantom MCP?
Phantom MCP works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Phantom MCP free to use?
Yes, Phantom MCP is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
Phantom MCP Alternatives — Similar Browser Automation Servers
Looking for alternatives to Phantom MCP? Here are other popular browser automation servers you can use with Claude, Cursor, and VS Code.
Chrome DevTools MCP
★ 40.6kAI-powered Chrome automation server with natural language element detection. Control Chrome browser through MCP protocol for testing, debugging, and performance analysis. Features 91% accuracy in element location, works with free AI models, and suppo
UI TARS Desktop
★ 34.9k📇 🏠 - Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Playwright
★ 32.8kA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automa
Page Agent
★ 18.0kJavaScript in-page GUI agent. Control web interfaces with natural language.
Chrome
★ 11.7kAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation,
LAMDA
★ 7.8kThe most powerful Android RPA agent framework, next generation mobile automation.
Browse More Browser Automation MCP Servers
Explore all browser automation servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Phantom MCP in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Phantom MCP?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.