Tauri MCP Server

by hypothesi

5.8k downloads Not rated yet

About

Build, test, and debug mobile and desktop apps with the Tauri framework faster with automated UI interaction, screenshots, DOM state, and console logs from your app under development.

Explore

- UI automation: screenshots, clicks, typing, scrolling, element finding
- IPC monitoring: capture and inspect Tauri IPC calls in real time
- Mobile device management: iOS simulators and Android emulators
- CLI integration: run any Tauri command (init, dev, build, etc.)
- Configuration: read and write Tauri config files with validation
- Log streaming: Android logcat, iOS device logs, system logs

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tauri MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the npm package (@hypothesi/tauri-mcp-server) or the Rust crate (tauri-plugin-mcp-bridge) and configure the server with your AI assistant. Refer to the project’s documentation and Getting Started guide for detailed setup instructions.

tauri_run_command

[Tauri Desktop/Mobile Apps Only] Run Tauri CLI commands (dev, build, init, etc.). Use ONLY for projects with a src-tauri/ directory and tauri.conf.json. Do NOT use for regular web apps, Electron apps, or browser-based projects. Check for tauri.conf.json before using this tool.

tauri_read_config

[Tauri Desktop/Mobile Apps Only] Read tauri.conf.json or platform-specific configs. Use ONLY for Tauri v2 projects (look for src-tauri/ directory). For regular web apps or Electron, use standard file reading tools instead.

tauri_write_config

[Tauri Desktop/Mobile Apps Only] Modify tauri.conf.json with validation. Use ONLY for Tauri v2 projects. Validates JSON structure before writing. For other frameworks, use standard file editing tools.

tauri_get_docs

[Tauri Desktop/Mobile Apps Only] Fetch Tauri v2 documentation and API reference. Use when working on Tauri projects and need framework-specific guidance. Not useful for Electron, React Native, or web-only projects.

tauri_list_devices

[Tauri Mobile Apps Only] List Android emulators/devices and iOS simulators. Use for Tauri mobile development (tauri android dev, tauri ios dev). Not needed for desktop-only Tauri apps or web projects.

tauri_launch_emulator

[Tauri Mobile Apps Only] Launch Android AVD or iOS Simulator for Tauri mobile testing. Use when developing Tauri apps for mobile platforms. Not applicable for desktop-only apps or web projects.

tauri_driver_session

[Tauri Apps Only] Start/stop automation session to connect to a RUNNING Tauri app. REQUIRED before using other tauri_webview_* or tauri_plugin_* tools. Connects via WebSocket to the MCP Bridge plugin in the Tauri app. For browser automation, use Chrome DevTools MCP instead. For Electron apps, this tool will NOT work.

tauri_webview_find_element

[Tauri Apps Only] Find DOM elements in a running Tauri app's webview. Requires active tauri_driver_session. For browser pages or documentation sites, use Chrome DevTools MCP instead.

tauri_driver_get_console_logs

[Tauri Apps Only] Get JavaScript console logs from a running Tauri app. Requires active tauri_driver_session. Use for debugging Tauri webview issues. For browser console logs, use Chrome DevTools MCP instead.

tauri_read_platform_logs

[Tauri Mobile Apps] Read Android logcat or iOS device logs for Tauri mobile apps. Also reads system logs on desktop. Use for debugging native/platform-level issues in Tauri apps.

tauri_webview_interact

[Tauri Apps Only] Click, scroll, swipe, or perform gestures in a Tauri app webview. Requires active tauri_driver_session. For browser interaction, use Chrome DevTools MCP instead.

tauri_webview_screenshot

[Tauri Apps Only] Screenshot a running Tauri app's webview. Requires active tauri_driver_session. Captures only visible viewport. For browser screenshots, use Chrome DevTools MCP instead. For Electron apps, this will NOT work.

tauri_webview_keyboard

[Tauri Apps Only] Type text or send keyboard events in a Tauri app. Requires active tauri_driver_session. For browser keyboard input, use Chrome DevTools MCP instead.

tauri_webview_wait_for

[Tauri Apps Only] Wait for elements, text, or IPC events in a Tauri app. Requires active tauri_driver_session. For browser waits, use Chrome DevTools MCP instead.

tauri_webview_get_styles

[Tauri Apps Only] Get computed CSS styles from elements in a Tauri app. Requires active tauri_driver_session. For browser style inspection, use Chrome DevTools MCP instead.

tauri_webview_execute_js

