Installation
1. Install
npx expo install expo-mcp-bridge react-native-view-shotreact-native-view-shot powers screenshots and ships with Expo Go. In a custom dev build it's a native module — rebuild the dev client once.
2. Mount the bridge
Add it once, as the last child of your root layout:
import { Stack, router } from 'expo-router';
import { AgentBridge } from 'expo-mcp-bridge';
export default function RootLayout() {
return (
<>
<Stack />
<AgentBridge router={router} />
</>
);
}If your root returns a single provider tree, put it inside the innermost provider:
<ThemeProvider value={theme}>
<AppTabs />
<AgentBridge router={router} />
</ThemeProvider>Without expo-router (plain React Navigation), use <AgentBridge /> in App.tsx; app_navigate then uses deep links.
3. Configure your agent
npx expo-mcp-bridge initWrites .mcp.json, the expo-app-control skill and an AGENTS.md section. See Connect your agent for other agents.
4. Run
npx expo startOpen the app on your phone (same Wi-Fi), restart your agent, and ask: “Open the app, try the sign-up form with bad input, and tell me what breaks.”
Use LAN mode (not
--tunnel), and allow Node.js through the Windows firewall when prompted — the phone connects to your computer on port 8347.