ChatGPT iPhone Bridge
ChatGPT iPhone Bridge
Controla Mobile Safari en un iPhone real conectado por USB desde ChatGPT a través de OpenAI Secure MCP Tunnel y Appium MCP.
Este es un puente local experimental y no oficial. No abre ningún puerto de entrada público y no expone Appium directamente a Internet.
Arquitectura
ChatGPT
-> OpenAI Secure MCP Tunnel
-> tunnel-client on your Mac
-> Appium MCP over stdio
-> XCUITest / WebDriverAgent
-> USB-connected iPhone
-> Mobile SafariRequisitos
macOS con Xcode 16 o superior
Node.js 22 o superior
un iPhone emparejado con el Modo desarrollador activado
Ajustes -> Apps -> Safari -> Avanzado -> Inspector web activado en el iPhone
Ajustes -> Apps -> Safari -> Avanzado -> Automatización remota activado en el iPhone
un Apple ID/Equipo personal en Xcode
un perfil de desarrollo válido cuyo bundle ID sea
*o termine en.xctrunnerun OpenAI Secure MCP Tunnel asociado a la organización de destino de Platform y al espacio de trabajo de ChatGPT
una clave de API de runtime con permisos Tunnels Read + Use
acceso a la app de ChatGPT en modo desarrollador
Documentación oficial del túnel: OpenAI Secure MCP Tunnel.
1. Arranque
bash scripts/bootstrap-local.shEl repositorio fija appium-mcp en la versión 1.92.7. El arranque valida la cadena de herramientas, instala el paquete exacto, ejecuta un handshake directo de MCP, enumera los dispositivos de Xcode e informa de la disponibilidad de firma.
Si falta la firma, añade el Apple ID en Xcode -> Ajustes -> Cuentas y selecciona el Equipo personal. A continuación, genera el perfil exacto del runner de WDA desde el proyecto incluido:
IOS_DEVICE_UDID=<connected UDID> \
DEVELOPMENT_TEAM=<Apple team ID> \
bash scripts/prepare-ios-signing.shEl bundle ID del perfil de runner predeterminado es com.kapunakap.chatgptiphonebridge.WebDriverAgentRunner.xctrunner. Sobrescribe la base con WDA_BUNDLE_ID_BASE cuando sea necesario; omite el sufijo .xctrunner porque Xcode lo añade al runner.
A continuación, vuelve a ejecutarlo:
bash scripts/ios-signing-status.shAntes del primer lanzamiento de WDA, confía en la app de desarrollador en el iPhone en Ajustes -> General -> VPN y gestión de dispositivos.
Si la creación de la sesión de Safari informa de que el depurador remoto no respondió, vuelve a comprobar tanto Inspector web como Automatización remota, descarta cualquier modal de Safari o pantalla de primer uso y mantén el teléfono desbloqueado. about:blank debe funcionar antes de probar una URL de aplicación.
2. Aprovisionar un túnel dedicado
Crea un túnel en OpenAI Platform y asócialo al espacio de trabajo de ChatGPT que lo utilizará. Guarda su clave de runtime fuera de este repositorio:
mkdir -p "$HOME/.config/chatgpt-iphone-bridge"
chmod 700 "$HOME/.config/chatgpt-iphone-bridge"
umask 077
cat > "$HOME/.config/chatgpt-iphone-bridge/runtime-api-key"
# paste the runtime key, then press Ctrl-D
chmod 600 "$HOME/.config/chatgpt-iphone-bridge/runtime-api-key"Nunca pases la clave en bruto como argumento de línea de comandos ni hagas commit de ella.
3. Conectar
CONTROL_PLANE_TUNNEL_ID=tunnel_... bash scripts/connect-tunnel.shValores predeterminados:
alias del túnel:
local-iphoneclave de runtime:
~/.config/chatgpt-iphone-bridge/runtime-api-keycapturas de pantalla:
~/Library/Application Support/chatgpt-iphone-bridge/screenshots
4. Crear la app de ChatGPT
En los Plugins del modo desarrollador de ChatGPT:
Crea una app llamada Local iPhone.
Elige Tunnel.
Selecciona el túnel de iPhone dedicado.
Elige No Auth para la propia app MCP.
La comprobación de salud local no equivale a la aceptación en el entorno alojado. Confirma que ChatGPT puede descubrir y llamar a las herramientas de Appium antes de confiar en el puente.
5. Preparar el dispositivo real
Pide a ChatGPT que use Local iPhone en este orden:
Llama a
select_deviceconplatform=iosyiosDeviceType=real.Llama a
appium_prepare_ios_real_devicesin un UUID de perfil.Elige un perfil devuelto marcado como
recommendedForWda=true.Vuelve a llamar a la herramienta de preparación con ese UUID de perfil.
Crea una sesión con
platform=iosy una cadena JSON de capacidades que contenga:
{
"browserName": "Safari",
"appium:usePreinstalledWDA": true,
"appium:prebuiltWDAPath": "<returned path>",
"appium:wdaLaunchTimeout": 30000,
"appium:initialDeeplinkUrl": "<exact test URL>"
}Usa los valores exactos devueltos. Tras una selección o preparación correcta del dispositivo real, el puente inyecta el UDID del iPhone solo en tiempo de ejecución cuando una sesión real de WDA omite appium:udid. Un UDID explícito se conserva. No guardes IDs de dispositivo, IDs de equipo, UUID de perfil ni rutas de WDA en este repositorio.
Operaciones
npm test
bash scripts/status.sh
bash scripts/stop.shPara una llamada local única a una herramienta MCP, pasa los argumentos por stdin para que los valores específicos del dispositivo no aparezcan en los argumentos del proceso:
printf '%s\n' '{"platform":"ios","iosDeviceType":"real"}' \
| npm run tool -- select_deviceElimina la sesión activa de Appium antes de detener el túnel cuando sea posible.
Seguridad de la sesión
Este puente compone el servidor predeterminado a través de la API de plugins appium-mcp/core compatible, sin añadir ni reemplazar herramientas de Appium. Mantiene la interfaz original de 31 herramientas y añade solo salvaguardas en tiempo de ejecución:
una selección de dispositivo real permanece disponible para la creación posterior de sesiones de WDA;
los UDID explícitos de iPhone se conservan;
las capacidades de sesión de simulador y de no iOS no se modifican;
la creación concurrente o duplicada de sesiones propiedad de Appium falla de forma segura.
Los identificadores de dispositivo permanecen solo en memoria y nunca se escriben en el repositorio.
Seguridad
Este puente puede controlar un teléfono real desbloqueado y cualquier sesión de Safari iniciada. Lee SECURITY.md antes de conectarlo.
Licencia
MIT. Consulta LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
Live browser debugging for AI assistants — DOM, console, network via MCP.
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/kapunakap/chatgpt-iphone-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server