Known limitations and risks

This page summarizes limitations and risks before adopting React Native MCP. For technical details, follow the links in each row.


Limitations summary

LimitationDescriptionWorkaround / recommendation
iOS physical deviceidb/simctl touch injection not supportedUse XCTest/WDA or MCP type_text. See idb setup docs.
Android physical deviceIf localhost is not the host, app cannot reach port 12300 (runtime limit)Use emulator or port forwarding. See troubleshooting.
Korean input (idb)idb ui text "한글" may crash the appUse MCP type_text. See idb setup.
Multi-touchidb/adb support single touch onlyPinch/rotate not supported.
Expo Golocalhost WebSocket may be restrictedPrefer Expo Dev Client. See Expo Guide.
ProductionMCP runtime is off by defaultEnable only when needed with env (e.g. REACT_NATIVE_MCP_ENABLED=true) and review security.
FlatList virtualizedVirtualized items are not in the snapshotUse scroll_until_visible then query.
WebViewidb describe-all does not show WebView contentsPrefer webview_evaluate_script.
iPad HIDReturn(40) can trigger multitaskingCheck per app. See idb setup.

Risks (security and operations)

  • Security: The MCP runtime assumes localhost-only use. Prefer leaving it disabled in production; if enabled, review port and network exposure.
  • Operations: Health check (GET /health) and simple metrics (GET /metrics) are provided. See Observability. Additional metrics (request count, latency) may be added in a future roadmap.