Servidor MCP Appium
Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) para la automatización de aplicaciones móviles utilizando Appium.
Prerrequisitos
- Node.js (v14 o superior)
- Kit de desarrollo de Java (JDK)
- SDK de Android (para pruebas de Android)
- Xcode (solo para pruebas de iOS, macOS)
- Servidor Appium
- Dispositivo o emulador Android / dispositivo o simulador iOS
Configuración del entorno
Antes de ejecutar cualquier comando, asegúrese de que las variables de entorno estén configuradas correctamente:
- Asegúrese de que su
.bash_profile
,.zshrc
u otro archivo de configuración de shell contenga las variables de entorno necesarias:
- Obtenga el archivo de su entorno antes de ejecutar MCP-Appium:
Nota : El sistema intentará obtener su
.bash_profile
automáticamente al inicializar el controlador, pero se recomienda asegurar la configuración adecuada del entorno manualmente antes de ejecutar pruebas en una nueva sesión de terminal.
Configuración de las herramientas de línea de comandos de Xcode
Para las pruebas de iOS, es esencial configurar adecuadamente las herramientas de línea de comandos de Xcode:
- Instale las herramientas de línea de comandos de Xcode si aún no están instaladas:
- Verifique la instalación y verifique la ruta actual de Xcode:
- Si es necesario, configure la ruta Xcode correcta (especialmente si tiene varias versiones de Xcode):
- Aceptar los acuerdos de licencia de Xcode:
- Para realizar pruebas en dispositivos iOS reales, asegúrese de que su cuenta de desarrollador de Apple esté configurada correctamente en Xcode:
- Abrir Xcode
- Vaya a Preferencias > Cuentas
- Añade tu ID de Apple si aún no lo has hecho
- Descargue los perfiles de aprovisionamiento necesarios
- Configurar variables de entorno para el desarrollo de iOS:
- Obtenga su configuración actualizada:
Configuración
- Instalar dependencias:
- Instalar e iniciar el servidor Appium:
- Configurar el dispositivo/emulador de Android:
- Habilite las opciones de desarrollador en su dispositivo Android
- Habilitar la depuración USB
- Conecte el dispositivo a través de USB o inicie un emulador
- Verifique que el dispositivo esté conectado mediante
adb devices
- Para pruebas de iOS (solo macOS):
- Asegúrese de que las herramientas de línea de comandos de Xcode estén instaladas:
xcode-select --install
- Configurar el simulador de iOS o conectar un dispositivo real
- Confíe en la computadora de desarrollo en el dispositivo iOS si usa un dispositivo real
- Asegúrese de que las herramientas de línea de comandos de Xcode estén instaladas:
Ejecución de pruebas
- Construir el proyecto:
- Inicie el servidor MCP:
- En una nueva terminal, ejecute la prueba:
Configuración de prueba
Configuración de Android
La prueba de ejemplo utiliza la aplicación Ajustes de Android como demostración. Para probar tu propia aplicación:
- Editar
examples/appium-test.ts
:- Actualice
deviceName
para que coincida con su dispositivo - Establezca la ruta
app
en su archivo APK, o - Actualizar
appPackage
yappActivity
para una aplicación instalada
- Actualice
- Configuración de capacidades comunes:
Configuración de iOS
Para probar iOS usando la nueva compatibilidad con la línea de comandos de Xcode:
- Ejemplo de configuración en
examples/xcode-appium-example.ts
:
Acciones disponibles
El servidor MCP admite varias acciones de Appium:
- Interacciones de elementos:
- Encontrar elementos
- Tocar o hacer clic en elementos con la API de acciones del W3C (consulte la sección "Gestos estándar del W3C")
- Escribe texto
- Desplazarse al elemento con la API de acciones W3C
- Pulsación larga
- Gestión de aplicaciones:
- Iniciar/cerrar la aplicación
- Restablecer la aplicación
- Obtener paquete/actividad actual
- Controles del dispositivo:
- Orientación de la pantalla
- Manejo del teclado
- Bloqueo/desbloqueo del dispositivo
- Capturas de pantalla
- Información de la batería
- Funciones avanzadas:
- Cambio de contexto (Nativo/WebView)
- Operaciones con archivos
- Notificaciones
- Gestos personalizados
- Herramientas de línea de comandos de Xcode (solo iOS):
- Administrar simuladores de iOS (arranque, apagado)
- Instalar/desinstalar aplicaciones en simuladores
- Iniciar/cerrar aplicaciones
- Tomar capturas de pantalla
- Grabar vídeos
- Crear/eliminar simuladores
- Obtener tipos de dispositivos y tiempos de ejecución
Gestos estándar del W3C
La biblioteca MCP-Appium ahora implementa la API W3C WebDriver Actions para gestos táctiles, que es el estándar moderno para la automatización móvil.
Acciones del W3C para elementos Tap
El método tapElement
ahora utiliza la API de acciones W3C con alternativas inteligentes:
Acciones del W3C para el desplazamiento
El método scrollToElement
ahora utiliza la API de acciones W3C:
Gestos personalizados del W3C
Puede crear sus propios gestos W3C personalizados utilizando el método executeMobileCommand
:
Consulte examples/w3c-actions-swipe-demo.ts
para obtener más ejemplos de implementaciones de gestos estándar del W3C.
Uso de las herramientas de línea de comandos de Xcode
La nueva clase XcodeCommands
proporciona herramientas potentes para las pruebas de iOS:
Uso de la función de clic
El método click()
proporciona una alternativa más intuitiva a tapElement()
:
Solución de problemas
- Dispositivo no encontrado:
- Comprobar la salida de
adb devices
- Verifique que la depuración USB esté habilitada
- Intente volver a conectar el dispositivo
- Comprobar la salida de
- La aplicación no se instala:
- Verificar que la ruta del APK sea correcta
- Compruebe que el dispositivo tenga suficiente almacenamiento
- Asegúrese de que la aplicación esté firmada para depuración
- Elementos no encontrados:
- Utilice Appium Inspector para verificar los selectores
- Comprobar si los elementos son visibles en la pantalla
- Pruebe diferentes estrategias de localización
- Problemas de conexión:
- Verifique que el servidor Appium esté en ejecución
- Comprobar conflictos de puertos
- Asegúrese de que se configuren las capacidades correctas
- Problemas con el simulador de iOS:
- Verifique que las herramientas de línea de comandos de Xcode estén instaladas:
xcode-select -p
- Compruebe que el UDID del simulador sea correcto usando
xcrun simctl list devices
- Cierre y reinicie el simulador si deja de responder.
- Verifique que las herramientas de línea de comandos de Xcode estén instaladas:
Contribuyendo
No dudes en enviar problemas y solicitudes de extracción para funciones adicionales o correcciones de errores.
Licencia
Instituto Tecnológico de Massachusetts (MIT)
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite la automatización de aplicaciones móviles mediante Appium, admitiendo diversas interacciones de dispositivos, operaciones de elementos y gestión de aplicaciones a través de un protocolo estandarizado.
- Prerrequisitos
- Configuración del entorno
- Configuración
- Ejecución de pruebas
- Configuración de prueba
- Acciones disponibles
- Gestos estándar del W3C
- Uso de las herramientas de línea de comandos de Xcode
- Uso de la función de clic
- Solución de problemas
- Contribuyendo
- Licencia
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol (MCP) server implementation for interacting with Phabricator API. This server allows LLMs to interact with Phabricator through a standardized interface.Last updated -5Python
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -3936JavaScriptApache 2.0
- -securityFlicense-qualityThis MCP server implementation allows users to manage and expose actions as tools from their Integration App workspace through the Model Context Protocol.Last updated -1021TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that interacts with system APIs, allowing users to check connections, search employees, register breakfast, and update chemical information by shifts.Last updated -2137JavaScript