@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.
📖 Full Documentation
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
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-bridge is 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.
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
appIdentifier specified
- Target specific apps using port number or bundle ID
- Stop individual sessions or all sessions at once
Example Usage:
await driver_session({ action: "start", port: 9223 })
await driver_session({ action: "start", port: 9224 })
await driver_session({ action: "status" })
await webview_screenshot()
await webview_screenshot({ appIdentifier: 9223 })
await driver_session({ action: "stop", appIdentifier: 9223 })
await driver_session({ action: "stop" })
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.