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

MCP Server Tauri

Servidor MCP Tauri

Dale superpoderes a tu asistente de IA para el desarrollo de Tauri

npm version crates.io License: MIT Tauri v2

Documentación · Primeros pasos · Herramientas disponibles


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íaCapacidades
🎯 Automatización de UICapturas de pantalla, clics, escritura, desplazamiento, búsqueda de elementos, selector visual de elementos
🔍 Monitoreo de IPCCaptura e inspecciona llamadas IPC de Tauri en tiempo real
📱 Desarrollo móvilLista simuladores de iOS y emuladores de Android
📋 RegistrosTransmite 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] aix detecta 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:

  1. Examinar tu proyecto para ver qué ya está configurado
  2. Mostrarte qué cambios se necesitan (Cargo.toml, registro del plugin, etc.)
  3. 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)

ComandoDescripción
/setupConfigura o actualiza el plugin MCP bridge en tu proyecto Tauri
/fix-webview-errorsEncuentra y corrige errores de JavaScript en tu webview
/selectSelecciona 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
HerramientaDescripción
get_setup_instructionsObtén instrucciones de configuración/actualización para el plugin MCP Bridge
Automatización de UI — Capturas de pantalla, clics, escritura y más
HerramientaDescripción
driver_sessionIniciar/detener/estado de la sesión de automatización
webview_find_elementEncontrar elementos por selector
read_logsLeer registros de consola, Android, iOS o del sistema
webview_interactClic, desplazamiento, deslizar, enfocar, pulsación larga
webview_screenshotCapturar capturas de pantalla del webview
webview_keyboardEscribir texto o enviar eventos de teclado
webview_wait_forEsperar elementos, texto o eventos
webview_get_stylesObtener estilos CSS calculados
webview_execute_jsEjecutar JavaScript en el webview
webview_dom_snapshotObtener instantánea estructurada del árbol de accesibilidad
webview_select_elementSelector visual de elementos: el usuario hace clic en un elemento, devuelve metadatos + captura de pantalla
webview_get_pointed_elementObtener metadatos del elemento en el que el usuario hizo clic con Alt+Shift
manage_windowListar ventanas, obtener información o redimensionar

Soporte multi-ventana: Todas las herramientas de webview aceptan un parámetro opcional windowId para apuntar a ventanas específicas. Usa manage_window con action: "list" para descubrir las ventanas disponibles.

IPC y Plugin — Integración profunda con Tauri
HerramientaDescripción
ipc_execute_commandEjecutar comandos IPC de Tauri
ipc_get_backend_stateObtener metadatos y estado de la aplicación
ipc_monitorIniciar/detener monitoreo de IPC
ipc_get_capturedObtener tráfico IPC capturado
ipc_emit_eventEmitir eventos personalizados
Desarrollo móvil — Listado de dispositivos
HerramientaDescripción
list_devicesListar 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


🤝 Contribuciones

¡Las contribuciones son bienvenidas! Por favor:

  1. Sigue los patrones de código existentes
  2. Añade pruebas para nuevas funciones
  3. Actualiza la documentación
  4. Asegúrate de que npm test y npm run standards pasen

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.