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
Dê superpoderes ao seu assistente de IA para desenvolvimento Tauri
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
| Categoria | Capacidades |
|---|---|
| 🎯 Automação de UI | Capturas de tela, cliques, digitação, rolagem, localização de elementos, seletor visual de elementos |
| 🔍 Monitoramento de IPC | Capture e inspecione chamadas IPC do Tauri em tempo real |
| 📱 Desenvolvimento Mobile | Liste simuladores iOS e emuladores Android |
| 📋 Logs | Transmita 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]
aixdetecta 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á:
- Examinar seu projeto para ver o que já está configurado
- Mostrar quais mudanças são necessárias (Cargo.toml, registro de plugin, etc.)
- 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)
| Comando | Descrição |
|---|---|
/setup | Configure ou atualize o plugin MCP bridge no seu projeto Tauri |
/fix-webview-errors | Encontre e corrija erros de JavaScript no seu webview |
/select | Selecione 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
| Ferramenta | Descrição |
|---|---|
get_setup_instructions | Obtenha instruções de configuração/atualização para o plugin MCP Bridge |
Automação de UI — Capturas de tela, cliques, digitação e mais
| Ferramenta | Descrição |
|---|---|
driver_session | Iniciar/parar/status da sessão de automação |
webview_find_element | Encontre elementos por seletor |
read_logs | Leia logs do console, Android, iOS ou sistema |
webview_interact | Clique, role, deslize, foque, pressione longamente |
webview_screenshot | Capture capturas de tela do webview |
webview_keyboard | Digite texto ou envie eventos de teclado |
webview_wait_for | Aguarde elementos, texto ou eventos |
webview_get_styles | Obtenha estilos CSS calculados |
webview_execute_js | Execute JavaScript no webview |
webview_dom_snapshot | Obtenha snapshot estruturado da árvore de acessibilidade |
webview_select_element | Seletor visual de elementos — o usuário clica em um elemento, retorna metadados + captura de tela |
webview_get_pointed_element | Obtenha metadados do elemento em que o usuário clicou com Alt+Shift |
manage_window | Liste janelas, obtenha informações ou redimensione |
Suporte a Múltiplas Janelas: Todas as ferramentas de webview aceitam um parâmetro opcional
windowIdpara direcionar janelas específicas. Usemanage_windowcomaction: "list"para descobrir janelas disponíveis.
IPC e Plugin — Integração profunda com Tauri
| Ferramenta | Descrição |
|---|---|
ipc_execute_command | Execute comandos IPC do Tauri |
ipc_get_backend_state | Obtenha metadados e estado do aplicativo |
ipc_monitor | Iniciar/parar monitoramento de IPC |
ipc_get_captured | Obtenha tráfego IPC capturado |
ipc_emit_event | Emita eventos personalizados |
Desenvolvimento Mobile — Listagem de dispositivos
| Ferramenta | Descrição |
|---|---|
list_devices | Liste 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
- Documentação Completa — Guias, referência de API e exemplos
- Pacote do Servidor MCP — Detalhes da implementação do servidor
- Plugin MCP Bridge — Documentação do plugin Tauri
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Siga os padrões de código existentes
- Adicione testes para novos recursos
- Atualize a documentação
- Garanta que
npm testenpm run standardspassem
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.