Tauri Development MCP Server

Construa, teste e depure aplicativos móveis e desktop com o framework Tauri mais rapidamente, com interação automatizada de UI, capturas de tela, estado do DOM e logs do console do seu aplicativo em desenvolvimento.

Documentação

MCP Server Tauri

MCP Server Tauri

Dê superpoderes ao seu assistente de IA para desenvolvimento Tauri

npm version crates.io License: MIT Tauri v2

Documentação · Primeiros Passos · Ferramentas Disponíveis


Um servidor Model Context Protocol (MCP) que permite que assistentes de IA como Claude, Cursor e Windsurf criem, testem e depurem aplicações Tauri® v2. Capturas de tela, estado do DOM e logs do console do seu aplicativo em execução dão à IA um contexto rico para entender o que está acontecendo — e ferramentas para interagir com ele.

✨ Recursos

CategoriaCapacidades
🎯 Automação de UICapturas de tela, cliques, digitação, rolagem, localização de elementos, seletor visual de elementos
🔍 Monitoramento de IPCCapture e inspecione chamadas IPC do Tauri em tempo real
📱 Desenvolvimento MobileListe simuladores iOS e emuladores Android
📋 LogsTransmita logs do console, Android logcat, iOS e sistema

Aviso: Este MCP foi desenvolvido usando ferramentas de codificação agêntica. Pode conter bugs.

🚀 Início Rápido

Pré-requisitos

  • Node.js 20+ e npm
  • Rust e Cargo (para desenvolvimento Tauri)
  • Tauri CLI: npm install -g @tauri-apps/cli@next
  • Para mobile: Xcode (macOS) ou Android SDK

1. Configure Seu Assistente de IA

Use aix para adicionar o servidor ao seu assistente de IA:

npx -y @a1st/aix add mcp tauri --command 'npx @hypothesi/tauri-mcp-server' --user

Clientes suportados: claude-code, cursor, windsurf, vscode, cline, roo-cline, claude, zed, goose, warp, codex

[!TIP] aix detecta automaticamente seus assistentes de IA instalados e os configura.

Reinicie seu assistente de IA após adicionar a configuração.

Uso via CLI

Se você quiser chamar as ferramentas diretamente de um terminal em vez de um cliente MCP:

npm install -g @hypothesi/tauri-mcp-cli
tauri-mcp driver-session start --port 9223
tauri-mcp webview-screenshot --file screenshot.png

A CLI usa suporte keep-alive do MCPorter para que o estado driver_session sobreviva entre comandos separados.

2. Configure o Plugin MCP Bridge

Peça ao seu assistente de IA para ajudar a configurar seu aplicativo Tauri:

"Ajude-me a configurar o plugin Tauri MCP Bridge"

Seu assistente de IA irá:

  1. Examinar seu projeto para ver o que já está configurado
  2. Mostrar quais mudanças são necessárias (Cargo.toml, registro de plugin, etc.)
  3. Pedir sua permissão antes de fazer qualquer modificação

É isso! A IA cuida de todos os detalhes de configuração enquanto mantém você no controle. 🎉

Configuração Manual

Se preferir configurar manualmente, consulte o guia de Primeiros Passos ou a documentação do plugin.


💬 Comandos de Barra (Prompts)

ComandoDescrição
/setupConfigure ou atualize o plugin MCP bridge no seu projeto Tauri
/fix-webview-errorsEncontre e corrija erros de JavaScript no seu webview
/selectSelecione visualmente um elemento no seu aplicativo — retorna metadados e captura de tela

Basta digitar o comando no seu assistente de IA para iniciar um fluxo de trabalho guiado.


🧰 Ferramentas Disponíveis (21 no total)

