MCP Server / tauri
tauri
A Model Context Protocol (MCP) server and plugin for Tauri v2 development
Installation
claude mcp add tauri -- npx -y install-mcp
npx -y install-mcp
npm: install-mcp
Transport
Tools (20)
Category
Capabilities
Command
Description
get_setup_instructions
Get setup/update instructions for the MCP Bridge plugin
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
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
Dokumentation
MCP Server Tauri
Give your AI assistant superpowers for Tauri development
Documentation · Getting Started · Available Tools
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.
✨ 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 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.
🚀 Quick Start
Prerequisites
- Node.js 20+ and npm
- Rust and Cargo (for Tauri development)
- Tauri CLI:
npm install -g @tauri-apps/cli@next - For mobile: Xcode (macOS) or Android SDK
1. Configure Your AI Assistant
Use install-mcp to add the server to your AI assistant:
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
npx -y install-mcp @hypothesi/tauri-mcp-server --client claude-code
npx -y install-mcp @hypothesi/tauri-mcp-server --client cursor
npx -y install-mcp @hypothesi/tauri-mcp-server --client vscode
npx -y install-mcp @hypothesi/tauri-mcp-server --client windsurf
npx -y install-mcp @hypothesi/tauri-mcp-server --client cline
Restart your AI assistant after adding the configuration.
CLI Usage
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 so driver_session state survives across separate commands.
2. Set Up the MCP Bridge Plugin
Ask your AI assistant to help configure your Tauri app:
"Help me set up the Tauri MCP Bridge plugin"
Your AI will:
- Examine your project to see what's already configured
- Show you what changes are needed (Cargo.toml, plugin registration, etc.)
- Ask for your permission before 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 the Getting Started guide or the plugin documentation.
💬 Slash Commands (Prompts)
| 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.
🧰 Available Tools (21 total)
| Tool | Description |
|------|-------------|
| get_setup_instructions | Get setup/update instructions for the MCP Bridge plugin |
| 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 optional
windowIdparameter to target specific windows. Usemanage_windowwithaction: "list"to discover available windows.
| 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 |
| Tool | Description |
|------|-------------|
| list_devices | List Android devices and iOS simulators |
🏗️ Architecture
┌─────────────────────────────────────────────────────────────────┐
│ 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?
- ✅ 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
🧑💻 Development
# 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
See specs/releasing.md for details.
📚 Documentation
- Full Documentation — Guides, API reference, and examples
- MCP Server Package — Server implementation details
- MCP Bridge Plugin — Tauri plugin documentation
🤝 Contributing
Contributions are welcome! Please:
- Follow existing code patterns
- Add tests for new features
- Update documentation
- Ensure
npm testandnpm run standardspass
Other Notes
This project is tested with BrowserStack.
📄 License
MIT © hypothesi
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.