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 無官方關聯。

相關

  • 專案
  • 專案
  • 專案
  • 專案