关于 mcp-server-tauri
mcp-server-tauri 是面向 Tauri v2 应用开发的 MCP 服务,为 AI 助手提供界面自动化、IPC 检查和日志读取能力。它可同时连接多个应用,也包含 Android 设备和 iOS 模拟器列表工具。
主要功能
- 01截图、点击、输入和滚动
- 02查找元素并检查 DOM 与样式
- 03实时捕获和查看 Tauri IPC
- 04读取控制台与移动端日志
- 05列出 Android 设备和 iOS 模拟器
- 06同时连接多个 Tauri 应用
适用场景
- 01自动化测试 Tauri 应用界面
- 02排查应用中的 IPC 调用
- 03检查 Android 或 iOS 构建日志
MCP 相关
该 MCP 服务通过 MCP Bridge 插件与 Tauri 应用通信,向兼容客户端提供界面自动化、IPC、日志和设备管理工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
22收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
@hushlor/tauri-mcp-server
一个 Model Context Protocol (MCP) 服务,让 Claude、Cursor 和 Windsurf 等 AI 助手能够构建、测试和调试 Tauri® v2 应用。
📖 完整文档
**独立的下游分支:**Hushlor 独立维护此发行版,与 hypothesi/mcp-server-tauri 分开,同时保留上游 MIT 许可证和署名。
功能
| 类别 | 功能 |
|---|---|
| 🎯 UI 自动化 | 截图、点击、输入、滚动、查找元素、可视化元素选择器 |
| 🔍 IPC 监控 | 实时捕获和检查 Tauri IPC 调用 |
| 📱 移动端开发 | 列出 Android 模拟器和 iOS 模拟器 |
| 📋 日志 | 实时传输控制台、Android logcat、iOS 和系统日志 |
快速开始
1. 将 MCP Bridge 插件添加到 Tauri 应用
cargo add tauri-plugin-hushlor-mcp-bridge --rename tauri-plugin-mcp-bridge --version 0.14.0
// 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 包
@hushlor/tauri-plugin-mcp-bridge是可选的,仅当你想从应用的前端代码调用该插件时才需要。MCP 服务通过 WebSocket 直接与 Rust 插件通信。
2. 配置 AI 助手
使用 aix 将服务添加到 AI 助手:
npx -y @a1st/aix add mcp tauri --command 'npx @hushlor/tauri-mcp-server' --user
支持的客户端:claude-code、cursor、windsurf、vscode、cline、roo-cline、claude、zed、goose、warp、codex
终端 CLI
如果你想直接通过 Shell 调用相同的工具,请安装配套的 CLI 包:
npm install -g @hushlor/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" })
可用工具(共 22 个)
设置与配置
| 工具 | 描述 |
|---|---|
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) |
native_dialog_snapshot | 检查应用拥有的原生 Windows 对话框链和导航控件 |
native_dialog_interact | 操作、设置路径或选择原生 Windows 对话框控件 |
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 © Hushlor。软件包 LICENSE 中保留了上游原始版权和署名信息;有关来源,请参阅 hypothesi/mcp-server-tauri。
商标声明
TAURI® 是 The Tauri Programme within the Commons Conservancy 的注册商标。https://tauri.app/
本项目与 The Tauri Programme within the Commons Conservancy 无关联,未获其认可,也未受其赞助。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。