About Tauri MCP Server
Tauri MCP Server is an MCP server for Tauri v2 applications, letting AI assistants such as Claude and Cursor build, test and debug desktop and mobile apps. It targets developers using the Tauri framework and provides UI automation, IPC monitoring and log access. A companion command line tool, tauri-mcp, is also available.
Key features
- 01WebView UI automation for screenshots, clicks and typing
- 02Element lookup by CSS selector, XPath or text
- 03Real-time capture of Tauri IPC calls
- 04Console, logcat and iOS log streaming
- 05Listing of Android devices and iOS simulators
- 06Companion tauri-mcp command line tool
Use cases
- 01Letting an AI assistant test a Tauri app's interface
- 02Debugging IPC calls between Tauri frontend and backend
- 03Inspecting mobile devices and logs during troubleshooting
MCP support
This project is an MCP server that exposes 20 tools for Tauri app automation, IPC and logs to MCP clients. The app must include the Rust MCP Bridge plugin, which the server reaches over WebSocket.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
24Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| args | array | No | Additional arguments to pass to the command |
| command | string | Yes | Any Tauri CLI command (e.g., "init", "dev", "build", "android dev", "migrate", "plugin add", etc.) |
| cwd | string | Yes | The project directory |
| timeout | number | No | Command timeout in milliseconds (default: 180000) |
Details
From the project README@hypothesi/tauri-mcp-server
A Model Context Protocol (MCP) server that enables AI assistants like Claude, Cursor, and Windsurf to build, test, and debug Tauri® v2 applications.
Features
| Category | Capabilities |
|---|---|
| 🎯 UI Automation | Screenshots, clicks, typing, scrolling, element finding, visual element picker |
| 🔍 IPC Monitoring | Capture and inspect Tauri IPC calls in real-time |
| 📱 Mobile Dev | List Android emulators & iOS simulators |
| 📋 Logs | Stream console, Android logcat, iOS, and system logs |
Quick Start
1. Add the MCP Bridge Plugin to Your Tauri App
cargo add tauri-plugin-mcp-bridge
// src-tauri/src/main.rs
fn main() {
let mut builder = tauri::Builder::default();
#[cfg(debug_assertions)]
{
builder = builder.plugin(tauri_plugin_mcp_bridge::init());
}
builder
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Note: The npm package
@hypothesi/tauri-plugin-mcp-bridgeis optional—only needed if you want to call the plugin from your app's frontend code. The MCP server communicates with the Rust plugin directly via WebSocket.
2. Configure Your AI Assistant
Use aix to add the server to your AI assistant:
npx -y @a1st/aix add mcp tauri --command 'npx @hypothesi/tauri-mcp-server' --user
Supported clients: claude-code, cursor, windsurf, vscode, cline, roo-cline, claude, zed, goose, warp, codex
Terminal CLI
If you want to call the same tools directly from a shell, install the companion CLI package:
npm install -g @hypothesi/tauri-mcp-cli
tauri-mcp driver-session start --port 9223
tauri-mcp driver-session status --json
The CLI keeps the underlying MCP server warm in the background so stateful commands such as driver_session work across separate invocations.
Multi-App Support
The MCP server supports connecting to multiple Tauri apps simultaneously. Each app runs on a unique port, and the most recently connected app becomes the "default" app.
Key Features:
- Connect to multiple apps on different ports
- Default app used when no
appIdentifierspecified - Target specific apps using port number or bundle ID
- Stop individual sessions or all sessions at once
Example Usage:
// Connect to first app
await driver_session({ action: "start", port: 9223 })
// Connect to second app
await driver_session({ action: "start", port: 9224 })
// Check status - shows both apps with default indicator
await driver_session({ action: "status" })
// Use default app (most recent - port 9224)
await webview_screenshot()
// Target specific app by port
await webview_screenshot({ appIdentifier: 9223 })
// Stop specific app
await driver_session({ action: "stop", appIdentifier: 9223 })
// Stop all apps
await driver_session({ action: "stop" })
Available Tools (20 total)
Setup & Configuration
| Tool | Description |
|---|---|
get_setup_instructions | Get setup/update instructions for the MCP Bridge plugin |
UI Automation
| Tool | Description |
|---|---|
driver_session | Start/stop/status automation session |
webview_find_element | Find elements by CSS selector, XPath, text, or ref ID |
read_logs | Read console, Android, iOS, or system logs |
webview_interact | Click, scroll, swipe, focus, long-press |
webview_screenshot | Capture webview screenshots (JPEG default) |
webview_keyboard | Type text or send key events |
webview_wait_for | Wait for elements, text, or events |
webview_get_styles | Get computed CSS styles |
webview_execute_js | Execute JavaScript in webview |
webview_dom_snapshot | Get structured DOM snapshot (accessibility or structure) |
webview_select_element | Visual element picker — user clicks an element, returns metadata + screenshot |
webview_get_pointed_element | Get metadata for element user Alt+Shift+Clicked |
manage_window | List windows, get info, or resize |
IPC & Plugin
| Tool | Description |
|---|---|
ipc_execute_command | Execute Tauri IPC commands |
ipc_get_backend_state | Get app metadata and state |
ipc_monitor | Start/stop IPC monitoring |
ipc_get_captured | Get captured IPC traffic |
ipc_emit_event | Emit custom events |
Mobile Development
| Tool | Description |
|---|---|
list_devices | List Android devices and iOS simulators |
Links
License
MIT © hypothesi
Trademark Notice
TAURI® is a registered trademark of The Tauri Programme within the Commons Conservancy. https://tauri.app/
This project is not affiliated with, endorsed by, or sponsored by The Tauri Programme within the Commons Conservancy.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.