phantom-touch
👻 phantom-touch
An MCP server for iOS simulator automation — with clipboard-based text input that works with React Native.
phantom-touch gives AI agents full control over iOS simulators: screenshots, element inspection, gestures, app management, and most importantly — reliable text input into React Native forms.
Quick Start
Claude Desktop / Cursor
Add to your MCP configuration:
{
"mcpServers": {
"phantom-touch": {
"command": "npx",
"args": ["-y", "phantom-touch"]
}
}
}That's it. No cloning, no building — just npx.
The Problem
Every existing iOS MCP tool fails at filling React Native TextInput components because:
HID keyboard events don't trigger
onChangeTextWebDriverAgent
setValuegets overwritten by React state
The Solution
phantom-touch uses a clipboard + paste strategy:
simctl pbcopy→ set simulator clipboardidb tap→ focus the fieldCmd+V→ paste triggersonChangeText✅
16 MCP Tools
Module | Tools |
Simulator |
|
App |
|
Screen |
|
Gesture |
|
Input ⭐ |
|
Prerequisites
macOS with Xcode installed
iOS Simulator
IDB (iOS Development Bridge):
brew install idb-companionNode.js 18+
Usage Examples
Once configured, ask your AI agent:
"Take a screenshot of the simulator"
"List all UI elements on screen"
"Tap the Create Account button at (200, 500)"
"Type 'hello@example.com' into the email field at (200, 450)"
"Open the deep link myapp://login"
Text Input Strategies
paste (default, recommended)
Uses clipboard + Cmd+V. Works with React Native controlled TextInput.
pt_type_text(text: "Hello", x: 200, y: 400, strategy: "paste")keyboard
Uses HID keyboard events. Faster but may fail with React Native.
pt_type_text(text: "Hello", x: 200, y: 400, strategy: "keyboard")Development
git clone https://github.com/hieudtr8/phantom-touch.git
cd phantom-touch
npm install
npm run build
npm run dev # Run in dev mode with tsxLicense
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hieudtr8/phantom-touch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server