MCP server for automating and interacting with Tauri desktop applications
Strong foundation with 11 well-defined tools, comprehensive schemas using Zod validation, and clear descriptions. All tools have input schemas with proper type constraints (selectors bounded 1-2000 chars, timeouts 1-60000ms, filename regex validation). Descriptions are action-oriented and state destructiveness clearly. However, output schemas are not documented, responses are wrapped in generic Envelope objects without field-level documentation. Parameter descriptions are solid but could be more prescriptive about error recovery. Tool composition is clean (single responsibility per tool), and naming follows verb_noun convention consistently. Risk annotations (destructiveHint, idempotentHint) are present on mutation tools.
Capture the application window. It returns a native MCP image by default.
Click a UI element identified by a CSS selector.
Delete the tracked WebDriver session. This does not promise that an externally owned app process was killed.
Create an embedded WebDriver session against a running Tauri test endpoint. The caller owns the external application process.
Execute a Tauri IPC command in the application.
Get the current state of the application session.
Get the visible text content of a UI element.
Output schemas not documented. Tools return generic Envelope{success, data, error} without field-level documentation of what 'data' contains for each tool. LLMs cannot plan downstream calls or extract structured results.
Error recovery guidance missing. Error messages are generic ('Unable to launch the application') without actionable next steps. LLMs cannot self-correct or know whether to retry, ask user, or abandon.
Parameter descriptions lack prescriptive format guidance. 'selector' is described as 'CSS selector' but does not explain valid syntax, common pitfalls (e.g., escaping special chars), or what happens if selector matches 0 or 100+ elements.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Inspect the UI structure and return a snapshot of elements matching a selector.
Launch a Tauri application through tauri-driver.
Type text into an input field or editable element.
Wait for an element to reach an attached, visible, or hidden state.
No confirmation/dry-run pattern for destructive operations. launch_app and close_app are marked destructiveHint=true but lack a way to preview or confirm before execution. Agents cannot safely test plans.
Tool composition assumes external process ownership. connect_app requires caller to own the app process, but no tool documents how to verify process state or recover if process dies unexpectedly. Dependency chain is implicit.