Skip to content
Expo Agent Kit

      Give your AI agent your phone app.

Claude Code, Antigravity and Cursor see, tap, type and debug your Expo app live on a real phone — then shoot a polished launch video of it.

$npx expo install expo-mcp-bridge react-native-view-shot
$npx expo-mcp-bridge init

Free and open source under MIT · v0.3.2 and v0.1.2

Claude CodeAntigravityCursorWindsurfClineVS CodeAny MCP clientExpo GoDev buildsiOSAndroidexpo-routerReact Native

Watch it work.

An agent tests a login form on a real phone: it snapshots the screen, types, taps and reads back only what changed.

agent · expo-app MCP
A

Welcome back

Log in to continue

Email

you@example.com

Password

••••••••
Log In

Don't have an account? Register

Snapshot, tap, type, scroll, screenshot and read logs — then record, direct, pop out, add sound and export an MP4.

Two libraries. One superpower.

App controlv0.3.2

expo-mcp-bridge

Your agent uses your app the way it uses a browser — it reads the screen, taps, types, scrolls, takes screenshots and reads logs and network, on the phone in your hand.

<AgentBridge router={router} />Read the docs
Launch videosv0.1.2

expo-launch-video

Ask for a launch video, get a launch video. Real footage, motion graphics, pop-outs and sound — tweaked in a studio by typing, exported as 1080p MP4.

“make a 30 second launch video”

Built on expo-mcp-bridge — installed with it as a dependency, so one server does app control and video.

Read the docs

No more pasting screenshots into the chat.

Your agent snapshots the visible screen, acts by reference and reads back only what changed — new text, errors and failed requests included. It checks its own work.

  • Fills forms in one batched call
  • Catches the JS error a tap caused
  • Waits for the UI instead of polling
  • Never types your real passwords
you › test the login form with an empty password

agent › app_snapshot
        input "Email" [e3] · input "Password" [e4] · button "Log In" [e7]
agent › app_batch  type e3 "sam@demo.dev" → tap e7
        + text "Please enter your password."

agent › Login blocks an empty password with a clear message.
        No network call was made, no JS errors.

you › now make a 30 second launch video of the app

agent › video_record × 6 takes · video_plan → 5 scenes · video_studio
        Studio open at http://localhost:8790 — export is 1080p MP4.

Built for agents. Kind to your token budget.

Real phones, zero native setup
Expo Go or a dev build, iPhone or Android, over Wi-Fi. Mount one component and you're done.
Token-cheap by design
The agent reads a compact outline of the visible screen — about 70 tokens instead of 1,000 for a screenshot — and every action returns only what changed.
Fast flows
Actions finish the moment the UI settles. app_batch fills a whole form in one call.
Sees what broke
New JS errors and failed requests are attached to the action that caused them.
Full control
Tap, type, scroll, toggle, navigate, wait, screenshots, logs, network, eval — and volume, back and home keys.
Dev only
In production builds <AgentBridge /> renders its children and nothing else.

Up and running in two minutes.

  1. 01

    Install

    Add the package and run init — it writes your agent's MCP config and skill.

  2. 02

    Mount

    Drop <AgentBridge /> into your root layout and open the app on your phone.

  3. 03

    Ask

    “Test the signup form.” “Make a launch video.” Your agent takes it from there.

How it worksYour AI agent talks MCP over stdio to the expo-mcp-bridge server on your computer, which talks over a WebSocket on port 8347 to the AgentBridge component inside your app on the phone.AI agentClaude Code · AntigravityCursor · any MCP clientMCP servernpx expo-mcp-bridgeon your computerYour app<AgentBridge />Expo Go · dev buildMCP · stdioWebSocket :8347tool calls ⇄ resultsWi-Fi (or USB)

Ask for a launch video. Get one.

Your agent records the real app on your phone, picks the best takes, writes the copy and cuts it — intro, pop-outs, side-by-side panels, outro.

Launch video frame: Intro — Logo burst, kinetic title, light sweep.
1080p · 16:9 · with sound
Live footage
Page loads, scrolls, taps and panels recorded in-app on your phone.
Auto-directed
Zooms, pop-outs, captions and chips written from your real numbers.
Sound design
Pops, clicks, whooshes and chimes timed to every animation.
Prompt the studio
Simple edits apply instantly; anything else goes to your agent.

Edit by typing what you want.

A browser editor with live preview, a timeline and a scene inspector. Simple edits apply instantly; anything else goes to your agent, which edits the video live.

  • speed up analytics 2x
  • text on the right
  • zoom into the Start button
  • remove pricing
  • make it 9:16
Tour the studio
The launch video studio: scene list, live preview with a popped-out card, scene inspector, timeline with sound markers, and a prompt box reading “make the intro feel more premium”.

Questions, answered.

Does it work with Expo Go?

Yes. Both libraries are pure JavaScript in your app; screenshots use react-native-view-shot, which ships with Expo Go. In a custom dev build, rebuild once after installing it.

Which agents are supported?

Any MCP client: Claude Code, Antigravity, Cursor, Windsurf, Cline and more. `init` writes the config for Claude Code and an AGENTS.md guide that other agents read.

Is anything shipped to production?

No. <AgentBridge /> only runs in development (__DEV__) and only connects to your own computer.

Does it type my passwords?

No. The skills tell agents never to enter real passwords, payment or ID details — you type real credentials on the phone yourself.

What does it cost?

Nothing. Both libraries are MIT-licensed and free. Studio edits by Claude are optional and use your own Anthropic credentials if you set them.

Free. Open source. Yours to ship.

Both libraries are MIT-licensed. Star them on GitHub, file issues, send pull requests.

$npx expo install expo-mcp-bridge