Maestro MCP Server

Use Maestro's Model Context Protocol (MCP) to integrate AI assistants with mobile testing.

Maestro implements the Model Context Protocol (MCP)arrow-up-right, enabling direct integration with MCP-compliant client apps such as Claude, Cursor, and Windsurf.

The Model Context Protocol is an open standard that provides a uniform interface for connecting Large Language Models to external data sources, tools, and services. MCP defines a client-server architecture where:

  • MCP Servers expose resources like data sources, APIs, and tools through a standardized interface

  • MCP Clients, such as AI apps, consume these resources via the protocol

  • Transport Layer handles communication using JSON Remote Procedure Call (RPC) 2.0 over stdio, HTTP with Server-Sent Events (SSE), or WebSocket connections

This architectural pattern decouples LLMs from specific integrations, allowing Maestro to function as an MCP server that exposes its capabilities through a protocol-defined interface rather than requiring custom SDK implementations for each client.

Prerequisites

To install and use the Maestro MCP server, you need the following:

  • Maestro command-line tool installed

  • An IDE compatible with MCP servers

Install the Maestro MCP server

To install the Maestro MCP server, on your terminal, run maestro mcp

The Maestro command-line tool preinstalls the MCP server, so this is enough to install.

Configure the MCP server on your IDE

Most IDEs have a json configuration file to indicate to IDE how to run the MCP server. To do this, open your MCP configuration file. For example, if you're using Claude Desktop, it is ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows. For VSCode, edit the .vscode/mcp.json for your workspace.

The json configuration file for Maestro MCP serve is:

circle-info

Assumes Maestro CLI is installed and available on your PATH. If it's not on your PATH, use the full path to the Maestro CLI executable instead of maestro.

For other IDEs and more information, consult their documentation:

MCP commands

Command
Description

back

Press the back button.

cheat_sheet

Get the Maestro cheat sheet with common commands and syntax examples.

check_flow_syntax

Validates the syntax of a flow.

input_text

Input text to the current focused text field.

inspect_view_hierarchy

Get the nested views hierarchy of the current screen in CSV format.

launch_app

Launch an app on the connected device.

list_devices

List all devices.

query_docs

Query the Maestro documentation for specific information.

run_flow

Run a flow.

run_flow_files

Run one or more full Maestro flows.

start_device

Start a device like a simulator or emulator and returns the device ID.

stop_app

Stop an app on the connected device.

take_screenshot

Take a screenshot of the current device screen.

tap_on

Tap on a UI element using the selector description.

Last updated