# io.github.Hushlor/mcp-server-tauri (npm · @hushlor/tauri-mcp-server)

A Model Context Protocol server for use with Tauri v2 applications

- Trust score: 46/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@hushlor/tauri-mcp-server`: 46/100 (this document), [markdown](https://verifymcp.io/servers/hushlor-mcp-server-tauri/hushlor-tauri-mcp-server.md), [page](https://verifymcp.io/servers/hushlor-mcp-server-tauri/hushlor-tauri-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@hushlor/tauri-mcp-server`
- Version: `0.14.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 88/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (120 of 124), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (120 of 124), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Hushlor/mcp-server-tauri).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- **Capabilities**: 0/100
  - Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.

**Unverified: 4 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### Claude

```bash
claude mcp add hushlor-mcp-server-tauri -- npx -y @hushlor/tauri-mcp-server
```

### Codex

```bash
codex mcp add hushlor-mcp-server-tauri -- npx -y @hushlor/tauri-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hushlor-mcp-server-tauri": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@hushlor/tauri-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add hushlor-mcp-server-tauri --command npx --arg -y --arg @hushlor/tauri-mcp-server
```

### Hermes

```yaml
mcp_servers:
  hushlor-mcp-server-tauri:
    command: "npx"
    args: ["-y", "@hushlor/tauri-mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "hushlor-mcp-server-tauri": {
      "command": "npx",
      "args": [
        "-y",
        "@hushlor/tauri-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 46)

First indexed and scored.

## MCP tools (22)

### `get_setup_instructions` (~101 tokens)

Get instructions for setting up or updating the MCP Bridge plugin in a Tauri project. Call this tool when: (1) driver_session fails to connect, (2) you detect the plugin is not installed or outdated, or (3) the user asks about setup. Returns step-by-step guidance that you should follow to help the user configure their project. IMPORTANT: The instructions require you to examine the project first and ask for permission before making any changes.

### `list_devices` (~56 tokens)

[Tauri Mobile Apps Only] List Android emulators/devices and iOS simulators. Use for Tauri mobile development (tauri android dev, tauri ios dev). Not needed for desktop-only Tauri apps or web projects.

### `driver_session` (~293 tokens)

[Tauri Apps Only] Start/stop automation session to connect to a RUNNING Tauri app. Supports multiple concurrent app connections - each app runs on a unique port. The most recently connected app becomes the "default" app used when no appIdentifier is specified. Use action "status" to check connection state: returns single app format when 1 app connected, or array format with "isDefault" indicator when multiple apps connected. Action "stop" without appIdentifier stops ALL sessions; with appIdentifier stops only that app. The identifier field (e.g., "com.example.myapp") uniquely identifies each app. REQUIRED before using other webview_* or ipc_* tools. Connects via WebSocket to the MCP Bridge plugin in the Tauri app. For browser automation, use Chrome DevTools MCP instead. For Electron apps, this tool will NOT work.

Input parameters:

- `action` (string, required): Action to perform: start or stop the session, or check status
- `appIdentifier` (string|number): App identifier (port number or bundle ID) to stop. Only used with action "stop". If omitted, stops all sessions.
- `host` (string): Host address to connect to (e.g., 192.168.1.100). Falls back to MCP_BRIDGE_HOST or TAURI_DEV_HOST env vars
- `port` (number): Port to connect to (default: 9223)

### `webview_find_element` (~278 tokens)

[Tauri Apps Only] Find DOM elements in a running Tauri app's webview. Supports CSS selectors (default), XPath expressions, and text content matching via the strategy parameter. The "text" strategy first searches element text content, then falls back to placeholder, aria-label, and title attributes. Returns the element's HTML. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. For browser pages or documentation sites, use Chrome DevTools MCP instead.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `selector` (string, required): The selector to find: CSS selector (default), XPath expression, text content, or ref ID (e.g., "ref=e3"). Interpretation depends on strategy.
- `strategy` (string): Selector strategy: "css" (default) for CSS selectors, "xpath" for XPath expressions, "text" to find elements by text content, with fallback to placeholder, aria-label, and title attributes. Ref IDs (…
- `windowId` (string): Window label to target (defaults to "main")

### `read_logs` (~208 tokens)

[Tauri Apps Only] Read logs from various sources: "console" for webview JS logs, "android" for logcat, "ios" for simulator logs, "system" for desktop logs. Requires active driver_session for console logs. Use for debugging Tauri app issues at any level.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID for console logs. Defaults to the only connected app or the default app if multiple are connected.
- `filter` (string): Regex or keyword to filter logs
- `lines` (integer)
- `since` (string): ISO timestamp to filter logs since (e.g. 2023-10-27T10:00:00Z)
- `source` (string, required): Log source: "console" for webview JS logs, "android" for logcat, "ios" for simulator, "system" for desktop
- `windowId` (string): Window label for console logs (defaults to "main")

### `webview_interact` (~387 tokens)

[Tauri Apps Only] Click, scroll, swipe, focus, or perform gestures in a Tauri app webview. Supported actions: click, double-click, long-press, scroll, swipe, focus. Supports CSS selectors (default), XPath, and text content matching via the strategy parameter. Requires active driver_session. For browser interaction, use Chrome DevTools MCP instead.

Input parameters:

- `action` (string, required): Type of interaction to perform
- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `duration` (number): Duration in ms for long-press or swipe (default: 500ms for long-press, 300ms for swipe)
- `fromX` (number): Starting X coordinate for swipe
- `fromY` (number): Starting Y coordinate for swipe
- `scrollX` (number): Horizontal scroll amount in pixels (positive = right)
- `scrollY` (number): Vertical scroll amount in pixels (positive = down)
- `selector` (string): Element selector: CSS selector (default), XPath expression, text content, or ref ID (e.g., "ref=e3")
- `strategy` (string): Selector strategy: "css" (default) for CSS selectors, "xpath" for XPath expressions, "text" to find elements by text content, with fallback to placeholder, aria-label, and title attributes. Ref IDs (…
- `toX` (number): Ending X coordinate for swipe
- `toY` (number): Ending Y coordinate for swipe
- `windowId` (string): Window label to target (defaults to "main")
- `x` (number): X coordinate for direct coordinate interaction
- `y` (number): Y coordinate for direct coordinate interaction

### `webview_screenshot` (~223 tokens)

[Tauri Apps Only] Screenshot a running Tauri app's webview. Requires active driver_session. Captures only visible viewport. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. For browser screenshots, use Chrome DevTools MCP instead. For Electron apps, this will NOT work.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `filePath` (string): File path to save the screenshot to instead of returning as base64
- `format` (string): Image format
- `maxWidth` (integer): Maximum width in pixels. Images wider than this will be scaled down proportionally. Can also be set via TAURI_MCP_SCREENSHOT_MAX_WIDTH environment variable.
- `quality` (number): JPEG quality (0-100, only for jpeg format)
- `windowId` (string): Window label to target (defaults to "main")

### `native_dialog_snapshot` (~246 tokens)

[Windows Tauri Apps Only] Discover native message, confirmation, Open, or Save dialogs in the ownership chain of a targeted Tauri window. Returns a bounded semantic UI Automation snapshot with ownership depth, navigation and file-system controls, automation IDs, semantic roles, supported patterns, and ephemeral elementRef values. Set minOwnerDepth to 2 to wait for a child confirmation such as Save overwrite. Requires an active driver_session and an interactive Windows desktop. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. Native dialogs are outside the webview DOM; Windows toast notifications are not supported.

Input parameters:

- `appIdentifier` (string|number): App identifier (port or bundle ID) when multiple Tauri apps are connected
- `minOwnerDepth` (integer): Minimum owner-chain depth to return: 1 for direct dialogs, 2 for confirmations owned by another dialog
- `timeoutMs` (integer): Bounded time to wait for the native operation, from 100 to 10000 milliseconds
- `windowId` (string): Tauri window label whose owned native dialog chain should be targeted

### `native_dialog_interact` (~151 tokens)

[Windows Tauri Apps Only] Interact with an elementRef from the latest native_dialog_snapshot using UI Automation InvokePattern, ValuePattern, or SelectionItemPattern. Use invoke for dialog buttons, setValue with a complete absolute file or folder path, setPaths with complete absolute existing file paths for multi-select Open dialogs, and select for advertised navigation or file-system controls. References are session-bound, expire after 30 seconds, and are otherwise ephemeral; take a new snapshot after a stale-reference error. Requires an active driver_session and an interactive Windows desktop. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app.

### `webview_keyboard` (~337 tokens)

[Tauri Apps Only] Type text or send keyboard events in a Tauri app. The selector parameter (for "type" action) supports CSS selectors (default), XPath, and text content matching via the strategy parameter. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. For browser keyboard input, use Chrome DevTools MCP instead.

Input parameters:

- `action` (string, required): Keyboard action type: "type" for typing text into an element, "press/down/up" for key events
- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `key` (string): Key to press (required for "press/down/up" actions, e.g., "Enter", "a", "Escape")
- `modifiers` (array): Modifier keys to hold
- `selector` (string): Element selector for element to type into (required for "type" action): CSS selector (default), XPath, text content, or ref ID
- `strategy` (string): Selector strategy: "css" (default) for CSS selectors, "xpath" for XPath expressions, "text" to find elements by text content, with fallback to placeholder, aria-label, and title attributes. Ref IDs (…
- `text` (string): Text to type (required for "type" action)
- `windowId` (string): Window label to target (defaults to "main")

### `webview_wait_for` (~224 tokens)

[Tauri Apps Only] Wait for elements, text, or IPC events in a Tauri app. When type is "selector", supports CSS (default), XPath, and text strategies via the strategy parameter. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. For browser waits, use Chrome DevTools MCP instead.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `strategy` (string): Selector strategy (applies when type is "selector"): "css" (default), "xpath", or "text".
- `timeout` (number): Timeout in milliseconds (default: 5000ms)
- `type` (string, required): What to wait for
- `value` (string, required): Selector, text content, or IPC event name to wait for
- `windowId` (string): Window label to target (defaults to "main")

### `webview_get_styles` (~273 tokens)

[Tauri Apps Only] Get computed CSS styles from elements in a Tauri app. Supports CSS selectors (default), XPath, and text content matching via the strategy parameter. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. For browser style inspection, use Chrome DevTools MCP instead.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `multiple` (boolean): Whether to get styles for all matching elements (true) or just the first (false)
- `properties` (array): Specific CSS properties to retrieve. If omitted, returns all computed styles
- `selector` (string, required): Element selector: CSS selector (default), XPath expression, text content, or ref ID
- `strategy` (string): Selector strategy: "css" (default) for CSS selectors, "xpath" for XPath expressions, "text" to find elements by text content, with fallback to placeholder, aria-label, and title attributes. Ref IDs (…
- `windowId` (string): Window label to target (defaults to "main")

### `webview_execute_js` (~251 tokens)

[Tauri Apps Only] Execute JavaScript in a Tauri app's webview context. Requires active driver_session. Has access to window.__TAURI__. If you need a return value, it must be JSON-serializable. For functions that return values, use an IIFE: "(() => { return 5; })()" not "() => { return 5; }". Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app. For browser JS execution, use Chrome DevTools MCP instead.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `args` (array): Arguments to pass to the script
- `script` (string, required): JavaScript code to execute in the webview context. If returning a value, it must be JSON-serializable. For functions that return values, use IIFE syntax: "(() => { return value; })()" not "() => { re…
- `windowId` (string): Window label to target (defaults to "main")

### `webview_dom_snapshot` (~357 tokens)

[Tauri Apps Only] Get a structured DOM snapshot of a Tauri app's webview. Supports different snapshot types for AI consumption. The "accessibility" type returns a YAML representation of the accessibility tree similar to Playwright's aria snapshots, including roles, names, states, and element refs. Use this for understanding UI semantics, finding interactive elements, or accessibility testing. The "structure" type returns a YAML representation of the DOM hierarchy with element tag names, IDs, CSS classes, and data-testid attributes (if present). Use this for understanding page layout, debugging CSS selectors, or locating elements by class/ID. Use the optional selector parameter to scope the snapshot to a subtree. The selector supports CSS (default), XPath, and text content matching via the strategy parameter. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `selector` (string): Selector to scope the snapshot: CSS selector (default), XPath, text content, or ref ID. If omitted, snapshots entire document.
- `strategy` (string): Selector strategy: "css" (default) for CSS selectors, "xpath" for XPath expressions, "text" to find elements by text content, with fallback to placeholder, aria-label, and title attributes. Ref IDs (…
- `type` (string, required): Snapshot type
- `windowId` (string): Window label to target (defaults to "main")

### `webview_select_element` (~188 tokens)

[Tauri Apps Only] Activates an element picker overlay in the Tauri app. The user visually selects an element by clicking it, and the tool returns rich element metadata (tag, id, classes, attributes, text, bounding rect, CSS selector, computed styles, parent chain) plus an annotated screenshot with the element highlighted. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `timeout` (number): Timeout in ms for user to pick an element (5000-120000, default 60000)
- `windowId` (string): Window label to target (defaults to "main")

### `webview_get_pointed_element` (~179 tokens)

[Tauri Apps Only] Retrieves element metadata for an element the user previously pointed at via Alt+Shift+Click in the Tauri app. Returns the same rich metadata as webview_select_element (tag, id, classes, attributes, text, bounding rect, CSS selector, computed styles, parent chain) plus an annotated screenshot. The user must Alt+Shift+Click an element first before calling this tool. Requires active driver_session. Targets the only connected app, or the default app if multiple are connected. Specify appIdentifier (port or bundle ID) to target a specific app.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `windowId` (string): Window label to target (defaults to "main")

### `ipc_execute_command` (~100 tokens)

[Tauri Apps Only] Execute Tauri IPC commands (invoke Rust backend functions). Requires active driver_session. This is Tauri-specific IPC, not browser APIs. For Electron IPC or browser APIs, use appropriate tools for those frameworks.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `args`
- `command` (string, required)

### `ipc_monitor` (~103 tokens)

[Tauri Apps Only] Monitor Tauri IPC calls between frontend and Rust backend. Requires active driver_session. Captures invoke() calls and responses. This is Tauri-specific; for browser network monitoring, use Chrome DevTools MCP.

Input parameters:

- `action` (string, required): Action to perform: start or stop IPC monitoring
- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.

### `ipc_get_captured` (~98 tokens)

[Tauri Apps Only] Get captured Tauri IPC traffic (requires ipc_monitor started). Shows captured commands (invoke calls) and events with arguments and responses. For browser network requests, use Chrome DevTools MCP instead.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `filter` (string): Filter events by command name

### `ipc_emit_event` (~97 tokens)

[Tauri Apps Only] Emit a Tauri event to test event handlers. Requires active driver_session. Events are Tauri-specific (not DOM events). For browser DOM events, use Chrome DevTools MCP instead.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `eventName` (string, required)
- `payload`

### `ipc_get_backend_state` (~83 tokens)

[Tauri Apps Only] Get Tauri backend state: app metadata, Tauri version, environment. Requires active driver_session. Use to verify you're connected to a Tauri app and get app info.

Input parameters:

- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.

### `manage_window` (~241 tokens)

[Tauri Apps Only] Manage Tauri windows. Actions: "list" - List all windows with labels, titles, URLs, and state. "info" - Get detailed info for a window (size, position, title, focus, visibility). "resize" - Resize a window (requires width/height, uses logical pixels by default). Requires active driver_session. For browser windows, use Chrome DevTools MCP instead.

Input parameters:

- `action` (string, required): Action: "list" all windows, get "info" for one window, or "resize" a window
- `appIdentifier` (string|number): App port or bundle ID to target. Defaults to the only connected app or the default app if multiple are connected.
- `height` (integer): Height in pixels (required for "resize" action)
- `logical` (boolean): Use logical pixels (true, default) or physical pixels (false). Only for "resize"
- `width` (integer): Width in pixels (required for "resize" action)
- `windowId` (string): Window label to target (defaults to "main"). Required for "info", optional for "resize"

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/hushlor-mcp-server-tauri/hushlor-tauri-mcp-server#diagnostics

## Score history

- 2026-08-03: 46

## Links

- npm package: https://www.npmjs.com/package/@hushlor/tauri-mcp-server
- Socket report: https://socket.dev/npm/package/@hushlor/tauri-mcp-server
- Repository: https://github.com/Hushlor/mcp-server-tauri
- Changelog RSS feed: https://verifymcp.io/servers/hushlor-mcp-server-tauri/hushlor-tauri-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/hushlor-mcp-server-tauri/hushlor-tauri-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/hushlor-mcp-server-tauri/hushlor-tauri-mcp-server
