React Native

44 tools. 27 can modify or destroy data without limits.

4 destructive tools with no built-in limits. Policy required.

Last updated:

27 can modify or destroy data
17 read-only
44 tools total

Community server · catalogue entry verified 28/06/2026

How to control React Native ↓

What React Native exposes to your agents

Read (17) Write / Execute (23) Destructive / Financial (4)
Critical Risk

The most dangerous React Native tools

27 of React Native's 44 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control React Native

PolicyLayer is an MCP gateway — it sits between your AI agents and React Native, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "clear": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_media": {
    "limits": [
      {
        "counter": "add_media_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "accessibility_audit": {
    "limits": [
      {
        "counter": "accessibility_audit_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register React Native — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON REACT NATIVE →

Instant setup, no code required.

All 44 React Native tools

EXECUTE 15 tools
Execute evaluate_script Run JS in React Native app context (not WebView). Returns JSON result. For WebView JS, use webview_evaluate_sc Execute input_key Send key event to device (Return, Backspace, ENTER, BACK, etc.). Execute open_deeplink Open deep link on simulator/device. Navigate to screens via URL scheme. Execute press_button Press hardware button (HOME, BACK, LOCK, VOLUME, etc.). Execute scroll_until_visible Scroll until RN element matching selector becomes visible. For long lists and off-screen elements. After scrol Execute set_network_mock Add network mock. Matching XHR/fetch return mock without hitting network. Execute set_orientation Set device orientation to portrait or landscape. iOS: simulator only. Execute start_render_highlight Show visual re-render overlay on device. Highlights re-rendering components with count badges. Execute start_render_profile Start render profiling. Tracks mounts, re-renders, and unnecessary renders. Execute start_video_recording Start screen recording. Call stop_video_recording to save. Execute swipe Swipe from (x1,y1) to (x2,y2) in points. Get coordinates from query_selector. For scrolling and drawers. Execute switch_keyboard Switch keyboard language on simulator/emulator. Use before input_text for correct layout. Execute tap Tap at (x,y) in points. Get coordinates from query_selector (pageX/pageY). For WebView DOM elements, use webvi Execute webview_evaluate_script Run JS inside a WebView (DOM query, click, read text, etc). Use this instead of tap for any WebView content — Execute webview_tap Tap a DOM element inside a WebView using native tap. Resolves CSS selector to screen coordinates via getBoundi
READ 17 tools
Read accessibility_audit Run accessibility audit on component tree. Returns violations with rule, selector, and severity. Read describe_ui Query native UI/accessibility tree. Large payload. Cannot see inside WebView content. Prefer query_selector fo Read get_component_source Get source file location (file, line, column) for a component. Use selector or uid from take_snapshot. Read get_debugger_status MCP connection status. appConnected, devices list (deviceId, platform). Call first to see connected devices. Read get_orientation Get current device orientation (portrait/landscape). No app connection required. Read get_render_report Get render profile report. Shows hot components, unnecessary renders, and trigger analysis. Read get_screen_size Get screen size (width/height in px). iOS requires app connection. Read get_state_changes List captured state changes. Filter by component, since, limit. Read inspect_state Inspect React state hooks by selector. Works with useState, Zustand, etc. Read list_apps List installed apps. No app connection required. Returns bundle IDs or package names. Read list_console_messages List captured console logs. Filter by level, since, limit. Levels: log, info, warn, error. Read list_devices List connected simulators/devices. Returns deviceId, state, model. Use for other tools. Read list_network_mocks List all active network mock rules. Read list_network_requests List captured network requests. Filter by url, method, status, since, limit. Read stop_video_recording Stop the current screen recording and return the saved file path. Read take_screenshot Capture device screen as JPEG. EXPENSIVE: consumes large image tokens. Prefer text-based tools first: query_se Read take_snapshot Capture component tree. Compact text output. uid = testID or path for tap/swipe. Use interactive=true for mini

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about React Native

Can an AI agent delete data through the React Native MCP server? +

Yes. The React Native server exposes 4 destructive tools including clear, clear_state, remove_network_mock. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through React Native? +

The React Native server has 8 write tools including add_media, assert_state, file_push. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach React Native.

How many tools does the React Native MCP server expose? +

44 tools across 4 categories: Destructive, Execute, Read, Write. 17 are read-only. 27 can modify, create, or delete data.

How do I enforce a policy on React Native? +

Register the React Native MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every React Native tool call.

Deterministic rules across all 44 React Native tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

44 React Native tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.