Configuração
FerramentaDescrição
get_setup_instructionsObtenha instruções de configuração/atualização para o plugin MCP Bridge
Automação de UI — Capturas de tela, cliques, digitação e mais
FerramentaDescrição
driver_sessionIniciar/parar/status da sessão de automação
webview_find_elementEncontre elementos por seletor
read_logsLeia logs do console, Android, iOS ou sistema
webview_interactClique, role, deslize, foque, pressione longamente
webview_screenshotCapture capturas de tela do webview
webview_keyboardDigite texto ou envie eventos de teclado
webview_wait_forAguarde elementos, texto ou eventos
webview_get_stylesObtenha estilos CSS calculados
webview_execute_jsExecute JavaScript no webview
webview_dom_snapshotObtenha snapshot estruturado da árvore de acessibilidade
webview_select_elementSeletor visual de elementos — o usuário clica em um elemento, retorna metadados + captura de tela
webview_get_pointed_elementObtenha metadados do elemento em que o usuário clicou com Alt+Shift
manage_windowListe janelas, obtenha informações ou redimensione

Suporte a Múltiplas Janelas: Todas as ferramentas de webview aceitam um parâmetro opcional windowId para direcionar janelas específicas. Use manage_window com action: "list" para descobrir janelas disponíveis.

IPC e Plugin — Integração profunda com Tauri
FerramentaDescrição
ipc_execute_commandExecute comandos IPC do Tauri
ipc_get_backend_stateObtenha metadados e estado do aplicativo
ipc_monitorIniciar/parar monitoramento de IPC
ipc_get_capturedObtenha tráfego IPC capturado
ipc_emit_eventEmita eventos personalizados
Desenvolvimento Mobile — Listagem de dispositivos
FerramentaDescrição
list_devicesListe dispositivos Android e simuladores iOS

🏗️ Arquitetura

┌─────────────────────────────────────────────────────────────────┐
│                        AI Assistant                             │
│                  (Claude, Cursor, Windsurf)                     │
└─────────────────────────┬───────────────────────────────────────┘
                          │ MCP Protocol (stdio)
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                     MCP Server (Node.js)                        │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐   │
│  │   Manager    │  │    Driver    │  │      Monitor         │   │
│  │  CLI/Config  │  │ UI Automation│  │   Logs/IPC Events    │   │
│  └──────────────┘  └──────┬───────┘  └──────────────────────┘   │
└─────────────────────────────┼───────────────────────────────────┘
                              │ WebSocket (port 9223)
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                      Tauri Application                          │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              MCP Bridge Plugin (Rust)                    │   │
│  │         IPC Commands • Events • Backend State            │   │
│  └──────────────────────────────────────────────────────────┘   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                    Webview (DOM/UI)                      │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

Por que essa abordagem?

  • ✅ Contexto rico para IA — Capturas de tela, DOM e logs ajudam a IA a entender o estado do seu aplicativo
  • ✅ Multiplataforma — Funciona em Linux, Windows, macOS, Android e iOS
  • ✅ Sem drivers externos — Sem necessidade de Selenium, Playwright ou automação de navegador
  • ✅ Integração nativa — Acesso direto ao IPC e backend do Tauri

🧑‍💻 Desenvolvimento

# Clone and install
git clone https://github.com/hypothesi/mcp-server-tauri.git
cd mcp-server-tauri
npm install

# Build all packages
npm run build

# Run tests
npm test

# Development mode
npm run dev -w @hypothesi/tauri-mcp-server
Estrutura do Projeto
mcp-server-tauri/
├── packages/
│   ├── mcp-server/              # MCP server (TypeScript)
│   ├── tauri-plugin-mcp-bridge/ # Tauri plugin (Rust + JS bindings)
│   └── test-app/                # Test Tauri application
├── docs/                        # VitePress documentation
└── specs/                       # Architecture specs
Lançamento (Release)
# Release plugin (Cargo + npm)
npm run release:plugin patch

# Release server (npm only)
npm run release:server patch

Consulte specs/releasing.md para detalhes.


📚 Documentação


🤝 Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Siga os padrões de código existentes
  2. Adicione testes para novos recursos
  3. Atualize a documentação
  4. Garanta que npm test e npm run standards passem

Outras Notas

Este projeto é testado com BrowserStack.

📄 Licença

MIT © hypothesi


Aviso de Marca Registrada

TAURI® é uma marca registrada do The Tauri Programme within the Commons Conservancy. https://tauri.app/

Este projeto não é afiliado, endossado ou patrocinado pelo The Tauri Programme within the Commons Conservancy.