[Tauri Apps Only] Execute JavaScript in a Tauri app's webview context. Requires active tauri_driver_session. Has access to window.__TAURI__. For browser JS execution, use Chrome DevTools MCP instead.

tauri_webview_focus_element

[Tauri Apps Only] Focus a DOM element in a Tauri app's webview. Requires active tauri_driver_session. For browser focus, use Chrome DevTools MCP instead.

tauri_plugin_execute_ipc

[Tauri Apps Only] Execute Tauri IPC commands (invoke Rust backend functions). Requires active tauri_driver_session. This is Tauri-specific IPC, not browser APIs. For Electron IPC or browser APIs, use appropriate tools for those frameworks.

tauri_plugin_get_window_info

[Tauri Apps Only] Get Tauri window information (size, position, state). Requires active tauri_driver_session. For browser window info, use Chrome DevTools MCP instead.

tauri_plugin_ipc_monitor

[Tauri Apps Only] Monitor Tauri IPC calls between frontend and Rust backend. Requires active tauri_driver_session. Captures invoke() calls and responses. This is Tauri-specific; for browser network monitoring, use Chrome DevTools MCP.

tauri_plugin_ipc_get_events

[Tauri Apps Only] Get captured Tauri IPC events (requires ipc_monitor started). Shows Tauri command invocations with arguments and responses. For browser network requests, use Chrome DevTools MCP instead.

tauri_plugin_emit_event

[Tauri Apps Only] Emit a Tauri event to test event handlers. Requires active tauri_driver_session. Events are Tauri-specific (not DOM events). For browser DOM events, use Chrome DevTools MCP instead.

tauri_plugin_get_backend_state

[Tauri Apps Only] Get Tauri backend state: app metadata, Tauri version, environment. Requires active tauri_driver_session. Use to verify you're connected to a Tauri app and get app info.

tauri_list_windows

[Tauri Apps Only] List all Tauri webview windows (labels, titles, URLs, state). Requires active tauri_driver_session. Use to discover windows before targeting them. For browser tabs/windows, use Chrome DevTools MCP instead.

