Mobile Next MCP Server

by mobile-next
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables automation of native Android applications through accessibility snapshots or coordinate-based interactions, supporting both emulators and physical devices for testing, data-entry, and multi-step user journeys.

  • Provides platform-agnostic automation of iOS applications using accessibility trees and screenshots, allowing for scripted flows and form interactions on both simulators and physical devices without manual control.

  • Supports interaction with Samsung mobile devices for application testing and automation through structured accessibility snapshots or coordinate-based taps.

Mobile Next: servidor MCP para automatización móvil

Este es un servidor de Protocolo de Contexto de Modelo (MCP) que permite la automatización móvil escalable mediante una interfaz independiente de la plataforma, eliminando la necesidad de conocimientos específicos de iOS o Android. Este servidor permite a los agentes y LLM interactuar con aplicaciones y dispositivos nativos de iOS/Android mediante instantáneas de accesibilidad estructuradas o toques basados en coordenadas a partir de capturas de pantalla.

https://github.com/user-attachments/assets/c4e89c4f-cc71-4424-8184-bdbc8c638fa1

Hoja de ruta de MCP móvil: construyendo el futuro de la tecnología móvil

¡Únete a nosotros en nuestro viaje para mejorar continuamente Mobile MCP! Consulta nuestra hoja de ruta detallada para ver las próximas funciones, mejoras y logros. Tus comentarios son invaluables para definir el futuro de la automatización móvil.

👉 Explora la hoja de ruta

Principales casos de uso

Cómo ayudamos a escalar la automatización móvil:

  • 📲 Automatización de aplicaciones nativas (iOS y Android) para escenarios de prueba o ingreso de datos.
  • 📝 Flujos con scripts e interacciones de formularios sin controlar manualmente simuladores/emuladores o dispositivos físicos (iPhone, Samsung, Google Pixel, etc.)
  • 🧭 Automatizar recorridos de usuario de varios pasos impulsados por un LLM
  • 👆 Interacción de aplicaciones móviles de propósito general para marcos basados en agentes
  • 🤖 Permite la comunicación entre agentes para casos de uso de automatización móvil y extracción de datos.

Características principales

  • 🚀 Rápido y liviano : utiliza árboles de accesibilidad nativos para la mayoría de las interacciones o coordenadas basadas en capturas de pantalla donde las etiquetas a11y no están disponibles.
  • Compatible con LLM : no se requiere un modelo de visión por computadora en Accesibilidad (Instantánea).
  • 🧿 Visual Sense : Evalúa y analiza lo que se muestra en pantalla para decidir la siguiente acción. Si no se dispone de datos de accesibilidad ni de coordenadas de la jerarquía de vistas, recurre al análisis basado en capturas de pantalla.
  • 📊 Aplicación de herramientas deterministas : reduce la ambigüedad que se encuentra en los enfoques basados puramente en capturas de pantalla al confiar en datos estructurados siempre que sea posible.
  • 📺 Extraer datos estructurados : le permite extraer datos estructurados de cualquier cosa visible en la pantalla.

Arquitectura MCP móvil

Instalación y configuración

Guía detallada para Claude Desktop

{ "mcpServers": { "mobile-mcp": { "command": "npx", "args": ["-y", "@mobilenext/mobile-mcp@latest"] } } }

Código Claude:

claude mcp add mobile -- npx -y @mobilenext/mobile-mcp@latest ⁠

¡Lee más en nuestra wiki ! 🚀

Prerrequisitos

Lo que necesitarás para conectar MCP con tu agente y dispositivos móviles:

Simuladores, emuladores y dispositivos físicos

Una vez iniciado, Mobile MCP puede conectarse a:

  • Simuladores de iOS en macOS/Linux
  • Emuladores de Android en Linux/Windows/macOS
  • Dispositivos físicos iOS o Android (requiere herramientas y controladores de plataforma adecuados)

Asegúrese de tener los SDK de su plataforma móvil (Xcode, Android SDK) instalados y configurados correctamente antes de ejecutar Mobile Next Mobile MCP.

Ejecución en modo "sin cabeza" en simuladores/emuladores

Cuando no tienes un teléfono físico conectado a tu máquina, puedes ejecutar Mobile MCP con un emulador o simulador en segundo plano.

Por ejemplo, en Android:

  1. Inicie un emulador (comando avdmanager / emulator).
  2. Ejecute Mobile MCP con las banderas deseadas

