hypothesi/mcp-server-tauri

A Model Context Protocol (MCP) server and plugin for Tauri v2 development

MCP Server Tauri – 通过 Model Context Protocol 服务器实现 Tauri 应用的 AI 增强开发

是什么 – 一个与 AI 助手(Claude、Cursor、Windsurf 等)通信的 Model Context Protocol(MCP)服务器,为运行中的 Tauri v2 应用提供实时洞察。它会流式传输截图、DOM 快照、控制台日志和 Tauri IPC 流量,并公开 21 个命令,供助手用于 UI 自动化、IPC 检查或发送、以及列出移动模拟器。

为何重要 – 现代 AI 编码助手需要具体且最新的上下文才能对 GUI 应用进行推理。通过向助手提供来自 Tauri WebView 和原生端的视觉与结构数据,助手可以:

  • 自动诊断 UI 错误
  • 生成或修复与应用 IPC 层交互的代码
  • 无需 Selenium 等外部工具即可驱动 UI(点击、输入、滚动)
  • 通过单一桥接在桌面、Android 和 iOS 上工作

核心功能

类别 工具(共 21 个)
UI 自动化 截图、元素查找、点击/滚动/输入、视觉选择器、DOM 快照、CSS 样式查询、JS 执行、窗口管理
IPC 监控 实时捕获 Tauri IPC 调用、状态检查、自定义事件发射
移动开发 列出 iOS 模拟器和 Android 模拟器
日志 流式传输控制台、Android logcat、iOS 日志、系统日志
设置 /setup 命令可将 Rust 桥接插件添加到 Tauri 项目

如何使用

  1. 安装前置条件 – Node 20+、Rust/Cargo、Tauri CLI,以及(可选)Xcode/Android SDK。
  2. 使用 aix CLI 将 MCP 添加到你的 AI 助手:
    npx -y @a1st/aix add mcp tauri --command 'npx @hypothesi/tauri-mcp-server' --user
    
    助手将学会如何启动服务器并调用斜杠命令。
  3. 配置 Tauri 应用 – 可让助手运行 /setup(它会建议 Cargo.toml 的修改和插件注册),或遵循手动指南。
  4. 运行服务器npx @hypothesi/tauri-mcp-server 启动一个基于 stdio 的 MCP 服务器,与助手通信。
  5. 交互 – 在助手中输入命令如 /select(视觉元素选择器)或 /fix-webview-errors。你也可以直接调用 CLI,例如 tauri-mcp webview-screenshot --file out.png

架构概览

AI 助手  ←→  MCP 服务器(Node.js)  ←WebSocket→  Tauri 应用
   │                │                     │
   │                ├─ Manager(CLI/配置)   └─ MCP 桥接插件(Rust)
   │                ├─ Driver(UI 自动化)   └─ WebView(DOM/UI)
   │                └─ Monitor(日志与 IPC)

桥接插件将一个小型 Rust 库注入 Tauri 二进制文件,暴露 IPC 命令和状态,由服务器转发给助手。无需外部浏览器或驱动程序。

快速入门

# 克隆并安装
git clone https://github.com/hypothesi/mcp-server-tauri.git
cd mcp-server-tauri
npm install

# 构建包
npm run build

# 启动服务器(将监听 AI 客户端的 stdio 管道)
npx @hypothesi/tauri-mcp-server

你还可以运行捆绑的 test-app Tauri 项目进行动手演示。

谁应该关注

  • 使用 Tauri 构建桌面应用并希望实现 AI 驱动的调试或代码生成的开发者。
  • 使用 Claude、Cursor 或类似助手并需要助手看到 UI 状态的团队。
  • 希望在不使用 Selenium/Playwright 的情况下,跨桌面和移动 Tauri 目标脚本化 UI 交互的人。

许可证 – MIT(参见 LICENSE)。


本项目由 hypothesi 组织维护,与 Tauri Programme 无官方关联。

相关

  • 项目
  • 项目
  • 项目
  • 项目