Mobile Next
Un servidor independiente de la plataforma para automatización y desarrollo móvil escalable en iOS, Android, simuladores y emuladores.
Documentación
Mobile Next - Servidor MCP para Desarrollo y Automatización Móvil | iOS, Android, Simulador, Emulador y Dispositivos Reales
Este es un Servidor MCP que permite automatización móvil escalable y desarrollo a través de una interfaz independiente de la plataforma, eliminando la necesidad de conocimientos distintos de iOS o Android. Puedes ejecutarlo en emuladores, simuladores y dispositivos reales (iOS y Android).
Este servidor permite que Agentes y LLMs interactúen con aplicaciones y dispositivos nativos de iOS/Android mediante capturas de accesibilidad estructuradas o toques basados en coordenadas a partir de capturas de pantalla.
Funciona con Claude Code, Codex, Gemini, GitHub Copilot, Antigravity — o cualquier cliente compatible con MCP.
Ejecútalo contra dispositivos en tu propia máquina, o contra dispositivos iOS y Android reales en la nube con Mobile Next Cloud — mismas herramientas, sin configuración local.
https://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde
Casos de uso principales
Cómo ayudamos a escalar la automatización móvil:
- 📲 Automatización de aplicaciones nativas (iOS y Android) para escenarios de pruebas o entrada de datos.
- 📝 Flujos scripteados e interacciones con formularios sin controlar manualmente simuladores/emuladores o dispositivos reales (iPhone, Samsung, Google Pixel, etc.)
- 🧭 Automatización de recorridos de usuario de múltiples pasos impulsados por un LLM
- 👆 Interacción general con aplicaciones móviles para frameworks basados en agentes
- 🤖 Habilita la comunicación agente-a-agente para casos de uso de automatización móvil y extracción de datos
Características principales
- 🚀 Accesibilidad primero — rápido y económico: impulsa aplicaciones desde el árbol de accesibilidad nativo (sin modelo de visión, sin tokens de imagen), recurriendo a capturas de pantalla + coordenadas solo cuando es necesario.
- 📱 Una API, todos los objetivos: las mismas herramientas funcionan en iOS y Android — simuladores, emuladores y dispositivos reales.
- 🧠 No se requiere experiencia en plataformas: sin XCUITest, sin Espresso, sin pegamento por plataforma — describe el objetivo y el agente lo hace.
- 🧰 Control completo del dispositivo: toques, deslizamientos y gestos; instalación/lanzamiento/terminación de aplicaciones; grabación de pantalla; botones de hardware; enlaces profundos; orientación.
- 📊 Salida estructurada y determinista: lee elementos de interfaz reales y extrae datos estructurados, reduciendo la ambigüedad de los enfoques basados solo en capturas de pantalla.
🎯 Soporte de plataformas
| Objetivo | Soportado | Configuración |
|---|---|---|
| Simulador de iOS | ✅ | Xcode + un simulador iniciado (xcrun simctl) |
| Dispositivo iOS real | ✅ | Dispositivo conectado por USB y confiable |
| Emulador de Android | ✅ | Android SDK + emulador en ejecución (adb) |
| Dispositivo Android real | ✅ | adb + depuración USB habilitada y autorizada |
🔧 Herramientas MCP disponibles
Gestión de dispositivos
mobile_list_available_devices- Lista todos los dispositivos disponibles (simuladores, emuladores y dispositivos reales)mobile_get_screen_size- Obtiene el tamaño de pantalla del dispositivo móvil en píxelesmobile_get_orientation- Obtiene la orientación actual de pantalla del dispositivomobile_set_orientation- Cambia la orientación de pantalla (vertical/horizontal)mobile_set_location- Sobrescribe la ubicación GPS reportada por el dispositivo, o limpia la sobrescrituramobile_clipboard- Lee o reemplaza el portapapeles del dispositivo
Dispositivos remotos (Mobile Next Cloud)
mobile_login_to_cloud_provider- Autentica esta máquina con el proveedor de dispositivos en la nube (inicio de sesión basado en código de dispositivo en el navegador)mobile_list_remote_devices- Lista los modelos de dispositivos disponibles para reservar de la flota en la nubemobile_allocate_remote_device- Reserva un dispositivo físico en la nube para uso exclusivomobile_release_remote_device- Libera un dispositivo en la nube reservado de vuelta a la flota
Gestión de aplicaciones
mobile_list_apps- Lista todas las aplicaciones instaladas en el dispositivomobile_get_foreground_app- Obtiene la aplicación actualmente en primer planomobile_launch_app- Lanza una aplicación usando su nombre de paquetemobile_terminate_app- Detiene y termina una aplicación en ejecuciónmobile_install_app- Instala una aplicación desde archivo (.apk, .ipa, .app, .zip)mobile_uninstall_app- Desinstala una aplicación usando el ID de paquete o nombre de paquete
Interacción con pantalla
mobile_take_screenshot- Toma una captura de pantalla para entender qué hay en pantallamobile_save_screenshot- Guarda una captura de pantalla en un archivomobile_list_elements_on_screen- Lista elementos de interfaz con sus coordenadas y propiedadesmobile_click_on_screen_at_coordinates- Haz clic en coordenadas x,y específicasmobile_double_tap_on_screen- Doble toque en coordenadas específicasmobile_long_press_on_screen_at_coordinates- Pulsación larga en coordenadas específicasmobile_swipe_on_screen- Desliza en cualquier dirección (arriba, abajo, izquierda, derecha)mobile_start_screen_recording- Inicia la grabación de la pantalla del dispositivo en un archivo de videomobile_stop_screen_recording- Detiene la grabación de pantalla activa y guarda el video
Entrada y navegación
mobile_type_keys- Escribe texto en elementos enfocados con envío opcionalmobile_press_button- Presiona botones del dispositivo (HOME, BACK, VOLUME_UP/DOWN, ENTER, etc.)mobile_open_url- Abre URLs en el navegador del dispositivo
Registros e informes de fallos
mobile_get_device_logs- Recopila registros de dispositivo en vivo (logcat en Android, registro unificado en iOS), opcionalmente guardados en un archivomobile_list_crashes- Lista los informes de fallos disponibles en el dispositivomobile_get_crash- Obtiene el contenido completo de un informe de fallos por su IDmobile_batch_commands- Ejecuta múltiples herramientas en secuencia en una sola llamada (por ejemplo, clic, escribir, clic), opcionalmente listando elementos de pantalla al final
🏗️ Arquitectura de Mobile MCP
📚 Página de wiki
Más detalles en nuestra página de wiki para preguntas relacionadas con configuración, ajustes y depuración.
Requisitos previos
Lo que necesitarás para conectar MCP con tu agente y dispositivos móviles:
- Herramientas de línea de comandos de Xcode
- Android Platform Tools
- node.js v20+
- MCP modelos fundamentales o agentes compatibles, como Claude MCP, OpenAI Agent SDK, Copilot Studio
Instalación y configuración
Configuración estándar funciona en la mayoría de las herramientas:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}
Amp
Agrégalo a través de la pantalla de configuración de la extensión Amp VS Code o actualizando tu archivo settings.json:
"amp.mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": [
"@mobilenext/mobile-mcp@latest"
]
}
}
CLI de Amp:
Ejecuta el siguiente comando en tu terminal:
amp mcp add mobile-mcp -- npx @mobilenext/mobile-mcp@latest
Antigravity 2
Antigravity no tiene un comando CLI para agregar servidores MCP, así que agrégalo manualmente. Edita ~/.gemini/config/mcp_config.json y agrega:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}
Cline
Para configurar Cline, simplemente agrega el json anterior a tu archivo de configuración de MCP.
Claude Code
Usa la CLI de Claude Code para agregar el servidor Mobile MCP:
claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest
Claude Desktop
Sigue la guía de instalación de MCP, usa la configuración json anterior.
Codex
Usa la CLI de Codex para agregar el servidor Mobile MCP:
codex mcp add mobile-mcp npx "@mobilenext/mobile-mcp@latest"
Alternativamente, crea o edita el archivo de configuración ~/.codex/config.toml y agrega:
[mcp_servers.mobile-mcp]
command = "npx"
args = ["@mobilenext/mobile-mcp@latest"]
Para más información, consulta la documentación de Codex MCP.
Copilot
Usa la CLI de Copilot para agregar interactivamente el servidor Mobile MCP:
/mcp add
Puedes editar el archivo de configuración ~/.copilot/mcp-config.json y agregar:
{
"mcpServers": {
"mobile-mcp": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"@mobilenext/mobile-mcp@latest"
]
}
}
}
Para más información, consulta la documentación de la CLI de Copilot.
Cursor
Haz clic en el botón para instalar:
O instala manualmente:
Ve a Cursor Settings -> MCP -> Add new MCP Server. Ponle el nombre que prefieras, usa el tipo command con el comando npx -y @mobilenext/mobile-mcp@latest. También puedes verificar la configuración o agregar argumentos como comandos haciendo clic en Edit.
Gemini CLI
Usa la CLI de Gemini para agregar el servidor Mobile MCP:
gemini mcp add mobile-mcp npx -y @mobilenext/mobile-mcp@latest
Goose
Haz clic en el botón para instalar:
O instala manualmente:
Ve a Advanced settings -> Extensions -> Add custom extension. Ponle el nombre que prefieras, usa el tipo STDIO, y establece el command a npx -y @mobilenext/mobile-mcp@latest. Haz clic en "Add Extension".
Kiro
Sigue la documentación de Servidores MCP. Por ejemplo en .kiro/settings/mcp.json:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": [
"@mobilenext/mobile-mcp@latest"
]
}
}
}
opencode
Sigue la documentación de Servidores MCP. Por ejemplo en ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mobile-mcp": {
"type": "local",
"command": [
"npx",
"@mobilenext/mobile-mcp@latest"
],
"enabled": true
}
}
}
Windsurf
Abre la configuración de Windsurf, navega a los servidores MCP y agrega un nuevo servidor usando el tipo command con:
npx @mobilenext/mobile-mcp@latest
O agrega la configuración estándar bajo mcpServers en tu configuración como se muestra arriba.
✅ Verifica que funciona
Una vez que el servidor esté configurado, pide a tu agente que liste los dispositivos:
lista los dispositivos disponibles
Deberías recibir tus simuladores, emuladores y dispositivos conectados en ejecución. Si es así, Mobile MCP está conectado correctamente. Si la lista está vacía, asegúrate de que un simulador o emulador esté en ejecución (consulta Requisitos previos) — para más ayuda, consulta la wiki.
☁️ Escala, usa un dispositivo en la nube
¿Quieres escalar a cientos de dispositivos? ¿Usar Mobile MCP en tu pipeline de CI/CD?
En tu agente, solicita:
log in to mobile next cloud and then show me which remote devices are available to me
Modo de servidor HTTP Streamable
Por defecto, Mobile MCP se ejecuta sobre stdio. Para iniciar un servidor Streamable HTTP en su lugar, usa la bandera --listen:
npx @mobilenext/mobile-mcp@latest --listen 3000
Esto se vincula a localhost:3000. Para vincularse a una interfaz específica:
npx @mobilenext/mobile-mcp@latest --listen 0.0.0.0:3000
Luego configura tu cliente MCP para conectarse a http://<host>:3000/mcp (o https://…/mcp detrás de TLS). El endpoint acepta Streamable HTTP (POST en /mcp); el modo remoto es sin estado (sin afinidad de sesión requerida), lo que funciona bien con Smithery y otros hosts horizontales.
Nota de migración:
--listenanteriormente servía el transporte HTTP+SSE obsoleto en/mcp. Los clientes deben usar Streamable HTTP contrahttp(s)://host:port/mcp. El flujo antiguo de solo SSE en/mcpya no está disponible.
Al vincularse a localhost, la protección de rebinding de DNS del encabezado Host se habilita automáticamente.
Autorización
Para requerir autorización de token Bearer en el servidor HTTP, establece la variable de entorno MOBILEMCP_AUTH:
MOBILEMCP_AUTH=my-secret-token npx @mobilenext/mobile-mcp@latest --listen 3000
Cuando se establece, todas las solicitudes deben incluir el encabezado Authorization: Bearer my-secret-token. Cuando no se establece, el servidor acepta conexiones no autenticadas y registra una advertencia.
🛠️ Cómo usar
Después de agregar el servidor MCP a tu IDE/Cliente, puedes indicar a tu asistente de IA que use las herramientas disponibles. Por ejemplo, en el modo agente de Cursor, podrías usar las indicaciones a continuación para validar, probar e iterar rápidamente en interacciones de interfaz, leer información de la pantalla y recorrer flujos de trabajo complejos. Sé descriptivo, directo al punto.
✨ Ejemplos de indicaciones
Flujos de trabajo
Puedes especificar flujos de trabajo detallados en una sola indicación, verificar lógica de negocio, configurar automatizaciones. Puedes volverte loco: Busca un video, coméntalo, dale "me gusta" y compártelo.
Find the video called " Beginner Recipe for Tonkotsu Ramen" by Way of
Ramen, click on like video, after liking write a comment " this was
delicious, will make it next Friday", share the video with the first
contact in your whatsapp list.
Descarga una app contadora de pasos exitosa, regístrate, configura tu entrenamiento y califica la app con 5 estrellas
Find and Download a free "Pomodoro" app that has more than 1k stars.
Launch the app, register with my email, after registration find how to
start a pomodoro timer. When the pomodoro timer started, go back to the
app store and rate the app 5 stars, and leave a comment how useful the
app is.
Busca en Substack, lee, resalta, comenta y guarda un artículo
Open Substack website, search for "Latest trends in AI automation 2025",
open the first article, highlight the section titled "Emerging AI trends",
and save article to reading list for later review, comment a random
paragraph summary.
Reserva una clase de entrenamiento, configura un temporizador
Open ClassPass, search for yoga classes tomorrow morning within 2 miles,
book the highest-rated class at 7 AM, confirm reservation,
setup a timer for the booked slot in the phone
Encuentra un evento local, configura un evento en el calendario
Open Eventbrite, search for AI startup meetup events happening this
weekend in "Austin, TX", select the most popular one, register and RSVP
yes to the event, setup a calendar event as a reminder.
Revisa el pronóstico del clima y envía un mensaje por Whatsapp/Telegram/Slack
Open Weather app, check tomorrow's weather forecast for "Berlin", and
send the summary via Whatsapp/Telegram/Slack to contact "Lauren Trown",
thumbs up their response.
- Agenda una reunión en Zoom y comparte la invitación por correo electrónico
Open Zoom app, schedule a meeting titled "AI Hackathon" for tomorrow at
10AM with a duration of 1 hour, copy the invitation link, and send it via
Gmail to contacts "team@example.com".
Ejecución y configuración
Variables de entorno
| Variable | Descripción | Ejemplo |
|---|---|---|
MOBILEMCP_AUTH | Requiere un token Bearer en el servidor HTTP Streamable (--listen) — cada solicitud debe enviar Authorization: Bearer <token>. | MOBILEMCP_AUTH=my-secret-token |
MOBILEMCP_DISABLE_TELEMETRY | Desactiva la telemetría de uso anónima. | MOBILEMCP_DISABLE_TELEMETRY=1 |
MOBILEMCP_ALLOW_UNSAFE_URLS | Permite que mobile_open_url abra esquemas de URL no estándar (bloqueados por defecto). | MOBILEMCP_ALLOW_UNSAFE_URLS=1 |
MOBILEMCP_LEGACY_ROBOT | Usa los robots heredados específicos de la plataforma para dispositivos Android y dispositivos iOS físicos. Los simuladores de iOS continúan usando mobilecli. | MOBILEMCP_LEGACY_ROBOT=1 |
Simuladores, Emuladores y Dispositivos Reales
Cuando se inicia, Mobile MCP puede conectarse a:
- Simuladores de iOS en macOS/Linux
- Emuladores de Android en Linux/Windows/macOS
- Dispositivos reales de iOS o Android (requiere herramientas de plataforma y controladores adecuados)
Asegúrate de tener tus SDKs de plataforma móvil (Xcode, Android SDK) instalados y configurados correctamente antes de ejecutar Mobile Next Mobile MCP.
Telemetría
Mobile MCP recopila telemetría de uso anónima a través de PostHog y Scarf. Para desactivarla, configura la variable de entorno MOBILEMCP_DISABLE_TELEMETRY:
MOBILEMCP_DISABLE_TELEMETRY=1 npx @mobilenext/mobile-mcp@latest
Para configuraciones json:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"],
"env": {
"MOBILEMCP_DISABLE_TELEMETRY": "1"
}
}
}
}
Ejecución en modo "headless" en Simuladores/Emuladores
Cuando no tienes un dispositivo real conectado a tu máquina, puedes ejecutar Mobile MCP con un emulador o simulador en segundo plano.
Por ejemplo, en Android:
- Inicia un emulador (comando avdmanager / emulator).
- Ejecuta Mobile MCP con las banderas deseadas
En iOS, necesitarás Xcode y ejecutar el Simulador antes de usar Mobile MCP con esa instancia de simulador.
xcrun simctl listxcrun simctl boot "iPhone 16"
🧩 Parte de Mobile Next
Mobile MCP es una pieza de un conjunto de herramientas para controlar dispositivos móviles reales:
- mobilewright — "Playwright para móvil." Cuando estés listo para convertir la exploración impulsada por agentes en pruebas repetibles y deterministas para iOS y Android, pasa a mobilewright.
- mobilecli — el CLI universal de dispositivos sobre el que se construye Mobile MCP: controla dispositivos, simuladores y emuladores desde la línea de comandos o una API JSON-RPC.
- Mobile Next Cloud — la misma pila, alquilada: dispositivos iOS y Android reales bajo demanda. Solo dile a tu agente:
log in to mobile next cloud and then show me which remote devices are available to mepara comenzar.
🚀 Hoja de ruta
Estamos mejorando continuamente Mobile MCP. Consulta lo que estamos construyendo a continuación en ROADMAP.md — las prioridades están fuertemente influenciadas por los comentarios de la comunidad, así que cuéntanos qué te gustaría ver.
🤝 Contribuciones
Las contribuciones son bienvenidas: código, documentación, informes de errores e ideas.
- ⭐ Dale una estrella al repositorio — la forma más fácil de ayudar a otros a descubrir Mobile MCP.
- Lee CONTRIBUTING.md para saber cómo compilar, probar y abrir una solicitud de extracción.
- Explora problemas abiertos para encontrar algo en lo que trabajar.
- Las preguntas e ideas también son bienvenidas en nuestra comunidad de Slack.
También revisa nuestro Código de Conducta.
Gracias a todos los contribuyentes ❤️
Apreciamos a todos los que han ayudado a mejorar este proyecto.
Política de Privacidad
Mobile MCP se ejecuta localmente y solo se comunica con los dispositivos que conectas. Consulta la política de privacidad de Mobile Next en https://mobilenext.ai/privacy para obtener información sobre recopilación de datos, uso, retención e información de contacto.