
Hypothesi Tauri MCP Server: Setup for Claude Code, Cursor and Other Apps
Lets your assistant screenshot, inspect, click and debug a running Tauri v2 app.
Hypothesi Tauri MCP lets Claude, Cursor and other assistants look at and drive your running Tauri v2 app. They get screenshots, page structure, console logs and the calls between your frontend and Rust backend, and can click, type and call your backend commands.
The server runs on your computer. It talks to a small plugin (tauri-plugin-mcp-bridge) that you add to your app, so the app must be running in dev mode. It is a third-party project, not made by the Tauri team, and its README warns it was built with AI coding tools and may have bugs.
Good for
- Tauri developers who want an assistant to reproduce and fix UI bugs in the live app
- Anyone debugging console errors, IPC calls or layout problems
- Teams that want an assistant to click through flows in a dev build
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Hypothesi Tauri MCP
Claude Code
- 1
Copy this prompt.
Add the Hypothesi Tauri MCP server to Claude Code. Run this command: claude mcp add hypothesi-tauri -- npx -y @hypothesi/tauri-mcp-server Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 20+, Tauri v2 app with the MCP Bridge plugin.
Your Tauri v2 app also needs the tauri-plugin-mcp-bridge plugin, which the server uses to reach the running app. Once connected, ask the assistant to help set up the MCP Bridge plugin and it will walk you through the changes. Start your app in dev mode before the assistant connects. Restart your app after adding the config. The project's own setup command uses the aix tool; this config is adapted from it.
Built from the package data we hold. Not yet tested by us.
Tools
Gives steps to add the bridge plugin to a Tauri app
Returns step-by-step guidance for installing or updating the bridge plugin in your Tauri project. The text tells the assistant to look at your project first and ask before it changes anything.
Try: “Help me set up the MCP bridge plugin in this Tauri project.”
Read ·
get_setup_instructionsLists Android devices and booted iOS simulators
Runs the Android adb tool and Apple's xcrun to list connected Android devices and running iOS simulators. Only useful for Tauri mobile work.
Try: “Which Android and iOS devices are available?”
Runs code ·
list_devicesConnects to or disconnects from a running Tauri app
Opens a connection to a running Tauri app through its bridge plugin, or checks or stops it. Every webview and IPC tool needs this session first, and several apps can be connected at once.
Try: “Connect to my running Tauri app.”
Network ·
driver_sessionFinds elements in the app and reports their position and text
Looks up elements by CSS selector, XPath or text and returns their size, position, text, accessible name, attributes and whether they can be clicked. Can include computed styles.
Try: “Find the Save button and tell me if it is visible.”
Read ·
webview_find_elementReads console, Android, iOS or desktop logs
Pulls log lines from the webview console, Android logcat, the iOS simulator or the desktop system log, so the assistant can see errors as they happen.
Try: “Show the latest console errors from my app.”
Runs code ·
read_logsClicks, scrolls and swipes in the app
Performs clicks, double clicks, hover, right click, long press, scroll, swipe and focus on elements you pick by selector, XPath or text.
Try: “Click the Settings button.”
Write ·
webview_interactTakes a screenshot of the app's visible area
Captures the visible part of the webview as an image, or saves it to a file path you give. Has a quality and width limit.
Try: “Take a screenshot of the main window.”
Files ·
webview_screenshotTypes text or sends key presses
Types into a chosen field or sends keyboard events to the app, which changes what is entered in your running app.
Try: “Type 'test@example.com' in the email field.”
Write ·
webview_keyboardWaits for an element, text or event
Pauses until a selector, some text or an IPC event shows up in the app, so the assistant can continue after a page loads.
Try: “Wait until the loading spinner disappears.”
Read ·
webview_wait_forRuns JavaScript inside the app's webview
Executes JavaScript you or the assistant provide in the app's webview, with access to the Tauri JavaScript API. Returns the result if it can be turned into JSON.
Try: “Run a script that returns the number of items in the cart.”
Runs code ·
webview_execute_jsReturns a text outline of the page
Produces a YAML outline of the page, either the accessibility tree with roles and names or the DOM structure with tags and classes, optionally limited to one part of the page.
Try: “Give me an accessibility snapshot of the sidebar.”
Read ·
webview_dom_snapshotLets you click an element to show it to the assistant
Shows a picker overlay in your app. When you click an element, the assistant gets its tag, classes, text, position, styles, parent chain and an annotated screenshot.
Try: “I will point at the broken button, then look at it.”
Read ·
webview_select_elementReads the element you Alt+Shift+Clicked
Returns the same details as the element picker for the element you last Alt+Shift+Clicked in the app, plus a screenshot.
Try: “Look at the element I just Alt+Shift+Clicked.”
Read ·
webview_get_pointed_elementCalls a Rust command in your Tauri backend
Invokes one of your app's Tauri commands with arguments you set. It goes through the webview, so your app's capability rules still apply, but the command itself can do whatever your code does.
Try: “Call the get_user_settings command.”
Runs code ·
ipc_execute_commandStarts or stops recording IPC calls
Turns on or off capture of the calls your frontend makes to the Rust backend.
Try: “Start monitoring IPC calls.”
Write ·
ipc_monitorShows the recorded IPC calls
Returns the captured commands and events with their arguments and responses. Monitoring must be on first.
Try: “Show me the IPC calls from the last minute.”
Read ·
ipc_get_capturedSends a Tauri event to the app
Emits an event with a payload so you can test how the app's event handlers react.
Try: “Emit a 'refresh' event.”
Write ·
ipc_emit_eventReads app name, Tauri version and environment
Returns basic facts about the connected app, which is handy to confirm you reached the right one.
Try: “What app and Tauri version am I connected to?”
Read ·
ipc_get_backend_stateLists, inspects, resizes and focuses windows
Lists the app's windows, gets one window's size and position, and can resize, focus, minimize or maximize it. Focus, minimize and maximize need bridge plugin 0.13.0 or newer.
Try: “List the app's windows and resize the main one to 1280 by 800.”
Write ·
manage_window
Read from the source code
Permissions
high risk · 7 things to watch
High risk
The assistant can run JavaScript in your app, call any of your app's backend commands and type and click in it. Use it on a development build with test data, and check what the backend commands do before you let the assistant call them.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
The bridge plugin listens on every network interface, with no sign-in
By default the tauri-plugin-mcp-bridge plugin binds its WebSocket (port 9223) to 0.0.0.0, and the source has no token or origin check. Anyone on the same network who can reach that port could use the app tools, including running JavaScript. Our advice: build the app with Builder::new().bind_address("127.0.0.1").build() unless you debug a phone or tablet over the network. github.com
It can run any JavaScript in your app
webview_execute_js runs code you or the assistant write inside the app's webview, with access to the Tauri JavaScript API. Point it at a dev build, not one with real accounts. github.com
It can call your Rust backend commands
ipc_execute_command invokes your app's commands with arguments the assistant picks. If one of them deletes data or touches files, this tool can trigger it. github.com
It clicks, types and sends events as you
The interaction, keyboard and event tools change state in the running app, so test data can be edited or removed. github.com
Screenshots and logs can show private data
Screenshots, page snapshots and logs from your app go to your AI provider. Keep real customer data out of the dev build. github.com
It runs adb and xcrun on your machine
list_devices and read_logs call the Android and Apple command-line tools to list devices and read logs. github.com
Written with AI coding tools
The README says the project was developed with agentic coding tools and may contain bugs. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only switch is documented. Individual tools carry read-only hints, but the click, type, script and command tools are always registered. |
|---|---|
| Talks to | WebSocket to the bridge plugin in your app, port 9223 by default. The plugin binds 0.0.0.0 (all interfaces) unless you set bind_address to 127.0.0.1 |
| Sign-in and keys | No account or API key. The server connects to the bridge plugin in your own app. |
Questions
Is the Tauri MCP server official?
No. It is made by Fireside Development, LLC (named in the repo license) under the hypothesi GitHub organization, not by the Tauri project. It is a community server for Tauri v2 apps.
Is it free?
Yes. The server is MIT-licensed, the license file ships in the repo's package folder, and it needs no account or API key.
What do I need besides the MCP server?
A Tauri v2 app running in dev mode with the tauri-plugin-mcp-bridge plugin added, plus Node.js 20 or newer. The README also lists Rust, the Tauri CLI, and Xcode or the Android SDK for mobile work.
Does it work with Electron or in a browser?
No. The tool descriptions say it is for Tauri apps only, will not work for Electron apps, and point you to Chrome DevTools MCP for browser pages.
Can it run read-only?
No switch for that is documented. The tools for clicking, typing, running JavaScript and calling backend commands are always on.
Which apps can I use it with?
The README lists Claude Code, Cursor, Windsurf, VS Code, Cline, Roo Code, Claude Desktop, Zed, Goose, Warp and Codex through its aix helper. Pick your app in the install box above.
How many tools does it have?
The 0.13.2 release registers 19 tools, although the README heading says 21. The tool list above follows the release code.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
@hypothesi/tauri-mcp-server- Registry
- npm
- Transport
- stdio
- Auth
- None
- Version
- 0.13.2
- License
- MIT
- Last commit
- Oct 22, 2026
- Open issues
- 11
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 6Hide
- README · github.com
- tools-registry.ts at v0.13.2 · github.com
- mobile.ts · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com