Maestro MCP for AI Coding Agents

Give your coding agent a real device. With Maestro MCP, agents like Claude Code, Cursor, and Codex can operate your live app, run flows, and check the UI without leaving the chat.

Ashish Kharche

Maestro MCP for AI coding agents

Large language models are strong at reading code and proposing UI tests, but they often stop short of operating a live app. You either hand them a static screenshot or test the app yourself and tell the agent what happened.

Maestro MCP makes that loop simple. Install the Maestro CLI, add one MCP server to your coding agent, boot an iOS simulator or Android emulator (or connect a physical Android device), and ask the agent to check the UI. Maestro implements the Model Context Protocol (MCP), so agents such as Claude Code, Cursor, Codex, Copilot, Gemini, Windsurf, JetBrains AI Assistant, and Grok Build can list devices, inspect the screen, run flows, take screenshots, open the Viewer, and optionally send work to Maestro Cloud.

Agents use Maestro tools (inspect_screen, run, screenshots, Viewer) and adapt when the UI changes. You mainly need a running target, MCP connected, and a clear ask about what to verify on screen. The same approach works on iOS, Android, React Native, Flutter, and web.

What you get

Maestro MCP ships with the Maestro CLI. Connect it in your agent and the tools below show up in the session. With the app running, you stay in one conversation: change code, then ask the agent to exercise the UI and report what happened. Common asks include confirming a feature still works (bookmarks, search, a primary CTA or any feature your app has), walking main tabs or Settings, and saving screenshots for a PR or for analyzing the UI. When something fails, the agent can inspect the screen, adjust, and try again. Use Maestro Viewer (below) when you want to watch the device while it works.

In the agent transcript you see MCP calls such as list devices, open Viewer, take_screenshot, run (launch and taps), and inspect_screen, all in one chat thread with the UI check at the top (here: Starred chat on the Claude Android app).

Maestro MCP calls in an agent transcript

ToolRole
list_devicesDevices and browsers available for automation
inspect_screenCurrent screen view hierarchy
take_screenshotCapture for PRs and reviews
runExecute a flow (inline YAML, files, or a folder)
cheat_sheetMaestro command and flow syntax reference for the agent
open_maestro_viewerLive device mirror and command stream
list_cloud_devicesValid Cloud device and OS pairs
run_on_cloudSubmit a flow or folder to Maestro Cloud
get_cloud_run_statusPoll a Cloud run until it finishes

Maestro Viewer

Maestro Viewer shows the live device next to the agent and the Maestro steps it is running. You ask in natural language, the agent drives the app, and Viewer keeps the screen and command stream in one place so a human can follow along without leaving the IDE.

Maestro Viewer showing the live device beside the agent

In this session the agent was asked to check Saved locations on Android Weather. It listed devices, opened Viewer, launched the app, navigated, added a preferred location (Paris), saved it, and captured screenshots along the way. The center panel is the Maestro command stream (launchApp, tapOn, inputText, takeScreenshot, scroll). The right panel is the running app as the agent left it: current location plus saved cities.

Ask the agent to open the maestro viewer when you want to watch the live device.

Getting started

  1. Install the Maestro CLI so maestro is on your PATH, then add MCP to your agent:
# Claude Code
claude mcp add maestro -- maestro mcp

# Codex
codex mcp add maestro -- maestro mcp

# Grok Build
grok mcp add maestro -- maestro mcp

For Cursor, Claude Desktop, Copilot, Gemini, and other agents, follow the Maestro MCP Server install steps on the Maestro MCP docs.

  1. Boot an iOS simulator or Android emulator, or connect a physical Android device. The agent confirms via list_devices.
  2. Install and launch your app.
  3. Ask in natural language, for example: Ensure bookmark functionality is working using Maestro. Or: I fixed the search results bug. Use Maestro to re-check search with a known query. The agent lists devices, inspects, taps, asserts, and screenshots as needed.

Takeaway

You gain a coding agent that can operate the running app, not only read the repo. UI checks happen in the same session as implementation, so feedback is fast and tied to real screens. Screenshots and Viewer give evidence you can share. One MCP setup works across agents and stacks, so teams spend less time on separate UI automation rituals and more time shipping with confidence.

Share