Tauri Development MCP Server
Construye, prueba y depura aplicaciones móviles y de escritorio con el framework Tauri más rápido mediante interacción automatizada de UI, capturas de pantalla, estado del DOM y registros de consola desde tu aplicación en desarrollo.
Documentación
Servidor MCP Tauri
Dale superpoderes a tu asistente de IA para el desarrollo de Tauri
Un servidor Model Context Protocol (MCP) que permite a asistentes de IA como Claude, Cursor y Windsurf crear, probar y depurar aplicaciones Tauri® v2. Las capturas de pantalla, el estado del DOM y los registros de consola de tu aplicación en ejecución le dan a la IA un contexto rico para entender lo que está sucediendo, y herramientas para interactuar con ella.
✨ Características
| Categoría | Capacidades |
|---|---|
| 🎯 Automatización de UI | Capturas de pantalla, clics, escritura, desplazamiento, búsqueda de elementos, selector visual de elementos |
| 🔍 Monitoreo de IPC | Captura e inspecciona llamadas IPC de Tauri en tiempo real |
| 📱 Desarrollo móvil | Lista simuladores de iOS y emuladores de Android |
| 📋 Registros | Transmite registros de consola, logcat de Android, iOS y del sistema |
Descargo de responsabilidad: Este MCP fue desarrollado con herramientas de codificación agénticas. Puede contener errores.
🚀 Inicio Rápido
Requisitos previos
- Node.js 20+ y npm
- Rust y Cargo (para el desarrollo de Tauri)
- Tauri CLI:
npm install -g @tauri-apps/cli@next - Para móvil: Xcode (macOS) o Android SDK
1. Configura tu asistente de IA
Usa aix para añadir el servidor a tu asistente de IA:
npx -y @a1st/aix add mcp tauri --command 'npx @hypothesi/tauri-mcp-server' --user
Clientes compatibles: claude-code, cursor, windsurf, vscode, cline, roo-cline, claude, zed, goose, warp, codex
[!TIP]
aixdetecta automáticamente tus asistentes de IA instalados y los configura.
Reinicia tu asistente de IA después de añadir la configuración.
Uso de CLI
Si quieres llamar a las herramientas directamente desde una terminal en lugar de desde un cliente MCP:
npm install -g @hypothesi/tauri-mcp-cli
tauri-mcp driver-session start --port 9223
tauri-mcp webview-screenshot --file screenshot.png
El CLI usa el soporte keep-alive de MCPorter para que el estado de driver_session sobreviva entre comandos separados.
2. Configura el plugin MCP Bridge
Pídele a tu asistente de IA que te ayude a configurar tu aplicación Tauri:
"Ayúdame a configurar el plugin Tauri MCP Bridge"
Tu IA hará lo siguiente:
- Examinar tu proyecto para ver qué ya está configurado
- Mostrarte qué cambios se necesitan (Cargo.toml, registro del plugin, etc.)
- Pedir tu permiso antes de realizar cualquier modificación
¡Eso es todo! La IA maneja todos los detalles de configuración mientras te mantiene en control. 🎉
Configuración manual
Si prefieres configurarlo manualmente, consulta la guía de inicio o la documentación del plugin.
💬 Comandos Slash (Prompts)
| Comando | Descripción |
|---|---|
/setup | Configura o actualiza el plugin MCP bridge en tu proyecto Tauri |
/fix-webview-errors | Encuentra y corrige errores de JavaScript en tu webview |
/select | Selecciona visualmente un elemento en tu aplicación: devuelve metadatos y captura de pantalla |
Solo escribe el comando en tu asistente de IA para iniciar un flujo de trabajo guiado.
🧰 Herramientas disponibles (21 en total)
Configuración y ajustes
| Herramienta | Descripción |
|---|---|
get_setup_instructions | Obtén instrucciones de configuración/actualización para el plugin MCP Bridge |
Automatización de UI — Capturas de pantalla, clics, escritura y más
| Herramienta | Descripción |
|---|---|
driver_session | Iniciar/detener/estado de la sesión de automatización |
webview_find_element | Encontrar elementos por selector |
read_logs | Leer registros de consola, Android, iOS o del sistema |
webview_interact | Clic, desplazamiento, deslizar, enfocar, pulsación larga |
webview_screenshot | Capturar capturas de pantalla del webview |
webview_keyboard | Escribir texto o enviar eventos de teclado |
webview_wait_for | Esperar elementos, texto o eventos |
webview_get_styles | Obtener estilos CSS calculados |
webview_execute_js | Ejecutar JavaScript en el webview |
webview_dom_snapshot | Obtener instantánea estructurada del árbol de accesibilidad |
webview_select_element | Selector visual de elementos: el usuario hace clic en un elemento, devuelve metadatos + captura de pantalla |
webview_get_pointed_element | Obtener metadatos del elemento en el que el usuario hizo clic con Alt+Shift |
manage_window | Listar ventanas, obtener información o redimensionar |
Soporte multi-ventana: Todas las herramientas de webview aceptan un parámetro opcional
windowIdpara apuntar a ventanas específicas. Usamanage_windowconaction: "list"para descubrir las ventanas disponibles.
IPC y Plugin — Integración profunda con Tauri
| Herramienta | Descripción |
|---|---|
ipc_execute_command | Ejecutar comandos IPC de Tauri |
ipc_get_backend_state | Obtener metadatos y estado de la aplicación |
ipc_monitor | Iniciar/detener monitoreo de IPC |
ipc_get_captured | Obtener tráfico IPC capturado |
ipc_emit_event | Emitir eventos personalizados |
Desarrollo móvil — Listado de dispositivos
| Herramienta | Descripción |
|---|---|
list_devices | Listar dispositivos Android y simuladores de iOS |
🏗️ Arquitectura
┌─────────────────────────────────────────────────────────────────┐
│ 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 qué este enfoque?
- ✅ Contexto rico para la IA — Las capturas de pantalla, el DOM y los registros ayudan a la IA a entender el estado de tu aplicación
- ✅ Multiplataforma — Funciona en Linux, Windows, macOS, Android e iOS
- ✅ Sin controladores externos — No se necesitan Selenium, Playwright ni automatización de navegador
- ✅ Integración nativa — Acceso directo al IPC y backend de Tauri
🧑💻 Desarrollo
# 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
Estructura del proyecto
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
Publicación
# Release plugin (Cargo + npm)
npm run release:plugin patch
# Release server (npm only)
npm run release:server patch
Consulta specs/releasing.md para más detalles.
📚 Documentación
- Documentación completa — Guías, referencia de API y ejemplos
- Paquete del servidor MCP — Detalles de implementación del servidor
- Plugin MCP Bridge — Documentación del plugin de Tauri
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Por favor:
- Sigue los patrones de código existentes
- Añade pruebas para nuevas funciones
- Actualiza la documentación
- Asegúrate de que
npm testynpm run standardspasen
Otras notas
Este proyecto se prueba con BrowserStack.
📄 Licencia
MIT © hypothesi
Aviso de marca registrada
TAURI® es una marca registrada de The Tauri Programme dentro de Commons Conservancy. https://tauri.app/
Este proyecto no está afiliado, respaldado ni patrocinado por The Tauri Programme dentro de Commons Conservancy.