关于 Tauri MCP Server
Tauri MCP Server 是面向 Tauri v2 应用的 MCP 服务,让 Claude、Cursor 等 AI 助手可以构建、测试和调试桌面及移动应用。它面向使用 Tauri 开发桌面或移动应用的开发者,提供 UI 自动化、IPC 监控与日志查看等能力。项目还附带命令行工具 tauri-mcp。
主要功能
- 01截图、点击、输入等 WebView UI 自动化
- 02CSS 选择器、XPath 与文本元素查找
- 03Tauri IPC 调用的实时捕获与监控
- 04控制台、logcat 与 iOS 日志读取
- 05列出 Android 设备与 iOS 模拟器
- 06配套的 tauri-mcp 命令行工具
适用场景
- 01让 AI 助手自动测试 Tauri 应用界面
- 02调试 Tauri 前后端之间的 IPC 调用
- 03查看移动端设备与日志以排查问题
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 20 个用于 Tauri 应用自动化、IPC 与日志的工具。应用需集成 Rust 端的 MCP Bridge 插件,服务通过 WebSocket 与之通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
24收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| args | array | 否 | 传递给命令的其他参数 |
| command | string | 是 | 任意 Tauri CLI 命令(例如,"init"、"dev"、"build"、"android dev"、"migrate"、"plugin add" 等) |
| cwd | string | 是 | 项目目录 |
| timeout | number | 否 | 命令超时时间(毫秒,默认值:180000) |
详细介绍
@hypothesi/tauri-mcp-server
Model Context Protocol(MCP)服务,可让 Claude、Cursor 和 Windsurf 等 AI 助手构建、测试和调试 Tauri® v2 应用。
📖 完整文档
功能
| 类别 | 能力 |
|---|---|
| 🎯 UI 自动化 | 截图、点击、输入、滚动、查找元素、可视化元素选择器 |
| 🔍 IPC 监控 | 实时捕获和检查 Tauri IPC 调用 |
| 📱 移动开发 | 列出 Android 模拟器和 iOS 模拟器 |
| 📋 日志 | 流式查看控制台、Android logcat、iOS 和系统日志 |
快速开始
1. 将 MCP Bridge 插件添加到 Tauri 应用
cargo add tauri-plugin-mcp-bridge
// src-tauri/src/main.rs
fn main() {
let mut builder = tauri::Builder::default();
#[cfg(debug_assertions)]
{
builder = builder.plugin(tauri_plugin_mcp_bridge::init());
}
builder
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
注意: npm 包
@hypothesi/tauri-plugin-mcp-bridge是可选的,仅在需要从应用前端代码调用插件时才需要。MCP 服务会通过 WebSocket 直接与 Rust 插件通信。
2. 配置 AI 助手
使用 aix 将服务添加到 AI 助手:
npx -y @a1st/aix add mcp tauri --command 'npx @hypothesi/tauri-mcp-server' --user
支持的客户端:claude-code、cursor、windsurf、vscode、cline、roo-cline、claude、zed、goose、warp、codex
终端 CLI
如果想直接从 Shell 调用相同的工具,请安装配套的 CLI 包:
npm install -g @hypothesi/tauri-mcp-cli
tauri-mcp driver-session start --port 9223
tauri-mcp driver-session status --json
CLI 会在后台保持底层 MCP 服务运行,因此 driver_session 等有状态命令可以在多次独立调用之间正常工作。
多应用支持
MCP 服务支持同时连接到多个 Tauri 应用。每个应用运行在唯一端口上,最近连接的应用会成为“默认”应用。
主要功能:
- 连接到运行在不同端口上的多个应用
- 未指定
appIdentifier时使用默认应用 - 使用端口号或 bundle ID 指定目标应用
- 停止单个会话或一次停止所有会话
用法示例:
// Connect to first app
await driver_session({ action: "start", port: 9223 })
// Connect to second app
await driver_session({ action: "start", port: 9224 })
// Check status - shows both apps with default indicator
await driver_session({ action: "status" })
// Use default app (most recent - port 9224)
await webview_screenshot()
// Target specific app by port
await webview_screenshot({ appIdentifier: 9223 })
// Stop specific app
await driver_session({ action: "stop", appIdentifier: 9223 })
// Stop all apps
await driver_session({ action: "stop" })
可用工具(共 20 个)
设置与配置
| 工具 | 描述 |
|---|---|
get_setup_instructions | 获取 MCP Bridge 插件的设置/更新说明 |
UI 自动化
| 工具 | 描述 |
|---|---|
driver_session | 启动/停止自动化会话,或查看其状态 |
webview_find_element | 按 CSS 选择器、XPath、文本或 ref ID 查找元素 |
read_logs | 读取控制台、Android、iOS 或系统日志 |
webview_interact | 点击、滚动、滑动、聚焦、长按 |
webview_screenshot | 捕获 webview 截图(默认使用 JPEG) |
webview_keyboard | 输入文本或发送按键事件 |
webview_wait_for | 等待元素、文本或事件 |
webview_get_styles | 获取计算后的 CSS 样式 |
webview_execute_js | 在 webview 中执行 JavaScript |
webview_dom_snapshot | 获取结构化 DOM 快照(无障碍或结构) |
webview_select_element | 可视化元素选择器——用户点击元素后返回元数据和截图 |
webview_get_pointed_element | 获取用户按 Alt+Shift 并点击的元素的元数据 |
manage_window | 列出窗口、获取信息或调整大小 |
IPC 与插件
| 工具 | 描述 |
|---|---|
ipc_execute_command | 执行 Tauri IPC 命令 |
ipc_get_backend_state | 获取应用元数据和状态 |
ipc_monitor | 启动/停止 IPC 监控 |
ipc_get_captured | 获取捕获的 IPC 流量 |
ipc_emit_event | 发送自定义事件 |
移动开发
| 工具 | 描述 |
|---|---|
list_devices | 列出 Android 设备和 iOS 模拟器 |
链接
许可证
MIT © hypothesi
商标声明
TAURI® 是 Commons Conservancy 旗下 The Tauri Programme 的注册商标。https://tauri.app/
本项目与 Commons Conservancy 旗下 The Tauri Programme 无关联,也未获得其认可或赞助。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。