loading…
Search for a command to run...
loading…
A Model Context Protocol server for use with Tauri v2 applications
A Model Context Protocol server for use with Tauri v2 applications
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.
| 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-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.
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.
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. 🎉
If you prefer to set up manually, see the Getting Started guide or the plugin documentation.
| 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.
| 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 |
┌─────────────────────────────────────────────────────────────────┐
│ 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
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.
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.
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"tauri-mcp-server": {
"command": "npx",
"args": [
"-y",
"@hypothesi/tauri-mcp-server"
]
}
}
}pro tip
Just installed Tauri Mcp Server? Say to Claude: "remember why I installed Tauri Mcp Serverand what I want to try" — it'll save into your Vault.
how this works →