
mcp-server-tauri
io.github.hypothesi/mcp-server-tauri
A Model Context Protocol server for use with Tauri v2 applications
Documentation
MCP Server Tauri
Give your AI assistant superpowers for Tauri development
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 |
| 🔍 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
Claude Code
npx -y install-mcp @hypothesi/tauri-mcp-server --client claude-code
Cursor
npx -y install-mcp @hypothesi/tauri-mcp-server --client cursor
VS Code / Copilot
npx -y install-mcp @hypothesi/tauri-mcp-server --client vscode
Windsurf
npx -y install-mcp @hypothesi/tauri-mcp-server --client windsurf
Cline
npx -y install-mcp @hypothesi/tauri-mcp-server --client cline
Restart your AI assistant after adding the configuration.
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. 🎉
Manual Setup
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 |
Just type the command in your AI assistant to start a guided workflow.
🧰 Available Tools (17 total)
Setup & Configuration
| Tool | Description |
|---|---|
tauri_get_setup_instructions | Get setup/update instructions for the MCP Bridge plugin |
UI Automation — Screenshots, clicks, typing, and more
| 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 |
Multi-Window Support: All webview tools accept an optional
windowIdparameter to target specific windows. Usetauri_manage_windowwithaction: "list"to discover available windows.
IPC & Plugin — Deep Tauri integration
| 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 — Device listing
| Tool | Description |
|---|---|
tauri_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
Project Structure
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
Releasing
# 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
📄 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.
@hypothesi/tauri-mcp-servernpm install @hypothesi/tauri-mcp-server