- tauri_run_command: [Tauri Desktop/Mobile Apps Only] Run Tauri CLI commands (dev, build, init, etc.). Use ONLY for projects with a src-tauri/ directory and tauri.conf.json. Do NOT use for regular web apps, Electron apps, or browser-based projects. Check for tauri.conf.json before using this tool.
- tauri_read_config: [Tauri Desktop/Mobile Apps Only] Read tauri.conf.json or platform-specific configs. Use ONLY for Tauri v2 projects (look for src-tauri/ directory). For regular web apps or Electron, use standard file reading tools instead.
- tauri_write_config: [Tauri Desktop/Mobile Apps Only] Modify tauri.conf.json with validation. Use ONLY for Tauri v2 projects. Validates JSON structure before writing. For other frameworks, use standard file editing tools.
- tauri_get_docs: [Tauri Desktop/Mobile Apps Only] Fetch Tauri v2 documentation and API reference. Use when working on Tauri projects and need framework-specific guidance. Not useful for Electron, React Native, or web-only projects.
- tauri_list_devices: [Tauri Mobile Apps Only] List Android emulators/devices and iOS simulators. Use for Tauri mobile development (tauri android dev, tauri ios dev). Not needed for desktop-only Tauri apps or web projects.
- tauri_launch_emulator: [Tauri Mobile Apps Only] Launch Android AVD or iOS Simulator for Tauri mobile testing. Use when developing Tauri apps for mobile platforms. Not applicable for desktop-only apps or web projects.
- tauri_driver_session: [Tauri Apps Only] Start/stop automation session to connect to a RUNNING Tauri app. REQUIRED before using other tauri_webview_ or tauri_plugin_ tools. Connects via WebSocket to the MCP Bridge plugin in the Tauri app. For browser automation, use Chrome DevTools MCP instead. For Electron apps, this tool will NOT work.
- tauri_webview_find_element: [Tauri Apps Only] Find DOM elements in a running Tauri app's webview. Requires active tauri_driver_session. For browser pages or documentation sites, use Chrome DevTools MCP instead.
- tauri_driver_get_console_logs: [Tauri Apps Only] Get JavaScript console logs from a running Tauri app. Requires active tauri_driver_session. Use for debugging Tauri webview issues. For browser console logs, use Chrome DevTools MCP instead.
- tauri_read_platform_logs: [Tauri Mobile Apps] Read Android logcat or iOS device logs for Tauri mobile apps. Also reads system logs on desktop. Use for debugging native/platform-level issues in Tauri apps.
- tauri_webview_interact: [Tauri Apps Only] Click, scroll, swipe, or perform gestures in a Tauri app webview. Requires active tauri_driver_session. For browser interaction, use Chrome DevTools MCP instead.
- tauri_webview_screenshot: [Tauri Apps Only] Screenshot a running Tauri app's webview. Requires active tauri_driver_session. Captures only visible viewport. For browser screenshots, use Chrome DevTools MCP instead. For Electron apps, this will NOT work.
- tauri_webview_keyboard: [Tauri Apps Only] Type text or send keyboard events in a Tauri app. Requires active tauri_driver_session. For browser keyboard input, use Chrome DevTools MCP instead.
- tauri_webview_wait_for: [Tauri Apps Only] Wait for elements, text, or IPC events in a Tauri app. Requires active tauri_driver_session. For browser waits, use Chrome DevTools MCP instead.
- tauri_webview_get_styles: [Tauri Apps Only] Get computed CSS styles from elements in a Tauri app. Requires active tauri_driver_session. For browser style inspection, use Chrome DevTools MCP instead.
- tauri_webview_execute_js: [Tauri Apps Only] Execute JavaScript in a Tauri app's webview context. Requires active tauri_driver_session. Has access to window.__TAURI__. For browser JS execution, use Chrome DevTools MCP instead.
- tauri_webview_focus_element: [Tauri Apps Only] Focus a DOM element in a Tauri app's webview. Requires active tauri_driver_session. For browser focus, use Chrome DevTools MCP instead.
- tauri_plugin_execute_ipc: [Tauri Apps Only] Execute Tauri IPC commands (invoke Rust backend functions). Requires active tauri_driver_session. This is Tauri-specific IPC, not browser APIs. For Electron IPC or browser APIs, use appropriate tools for those frameworks.
- tauri_plugin_get_window_info: [Tauri Apps Only] Get Tauri window information (size, position, state). Requires active tauri_driver_session. For browser window info, use Chrome DevTools MCP instead.
- tauri_plugin_ipc_monitor: [Tauri Apps Only] Monitor Tauri IPC calls between frontend and Rust backend. Requires active tauri_driver_session. Captures invoke() calls and responses. This is Tauri-specific; for browser network monitoring, use Chrome DevTools MCP.
- tauri_plugin_ipc_get_events: [Tauri Apps Only] Get captured Tauri IPC events (requires ipc_monitor started). Shows Tauri command invocations with arguments and responses. For browser network requests, use Chrome DevTools MCP instead.
- tauri_plugin_emit_event: [Tauri Apps Only] Emit a Tauri event to test event handlers. Requires active tauri_driver_session. Events are Tauri-specific (not DOM events). For browser DOM events, use Chrome DevTools MCP instead.
- tauri_plugin_get_backend_state: [Tauri Apps Only] Get Tauri backend state: app metadata, Tauri version, environment. Requires active tauri_driver_session. Use to verify you're connected to a Tauri app and get app info.
- tauri_list_windows: [Tauri Apps Only] List all Tauri webview windows (labels, titles, URLs, state). Requires active tauri_driver_session. Use to discover windows before targeting them. For browser tabs/windows, use Chrome DevTools MCP instead.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "tauri mcp server": {
            "tauri": {
                "command": "npx",
                "args": [
                    "-y",
                    "@hypothesi/tauri-mcp-server"
                ]
            }
        }
    }
}

McpServers

{
    "tauri": {
        "command": "npx",
        "args": [
            "-y",
            "@hypothesi/tauri-mcp-server"
        ]
    }
}

Build, test, and debug mobile and desktop apps with the Tauri framework faster with automated UI interaction, screenshots, DOM state, and console logs from your app under development.

Give your AI assistant superpowers for Tauri development

Documentation·Getting Started·Available Tools

AModel Context Protocol (MCP) serverthat enables AI assistants like Claude, Cursor, and Windsurf to build, test, and debugTauri®v2 applications. Screenshots, DOM state, and console logs from your running app give the AI rich context to understand what's happening—and tools to interact with it.

Disclaimer: This MCP was developed using agentic coding tools. It may contain bugs.

- Node.js20+ and npm
- Rustand Cargo (for
Tauridevelopment)
- Tauri CLI:npm install -g @tauri-apps/cli@next
- For mobile: Xcode (macOS) or Android SDK

