tauri-mcp-cli — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tauri-mcp-cli (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
<img src="docs/public/logo.svg" alt="MCP Server Tauri" width="120" height="120" />
Give your AI assistant superpowers for Tauri development
Documentation · Getting Started · Available Tools
</div>
A Model Context Protocol (MCP) server that enables AI assistants like Claude, Cursor, and Windsurf to build, test, and debug Tauri® 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.
| 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 iOS simulators & Android emulators |
| 📋 Logs | Stream console, Android logcat, iOS, and system logs |
_Disclaimer: This MCP was developed using agentic coding tools. It may contain bugs._
npm install -g @tauri-apps/cli@nextUse install-mcp to add the server to your AI assistant:
npx -y install-mcp @hypothesi/tauri-mcp-server --client claude-codeSupported clients: claude-code, cursor, windsurf, vscode, cline, roo-cline, claude, zed, goose, warp, codex
<details> <summary><strong>Claude Code</strong></summary>
npx -y install-mcp @hypothesi/tauri-mcp-server --client claude-code</details>
<details> <summary><strong>Cursor</strong></summary>
npx -y install-mcp @hypothesi/tauri-mcp-server --client cursor</details>
<details> <summary><strong>VS Code / Copilot</strong></summary>
npx -y install-mcp @hypothesi/tauri-mcp-server --client vscode</details>
<details> <summary><strong>Windsurf</strong></summary>
npx -y install-mcp @hypothesi/tauri-mcp-server --client windsurf</details>
<details> <summary><strong>Cline</strong></summary>
npx -y install-mcp @hypothesi/tauri-mcp-server --client cline</details>
Restart your AI assistant after 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.pngThe CLI uses MCPorter keep-alive support so driver_session state survives across separate commands.
Ask your AI assistant to help configure your Tauri app:
"Help me set up the Tauri MCP Bridge plugin"
Your AI will:
That's it! The AI handles all the setup details while keeping you in control. 🎉
<details> <summary><strong>Manual Setup</strong></summary>
If you prefer to set up manually, see the Getting Started guide or the plugin documentation.
</details>
| Command | Description |
|---|---|
/setup | Set up or update the MCP bridge plugin in your Tauri project |
/fix-webview-errors | Find and fix JavaScript errors in your webview |
/select | Visually select an element in your app — returns metadata and screenshot |
Just type the command in your AI assistant to start a guided workflow.
<details> <summary><strong>Setup & Configuration</strong></summary>
| Tool | Description |
|---|---|
get_setup_instructions | Get setup/update instructions for the MCP Bridge plugin |
</details>
<details> <summary><strong>UI Automation</strong> — Screenshots, clicks, typing, and more</summary>
| Tool | Description |
|---|---|
driver_session | Start/stop/status automation session |
webview_find_element | Find elements by selector |
read_logs | Read console, Android, iOS, or system logs |
webview_interact | Click, scroll, swipe, focus, long-press |
webview_screenshot | Capture webview screenshots |
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 accessibility tree snapshot |
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 |
Multi-Window Support: All webview tools accept an optionalwindowIdparameter to target specific windows. Usemanage_windowwithaction: "list"to discover available windows.
</details>
<details> <summary><strong>IPC & Plugin</strong> — Deep Tauri integration</summary>
| 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 |
</details>
<details> <summary><strong>Mobile Development</strong> — Device listing</summary>
| Tool | Description |
|---|---|
list_devices | List Android devices and iOS simulators |
</details>
┌─────────────────────────────────────────────────────────────────┐
│ 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) │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘Why this approach?
# 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<details> <summary><strong>Project Structure</strong></summary>
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</details>
<details> <summary><strong>Releasing</strong></summary>
# Release plugin (Cargo + npm)
npm run release:plugin patch
# Release server (npm only)
npm run release:server patchSee specs/releasing.md for details.
</details>
Contributions are welcome! Please:
npm test and npm run standards passThis project is tested with BrowserStack.
MIT © hypothesi
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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.