Tauri Development 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.
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 |
| 🔍 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.
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 |
Just type the command in your AI assistant to start a guided workflow.
🧰 Available Tools (18 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 |
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
📄 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.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Enkrypt AI
Integrate red-teaming, prompt auditing, and AI safety analysis into any MCP-compatible client.
Package README MCP Servers
A collection of MCP servers for fetching READMEs from various package managers.
MCP Utils
A Python package with utilities and helpers for building MCP-compliant servers, often using Flask and Redis.
DevTools Debugger MCP
Exposes full Chrome DevTools Protocol debugging capabilities, including breakpoints, call stacks, and source maps.
MCP SFTP Orchestrator
Orchestrates remote server tasks via SSH and SFTP with a persistent queue. Ideal for DevOps and AI agents.
302AI Image
A Model Context Protocol server for generating images using the 302AI API.
MCP Remote Machine Control
Provides remote machine control capabilities, eliminating SSH overhead for token-efficient system operations.
fastMCP4J
Fast lightweight Java MCP server framework - Build Model Context Protocol servers with minimal boilerplate and full TypeScript SDK compatibility
Authless MCP Server Example
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
MCP Starter Server
A minimal template for building AI assistant tools using the ModelContextProtocol.