En iOS, necesitarás Xcode y ejecutar el Simulador antes de usar Mobile MCP con esa instancia del simulador.

  • xcrun simctl list
  • xcrun simctl boot "iPhone 16"

Comandos móviles y herramientas de interacción

Los comandos y herramientas admiten localizadores basados en accesibilidad (preferidos) y entradas basadas en coordenadas, lo que le brinda flexibilidad cuando faltan identificaciones de accesibilidad/automatización para una automatización confiable y perfecta.

aplicaciones de lista móvil

  • Descripción: Enumera todas las aplicaciones instaladas en el dispositivo
  • Parámetros:
    • bundleId (cadena): identificador único del paquete o paquete de la aplicación (como: com.google.android.keep o com.apple.mobilenotes)

aplicación de lanzamiento móvil

  • Descripción: Inicia la aplicación especificada en el dispositivo/emulador
  • Parámetros:
    • bundleId (cadena): identificador único del paquete o paquete de la aplicación (como: com.google.android.keep o com.apple.mobilenotes)

aplicación móvil_terminate

  • Descripción: Finaliza una aplicación en ejecución
  • Parámetros:
    • packageName (cadena): en función del identificador de paquete/paquete de la aplicación, llama a am y fuerza la detención o elimina la aplicación en función del PID.

móvil_obtener_tamaño_de_pantalla

  • Descripción: Obtenga el tamaño de la pantalla del dispositivo móvil en píxeles.
  • Parámetros: Ninguno

clic móvil en la pantalla en coordenadas

  • Descripción: Toca las coordenadas de la pantalla especificadas según las coordenadas.
  • Parámetros:
    • x (número): coordenada X
    • y (número): coordenada Y

elementos de lista móvil en pantalla

  • Descripción: Listado de elementos en pantalla y sus coordenadas, con texto para mostrar o etiqueta de accesibilidad.
  • Parámetros: Ninguno

toque de elemento móvil

  • Descripción: Toca un elemento de la interfaz de usuario identificado por el localizador de accesibilidad
  • Parámetros:
    • element (cadena): descripción del elemento legible por humanos (por ejemplo, "Botón de inicio de sesión")
    • ref (cadena): ID de accesibilidad/automatización o referencia de una instantánea

toque móvil

  • Descripción: Toca las coordenadas de pantalla especificadas
  • Parámetros:
    • x (número): coordenada X
    • y (número): coordenada Y

botón_de_presión_móvil

  • Descripción: Presione un botón en el dispositivo (inicio, atrás, volumen, entrar, botón de encendido).
  • Parámetros: Ninguno

URL abierta móvil

  • Descripción: Abre una URL en el navegador del dispositivo
  • Parámetros:

texto de tipo móvil

  • Descripción: Escribe texto en un elemento de la interfaz de usuario enfocado (por ejemplo, TextField, SearchField)
  • Parámetros:
    • text (cadena): Texto a escribir
    • submit (booleano): si se debe presionar Enter/Return después de escribir

deslizamiento del elemento móvil

  • Descripción: Realiza un gesto de deslizamiento de un elemento de la interfaz de usuario a otro.
  • Parámetros:
    • startElement (cadena): descripción legible por humanos del elemento de inicio
    • startRef (cadena): ID de accesibilidad/automatización del elemento de inicio
    • endElement (cadena): descripción legible por humanos del elemento final
    • endRef (cadena): ID de accesibilidad/automatización del elemento final

deslizamiento móvil

  • Descripción: Realiza un gesto de deslizamiento entre dos conjuntos de coordenadas de pantalla.
  • Parámetros:
    • startX (número): Coordenada X inicial
    • startY (número): Coordenada Y inicial
    • endX (número): Coordenada X final
    • endY (número): Coordenada Y final

tecla_pulsar_móvil

  • Descripción: Presiona teclas de hardware o activa eventos especiales (por ejemplo, el botón Atrás en Android)
  • Parámetros:
    • key (cadena): identificador de tecla (por ejemplo, INICIO, ATRÁS, SUBIR_VOLUMEN, etc.)

captura de pantalla móvil

  • Descripción: Captura una captura de pantalla de la pantalla actual del dispositivo.
  • Parámetros: Ninguno

móvil_obtener_fuente

  • Descripción: Obtiene la estructura de la interfaz de usuario del dispositivo actual (instantánea de accesibilidad) (formato xml)
  • Parámetros: Ninguno

Gracias a todos los colaboradores ❤️

Agradecemos a todos los que han ayudado a mejorar este proyecto.

ID: a2b6isqsub