ChatGPT iPhone Bridge
ChatGPT iPhone Bridge
Steuern Sie Mobile Safari auf einem echten per USB verbundenen iPhone von ChatGPT aus über den OpenAI Secure MCP Tunnel und Appium MCP.
Dies ist eine inoffizielle, experimentelle lokale Brücke. Sie öffnet keinen öffentlichen eingehenden Port und setzt Appium nicht direkt dem Internet aus.
Architektur
ChatGPT
-> OpenAI Secure MCP Tunnel
-> tunnel-client on your Mac
-> Appium MCP over stdio
-> XCUITest / WebDriverAgent
-> USB-connected iPhone
-> Mobile SafariVoraussetzungen
macOS mit Xcode 16 oder neuer
Node.js 22 oder neuer
ein gekoppeltes iPhone mit aktiviertem Entwicklermodus
Einstellungen -> Apps -> Safari -> Fortgeschritten -> Web Inspector auf dem iPhone aktiviert
Einstellungen -> Apps -> Safari -> Fortgeschritten -> Remote Automation auf dem iPhone aktiviert
eine Apple-ID/ein Personal Team in Xcode
ein gültiges Entwicklungsprofil, dessen Bundle-ID
*ist oder auf.xctrunnerendetein OpenAI Secure MCP Tunnel, der der Ziel-Plattform-Organisation und dem ChatGPT-Workspace zugeordnet ist
ein Runtime-API-Schlüssel mit Tunnels Read + Use
Zugriff auf die ChatGPT-App im Entwicklermodus
Offizielle Tunnel-Dokumentation: OpenAI Secure MCP Tunnel.
1. Bootstrap
bash scripts/bootstrap-local.shDas Repository legt appium-mcp auf 1.92.7 fest. Das Bootstrap validiert die Toolchain, installiert das exakte Paket, führt einen direkten MCP-Handshake aus, listet Xcode-Geräte auf und meldet die Signierbereitschaft.
Falls die Signierung fehlt, fügen Sie die Apple-ID unter Xcode -> Einstellungen -> Accounts hinzu und wählen Sie das Personal Team aus. Erzeugen Sie dann das exakte WDA-Runner-Profil aus dem gebündelten Projekt:
IOS_DEVICE_UDID=<connected UDID> \
DEVELOPMENT_TEAM=<Apple team ID> \
bash scripts/prepare-ios-signing.shDie Standard-Bundle-ID des Runner-Profils ist com.kapunakap.chatgptiphonebridge.WebDriverAgentRunner.xctrunner. Überschreiben Sie die Basis bei Bedarf mit WDA_BUNDLE_ID_BASE; lassen Sie das Suffix .xctrunner weg, da Xcode es zum Runner hinzufügt.
Führen Sie es dann erneut aus:
bash scripts/ios-signing-status.shVertrauen Sie vor dem ersten WDA-Start der Developer App auf dem iPhone unter Einstellungen -> Allgemein -> VPN & Geräteverwaltung.
Falls die Erstellung der Safari-Sitzung meldet, dass der Remote-Debugger nicht geantwortet hat, überprüfen Sie sowohl Web Inspector als auch Remote Automation erneut, schließen Sie alle modalen Safari-Dialoge oder den Erststart-Bildschirm und halten Sie das Telefon entsperrt. about:blank muss funktionieren, bevor Sie eine Anwendungs-URL testen.
2. Einen dedizierten Tunnel bereitstellen
Erstellen Sie einen Tunnel in der OpenAI Platform und ordnen Sie ihn dem ChatGPT-Workspace zu, der ihn verwenden wird. Speichern Sie seinen Runtime-Schlüssel außerhalb dieses Repositorys:
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"Übergeben Sie den Rohschlüssel niemals als Befehlszeilenargument und committen Sie ihn nicht.
3. Verbinden
CONTROL_PLANE_TUNNEL_ID=tunnel_... bash scripts/connect-tunnel.shStandardwerte:
Tunnel-Alias:
local-iphoneRuntime-Schlüssel:
~/.config/chatgpt-iphone-bridge/runtime-api-keyScreenshots:
~/Library/Application Support/chatgpt-iphone-bridge/screenshots
4. Die ChatGPT-App erstellen
In den Plugins des ChatGPT-Entwicklermodus:
Erstellen Sie eine App namens Local iPhone.
Wählen Sie Tunnel.
Wählen Sie den dedizierten iPhone-Tunnel.
Wählen Sie No Auth für die MCP-App selbst.
Ein lokaler Health-Check ist keine Abnahme durch die gehostete Umgebung. Vergewissern Sie sich, dass ChatGPT die Appium-Tools erkennen und aufrufen kann, bevor Sie der Brücke vertrauen.
5. Das echte Gerät vorbereiten
Bitten Sie ChatGPT, Local iPhone in dieser Reihenfolge zu verwenden:
Rufen Sie
select_devicemitplatform=iosundiosDeviceType=realauf.Rufen Sie
appium_prepare_ios_real_deviceohne eine Profil-UUID auf.Wählen Sie ein zurückgegebenes Profil, das mit
recommendedForWda=truemarkiert ist.Rufen Sie das Vorbereitungstool erneut mit dieser Profil-UUID auf.
Erstellen Sie eine Sitzung mit
platform=iosund einem JSON-Capabilities-String, der Folgendes enthält:
{
"browserName": "Safari",
"appium:usePreinstalledWDA": true,
"appium:prebuiltWDAPath": "<returned path>",
"appium:wdaLaunchTimeout": 30000,
"appium:initialDeeplinkUrl": "<exact test URL>"
}Verwenden Sie die exakt zurückgegebenen Werte. Nach erfolgreicher Auswahl oder Vorbereitung des echten Geräts injiziert die Brücke die nur zur Laufzeit verfügbare iPhone-UDID, wenn eine echte WDA-Sitzung appium:udid auslässt. Eine explizite UDID bleibt erhalten. Speichern Sie keine Geräte-IDs, Team-IDs, Profil-UUIDs oder WDA-Pfade in diesem Repository.
Betrieb
npm test
bash scripts/status.sh
bash scripts/stop.shÜbergeben Sie bei einem lokalen einmaligen MCP-Toolaufruf die Argumente über stdin, damit gerätespezifische Werte nicht in den Prozessargumenten erscheinen:
printf '%s\n' '{"platform":"ios","iosDeviceType":"real"}' \
| npm run tool -- select_deviceLöschen Sie die aktive Appium-Sitzung, bevor Sie den Tunnel stoppen, falls möglich.
Sitzungssicherheit
Diese Brücke setzt den Standard-Server über die unterstützte Plugin-API von appium-mcp/core zusammen, ohne Appium-Tools hinzuzufügen oder zu ersetzen. Sie behält die Upstream-Schnittstelle mit 31 Tools bei und fügt nur Laufzeit-Schutzmaßnahmen hinzu:
eine Auswahl des echten Geräts bleibt für die spätere Erstellung von WDA-Sitzungen verfügbar;
explizite iPhone-UDIDs bleiben erhalten;
Simulator- und Nicht-iOS-Sitzungs-Capabilities bleiben unverändert;
gleichzeitige oder doppelte Erstellung von Appium-eigenen Sitzungen schlägt sicher fehl.
Gerätekennungen verbleiben ausschließlich im Speicher und werden niemals in das Repository geschrieben.
Sicherheit
Diese Brücke kann ein echtes entsperrtes Telefon und alle angemeldeten Safari-Sitzungen steuern. Lesen Sie SECURITY.md, bevor Sie sie verbinden.
Lizenz
MIT. Siehe 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