Skip to main content
Glama
README.md4.86 kB
# @hypothesi/tauri-mcp-server [![npm version](https://img.shields.io/npm/v/@hypothesi/tauri-mcp-server)](https://www.npmjs.com/package/@hypothesi/tauri-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-8b5cf6.svg)](https://github.com/hypothesi/mcp-server-tauri/blob/main/LICENSE) 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](https://hypothesi.github.io/mcp-server-tauri)** ## Features | Category | Capabilities | |----------|-------------| | 🎯 **UI Automation** | Screenshots, clicks, typing, scrolling, element finding | | 🔍 **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 ```bash cargo add tauri-plugin-mcp-bridge ``` ```rust // 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-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. ### 2. Configure Your AI Assistant Use [install-mcp](https://www.npmjs.com/package/install-mcp) to add the server to your AI assistant: ```bash npx -y install-mcp @hypothesi/tauri-mcp-server --client claude-code ``` Supported clients: `claude-code`, `cursor`, `windsurf`, `vscode`, `cline`, `roo-cline`, `claude`, `zed`, `goose`, `warp`, `codex` ## 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:** ```javascript // Connect to first app await tauri_driver_session({ action: "start", port: 9223 }) // Connect to second app await tauri_driver_session({ action: "start", port: 9224 }) // Check status - shows both apps with default indicator await tauri_driver_session({ action: "status" }) // Use default app (most recent - port 9224) await tauri_webview_screenshot() // Target specific app by port await tauri_webview_screenshot({ appIdentifier: 9223 }) // Stop specific app await tauri_driver_session({ action: "stop", appIdentifier: 9223 }) // Stop all apps await tauri_driver_session({ action: "stop" }) ``` ## Available Tools (16 total) ### UI Automation | Tool | Description | |------|-------------| | `tauri_driver_session` | Start/stop/status automation session | | `tauri_webview_find_element` | Find elements by selector | | `tauri_read_logs` | Read console, Android, iOS, or system logs | | `tauri_webview_interact` | Click, scroll, swipe, focus, long-press | | `tauri_webview_screenshot` | Capture webview screenshots | | `tauri_webview_keyboard` | Type text or send key events | | `tauri_webview_wait_for` | Wait for elements, text, or events | | `tauri_webview_get_styles` | Get computed CSS styles | | `tauri_webview_execute_js` | Execute JavaScript in webview | | `tauri_manage_window` | List windows, get info, or resize | ### IPC & Plugin | Tool | Description | |------|-------------| | `tauri_ipc_execute_command` | Execute Tauri IPC commands | | `tauri_ipc_get_backend_state` | Get app metadata and state | | `tauri_ipc_monitor` | Start/stop IPC monitoring | | `tauri_ipc_get_captured` | Get captured IPC traffic | | `tauri_ipc_emit_event` | Emit custom events | ### Mobile Development | Tool | Description | |------|-------------| | `tauri_list_devices` | List Android devices and iOS simulators | ## Links - [Documentation](https://hypothesi.github.io/mcp-server-tauri) - [GitHub Repository](https://github.com/hypothesi/mcp-server-tauri) - [MCP Bridge Plugin (crates.io)](https://crates.io/crates/tauri-plugin-mcp-bridge) - [Changelog](https://github.com/hypothesi/mcp-server-tauri/blob/main/packages/mcp-server/CHANGELOG.md) ## License MIT © [hypothesi](https://github.com/hypothesi) --- ## Trademark Notice TAURI® is a registered trademark of The Tauri Programme within the Commons Conservancy. [https://tauri.app/](https://tauri.app/) This project is not affiliated with, endorsed by, or sponsored by The Tauri Programme within the Commons Conservancy.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hypothesi/mcp-server-tauri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server