About mcp-server-tauri
mcp-server-tauri is an MCP server for developing Tauri v2 applications, giving AI assistants tools for UI automation, IPC inspection, and log reading. It can connect to multiple apps and includes tools for listing Android devices and iOS simulators.
Key features
- 01Capture, click, type, and scroll
- 02Find elements and inspect DOM and styles
- 03Capture and inspect Tauri IPC in real time
- 04Read console and mobile logs
- 05List Android devices and iOS simulators
- 06Connect to multiple Tauri apps
Use cases
- 01Automate tests of Tauri app interfaces
- 02Investigate IPC calls in an app
- 03Inspect Android or iOS build logs
MCP support
The MCP server communicates with Tauri apps through the MCP Bridge plugin and provides compatible clients with UI automation, IPC, logging, and device-management tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
22Saved tool list · updated 3w ago
This tool takes no parameters.
Details
From the project README@hushlor/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.
Independent downstream fork: Hushlor maintains this distribution independently of hypothesi/mcp-server-tauri, preserving the upstream MIT license and attribution.
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-hushlor-mcp-bridge --rename tauri-plugin-mcp-bridge --version 0.14.0
// 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
@hushlor/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 @hushlor/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 @hushlor/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 (22 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) |
native_dialog_snapshot | Inspect app-owned native Windows dialog chains and navigation controls |
native_dialog_interact | Invoke, set paths, or select native Windows dialog controls |
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 © Hushlor. Original upstream copyright and attribution are preserved in the package LICENSE; see hypothesi/mcp-server-tauri for provenance.
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.