Useaixto 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

[!TIP]aixautomatically detects your installed AI assistants and configures them.

Restart your AI assistantafter adding the configuration.

If you want to call the tools directly from a terminal instead of from an MCP client:

npm install -g @hypothesi/tauri-mcp-cli tauri-mcp driver-session start --port 9223 tauri-mcp webview-screenshot --file screenshot.png

The CLI uses MCPorter keep-alive support sodriver_sessionstate survives across separate commands.

Ask your AI assistant to help configure your Tauri app:

"Help me set up the Tauri MCP Bridge plugin"
- Examine your projectto see what's already configured
- Show you what changes are needed(Cargo.toml, plugin registration, etc.)
- Ask for your permissionbefore making any modifications

That's it! The AI handles all the setup details while keeping you in control. 🎉

If you prefer to set up manually, see theGetting Started guideor theplugin documentation.

Just type the command in your AI assistant to start a guided workflow.

Multi-Window Support: All webview tools accept an optionalwindowIdparameter to target specific windows. Usemanage_windowwithaction: "list"to discover available windows.

┌─────────────────────────────────────────────────────────────────┐ │ AI Assistant │ │ (Claude, Cursor, Windsurf) │ └─────────────────────────┬───────────────────────────────────────┘ │ MCP Protocol (stdio) ▼ ┌─────────────────────────────────────────────────────────────────┐ │ MCP Server (Node.js) │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │ │ │ Manager │ │ Driver │ │ Monitor │ │ │ │ CLI/Config │ │ UI Automation│ │ Logs/IPC Events │ │ │ └──────────────┘ └──────┬───────┘ └──────────────────────┘ │ └─────────────────────────────┼───────────────────────────────────┘ │ WebSocket (port 9223) ▼ ┌─────────────────────────────────────────────────────────────────┐ │ Tauri Application │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ MCP Bridge Plugin (Rust) │ │ │ │ IPC Commands • Events • Backend State │ │ │ └──────────────────────────────────────────────────────────┘ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Webview (DOM/UI) │ │ │ └──────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘

- ✅Rich AI context— Screenshots, DOM, and logs help the AI understand your app's state
- ✅Cross-platform— Works on Linux, Windows, macOS, Android, and iOS
- ✅No external drivers— No Selenium, Playwright, or browser automation needed
- ✅Native integration— Direct access to Tauri's IPC and backend

# Clone and install git clone https://github.com/hypothesi/mcp-server-tauri.git cd mcp-server-tauri npm install # Build all packages npm run build # Run tests npm test # Development mode npm run dev -w @hypothesi/tauri-mcp-server
mcp-server-tauri/ ├── packages/ │ ├── mcp-server/ # MCP server (TypeScript) │ ├── tauri-plugin-mcp-bridge/ # Tauri plugin (Rust + JS bindings) │ └── test-app/ # Test Tauri application ├── docs/ # VitePress documentation └── specs/ # Architecture specs
# Release plugin (Cargo + npm) npm run release:plugin patch # Release server (npm only) npm run release:server patch

- Full Documentation— Guides, API reference, and examples
-
MCP Server Package— Server implementation details
-
MCP Bridge Plugin— Tauri plugin documentation
- Follow existing code patterns
- Add tests for new features
- Update documentation
- Ensurenpm testandnpm run standardspass

This project is tested with BrowserStack.

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.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Drives an Android emulator or a real device over adb: screenshots, UI hierarchy with true device-pixel coordinates, tap and type, app lifecycle, logcat, and Gradle builds and tests.

Interact with Android devices using the Android Debug Bridge (ADB).

Control Android devices via the Android Debug Bridge (ADB).

An agentic toolkit to control, debug, and profile iOS and Android apps.

The deepest Android Debug Bridge MCP server — 147 tools from UI to baseband.

MCP server which expose Android's app runtimes to coding agents.

A plugin-based MCP server for React Native runtime debugging, inspection, and automation. Connects to Metro bundler via Chrome DevTools Protocol — no app code changes needed for most features.

Turn natural language into powerful Perfetto trace analysis. Quickly explain jank, diagnose ANRs, spot CPU hot threads, uncover lock contention, and find memory leaks.

Enables AI assistants like Claude Code to capture logs, execute code, inspect state, and control navigation in your React Native app.

Connects to the React Native application debugger to retrieve console logs from Metro.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.