Mobile Next

Um servidor agnóstico de plataforma para automação e desenvolvimento móvel escalável em iOS, Android, simuladores e emuladores.

Documentação

Mobile Next - Servidor MCP para Desenvolvimento e Automação Mobile | iOS, Android, Simulador, Emulador e Dispositivos Reais

Inglês | 日本語 | 简体中文

Este é um servidor MCP que permite automação mobile escalável e desenvolvimento por meio de uma interface agnóstica de plataforma, eliminando a necessidade de conhecimento distinto de iOS ou Android. Você pode executá-lo em emuladores, simuladores e dispositivos reais (iOS e Android).

Este servidor permite que Agentes e LLMs interajam com aplicativos e dispositivos nativos iOS/Android por meio de snapshots estruturados de acessibilidade ou toques baseados em coordenadas a partir de capturas de tela.

Funciona com Claude Code, Codex, Gemini, GitHub Copilot, Antigravity — ou qualquer cliente compatível com MCP.

Execute-o em dispositivos na sua própria máquina ou em dispositivos iOS e Android reais na nuvem com Mobile Next Cloud — mesmas ferramentas, sem configuração local.

Mobile Next Stars npm Install in VS Code wiki join on Slack

https://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde

mobile-mcp

Principais casos de uso

Como ajudamos a escalar a automação mobile:

  • 📲 Automação de aplicativos nativos (iOS e Android) para cenários de teste ou entrada de dados.
  • 📝 Fluxos scriptados e interações com formulários sem controlar manualmente simuladores/emuladores ou dispositivos reais (iPhone, Samsung, Google Pixel etc.)
  • 🧭 Automação de jornadas de usuário em várias etapas conduzidas por um LLM
  • 👆 Interação geral com aplicativos mobile para frameworks baseados em agentes
  • 🤖 Permite comunicação agente-a-agente para casos de uso de automação mobile e extração de dados

Principais Recursos

  • 🚀 Acessibilidade em primeiro lugar — rápido e barato: conduz aplicativos a partir da árvore de acessibilidade nativa (sem modelo de visão, sem tokens de imagem), recorrendo a capturas de tela + coordenadas apenas quando necessário.
  • 📱 Uma API, todos os alvos: as mesmas ferramentas funcionam em iOS e Android — simuladores, emuladores e dispositivos reais.
  • 🧠 Nenhuma experiência em plataforma necessária: sem XCUITest, sem Espresso, sem código de integração por plataforma — descreva o objetivo e o agente faz o resto.
  • 🧰 Controle total do dispositivo: toques, deslizes e gestos; instalação/inicialização/encerramento de aplicativos; gravação de tela; botões de hardware; deep links; orientação.
  • 📊 Saída estruturada e determinística: lê elementos reais da interface e extrai dados estruturados, eliminando a ambiguidade de abordagens baseadas apenas em capturas de tela.

🎯 Suporte a Plataformas

AlvoSuportadoConfiguração
Simulador iOS✅Xcode + um simulador iniciado (xcrun simctl)
Dispositivo iOS Real✅Dispositivo conectado via USB e confiável
Emulador Android✅Android SDK + emulador em execução (adb)
Dispositivo Android Real✅adb + depuração USB habilitada e autorizada

🔧 Ferramentas MCP Disponíveis

Gerenciamento de Dispositivos

  • mobile_list_available_devices - Lista todos os dispositivos disponíveis (simuladores, emuladores e dispositivos reais)
  • mobile_get_screen_size - Obtém o tamanho da tela do dispositivo mobile em pixels
  • mobile_get_orientation - Obtém a orientação atual da tela do dispositivo
  • mobile_set_orientation - Altera a orientação da tela (retrato/paisagem)
  • mobile_set_location - Substitui a localização GPS relatada pelo dispositivo ou limpa a substituição
  • mobile_clipboard - Lê ou substitui a área de transferência do dispositivo

Dispositivos Remotos (Mobile Next Cloud)

  • mobile_login_to_cloud_provider - Autentica esta máquina com o provedor de dispositivos na nuvem (login por código de dispositivo via navegador)
  • mobile_list_remote_devices - Lista os modelos de dispositivos disponíveis para reserva na frota da nuvem
  • mobile_allocate_remote_device - Reserva um dispositivo físico na nuvem para uso exclusivo
  • mobile_release_remote_device - Libera um dispositivo reservado de volta para a frota

Gerenciamento de Aplicativos

  • mobile_list_apps - Lista todos os aplicativos instalados no dispositivo
  • mobile_get_foreground_app - Obtém o aplicativo atualmente em primeiro plano
  • mobile_launch_app - Inicia um aplicativo usando seu nome de pacote
  • mobile_terminate_app - Para e encerra um aplicativo em execução
  • mobile_install_app - Instala um aplicativo a partir de arquivo (.apk, .ipa, .app, .zip)
  • mobile_uninstall_app - Desinstala um aplicativo usando bundle ID ou nome de pacote

Interação com a Tela

  • mobile_take_screenshot - Tira uma captura de tela para entender o que está na tela
  • mobile_save_screenshot - Salva uma captura de tela em um arquivo
  • mobile_list_elements_on_screen - Lista elementos da interface com suas coordenadas e propriedades
  • mobile_click_on_screen_at_coordinates - Clica em coordenadas x,y específicas
  • mobile_double_tap_on_screen - Toque duplo em coordenadas específicas
  • mobile_long_press_on_screen_at_coordinates - Toque longo em coordenadas específicas
  • mobile_swipe_on_screen - Desliza em qualquer direção (cima, baixo, esquerda, direita)
  • mobile_start_screen_recording - Inicia a gravação da tela do dispositivo em um arquivo de vídeo
  • mobile_stop_screen_recording - Para a gravação de tela ativa e salva o vídeo

Entrada e Navegação

  • mobile_type_keys - Digita texto em elementos focados com envio opcional
  • mobile_press_button - Pressiona botões do dispositivo (HOME, BACK, VOLUME_UP/DOWN, ENTER, etc.)
  • mobile_open_url - Abre URLs no navegador do dispositivo

Logs e Relatórios de Crash

  • mobile_get_device_logs - Coleta logs ao vivo do dispositivo (logcat no Android, log unificado no iOS), opcionalmente salvos em um arquivo
  • mobile_list_crashes - Lista relatórios de crash disponíveis no dispositivo
  • mobile_get_crash - Obtém o conteúdo completo de um relatório de crash pelo seu ID
  • mobile_batch_commands - Executa várias ferramentas em sequência em uma única chamada (ex.: clicar, digitar, clicar), opcionalmente listando elementos da tela ao final

🏗️ Arquitetura do Mobile MCP

mobile-mcp

📚 Página da Wiki

Mais detalhes em nossa página da wiki para questões relacionadas a configuração, ajustes e depuração.

Pré-requisitos

O que você precisará para conectar o MCP ao seu agente e dispositivos mobile:

Instalação e configuração

Configuração padrão funciona na maioria das ferramentas:

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

Adicione via a tela de configurações da extensão Amp no VS Code ou atualizando seu arquivo settings.json:

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

Amp CLI:

Execute o seguinte comando no seu terminal:

amp mcp add mobile-mcp -- npx @mobilenext/mobile-mcp@latest
Antigravity 2

O Antigravity não tem um comando CLI para adicionar servidores MCP, então adicione manualmente. Edite ~/.gemini/config/mcp_config.json e adicione:

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

Para configurar o Cline, basta adicionar o json acima ao seu arquivo de configurações MCP.

Mais em nossa wiki

Claude Code

Use o CLI do Claude Code para adicionar o servidor Mobile MCP:

claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest
Claude Desktop

Siga o guia de instalação do MCP, use a configuração json acima.

Codex

Use o CLI do Codex para adicionar o servidor Mobile MCP:

codex mcp add mobile-mcp npx "@mobilenext/mobile-mcp@latest"

Alternativamente, crie ou edite o arquivo de configuração ~/.codex/config.toml e adicione:

[mcp_servers.mobile-mcp]
command = "npx"
args = ["@mobilenext/mobile-mcp@latest"]

Para mais informações, consulte a documentação do Codex MCP.

Copilot

Use o CLI do Copilot para adicionar interativamente o servidor Mobile MCP:

/mcp add

Você pode editar o arquivo de configuração ~/.copilot/mcp-config.json e adicionar:

{
  "mcpServers": {
    "mobile-mcp": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

Para mais informações, consulte a documentação do Copilot CLI.

Cursor

Clique no botão para instalar:

Install in Cursor

Ou instale manualmente:

Vá para Cursor Settings -> MCP -> Add new MCP Server. Dê um nome de sua preferência, use o tipo command com o comando npx -y @mobilenext/mobile-mcp@latest. Você também pode verificar a configuração ou adicionar argumentos como comandos clicando em Edit.

Gemini CLI

Use o CLI do Gemini para adicionar o servidor Mobile MCP:

gemini mcp add mobile-mcp npx -y @mobilenext/mobile-mcp@latest
Goose

Clique no botão para instalar:

Install in Goose

Ou instale manualmente:

Vá para Advanced settings -> Extensions -> Add custom extension. Dê um nome de sua preferência, use o tipo STDIO e defina o command para npx -y @mobilenext/mobile-mcp@latest. Clique em "Add Extension".

Kiro

Siga a documentação dos Servidores MCP. Por exemplo, em .kiro/settings/mcp.json:

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

Siga a documentação dos Servidores MCP. Por exemplo, em ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mobile-mcp": {
      "type": "local",
      "command": [
        "npx",
        "@mobilenext/mobile-mcp@latest"
      ],
      "enabled": true
    }
  }
}
Windsurf

Abra as configurações do Windsurf, navegue até os servidores MCP e adicione um novo servidor usando o tipo command com:

npx @mobilenext/mobile-mcp@latest

Ou adicione a configuração padrão em mcpServers nas suas configurações, como mostrado acima.

Leia mais em nossa wiki! 🚀

✅ Verifique se funciona

Depois que o servidor estiver configurado, peça ao seu agente para listar dispositivos:

liste os dispositivos disponíveis

Você deve receber de volta seus simuladores, emuladores e dispositivos conectados em execução. Se isso acontecer, o Mobile MCP está configurado corretamente. Se a lista estiver vazia, certifique-se de que um simulador ou emulador esteja em execução (veja Pré-requisitos) — para mais ajuda, consulte a wiki.

☁️ Escale, use um dispositivo na nuvem

Quer escalar para centenas de dispositivos? Usar o Mobile MCP no seu pipeline de CI/CD?

No seu Agente, solicite:

log in to mobile next cloud and then show me which remote devices are available to me

Modo de Servidor HTTP Streamable

Por padrão, o Mobile MCP executa via stdio. Para iniciar um servidor Streamable HTTP, use o flag --listen:

npx @mobilenext/mobile-mcp@latest --listen 3000

Isso vincula a localhost:3000. Para vincular a uma interface específica:

npx @mobilenext/mobile-mcp@latest --listen 0.0.0.0:3000

Em seguida, configure seu cliente MCP para conectar a http://<host>:3000/mcp (ou https://…/mcp atrás de TLS). O endpoint aceita Streamable HTTP (POST em /mcp); o modo remoto é stateless (sem afinidade de sessão necessária), o que funciona bem com Smithery e outros hosts horizontais.

Nota de migração: --listen anteriormente servia o transporte HTTP+SSE descontinuado em /mcp. Os clientes devem usar Streamable HTTP contra http(s)://host:port/mcp. O fluxo antigo de SSE puro em /mcp não está mais disponível.

Ao vincular a localhost, a proteção contra rebinding de DNS no cabeçalho Host é habilitada automaticamente.

Autorização

Para exigir autorização por Bearer token no servidor HTTP, defina a variável de ambiente MOBILEMCP_AUTH:

MOBILEMCP_AUTH=my-secret-token npx @mobilenext/mobile-mcp@latest --listen 3000

Quando definida, todas as solicitações devem incluir o cabeçalho Authorization: Bearer my-secret-token. Quando não definida, o servidor aceita conexões não autenticadas e registra um aviso.

🛠️ Como Usar

Depois de adicionar o servidor MCP ao seu IDE/Cliente, você pode instruir seu assistente de IA a usar as ferramentas disponíveis. Por exemplo, no modo agente do Cursor, você pode usar os prompts abaixo para validar rapidamente, testar e iterar em interações de interface, ler informações da tela e percorrer fluxos de trabalho complexos. Seja descritivo e direto ao ponto.

✨ Exemplos de Prompts

Fluxos de Trabalho

Você pode especificar fluxos de trabalho detalhados em um único prompt, verificar lógica de negócios e configurar automações. Você pode ir além: Pesquise por um vídeo, comente, curta e compartilhe.

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.

Baixe um aplicativo de contador de passos de sucesso, registre-se, configure um treino e avalie o aplicativo com 5 estrelas

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.

Pesquise no Substack, leia, destaque, comente e salve um artigo

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.

Reserve uma aula de treino, configure um cronômetro

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

Encontre um evento local, configure um evento no calendário

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.

Verifique a previsão do tempo e envie uma mensagem no 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.
  • Agende uma reunião no Zoom e compartilhe o convite por e-mail
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".

Execução e configuração

Variáveis de ambiente

VariávelDescriçãoExemplo
MOBILEMCP_AUTHExige um token Bearer no servidor HTTP Streamable (--listen) — toda solicitação deve então enviar Authorization: Bearer <token>.MOBILEMCP_AUTH=my-secret-token
MOBILEMCP_DISABLE_TELEMETRYDesativa a telemetria anônima de uso.MOBILEMCP_DISABLE_TELEMETRY=1
MOBILEMCP_ALLOW_UNSAFE_URLSPermite que mobile_open_url abra esquemas de URL não padrão (bloqueados por padrão).MOBILEMCP_ALLOW_UNSAFE_URLS=1
MOBILEMCP_LEGACY_ROBOTUsa os robôs legados específicos da plataforma para dispositivos Android e dispositivos iOS físicos. Os simuladores iOS continuam usando mobilecli.MOBILEMCP_LEGACY_ROBOT=1

Simuladores, Emuladores e Dispositivos Reais

Quando iniciado, o Mobile MCP pode se conectar a:

  • Simuladores iOS no macOS/Linux
  • Emuladores Android no Linux/Windows/macOS
  • Dispositivos reais iOS ou Android (requer ferramentas de plataforma e drivers adequados)

Certifique-se de ter seus SDKs de plataforma móvel (Xcode, Android SDK) instalados e configurados corretamente antes de executar o Mobile Next Mobile MCP.

Telemetria

O Mobile MCP coleta telemetria anônima de uso via PostHog e Scarf. Para desativá-la, defina a variável de ambiente MOBILEMCP_DISABLE_TELEMETRY:

MOBILEMCP_DISABLE_TELEMETRY=1 npx @mobilenext/mobile-mcp@latest

Para configurações json:

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

Executando no modo "headless" em Simuladores/Emuladores

Quando você não tem um dispositivo real conectado à sua máquina, pode executar o Mobile MCP com um emulador ou simulador em segundo plano.

Por exemplo, no Android:

  1. Inicie um emulador (comando avdmanager / emulator).
  2. Execute o Mobile MCP com os sinalizadores desejados

No iOS, você precisará do Xcode e executar o Simulador antes de usar o Mobile MCP com essa instância de simulador.

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

🧩 Parte do Mobile Next

O Mobile MCP é uma peça de um kit de ferramentas para controlar dispositivos móveis reais:

  • mobilewright — "Playwright para mobile." Quando você estiver pronto para transformar a exploração orientada por agentes em testes repetíveis e determinísticos para iOS e Android, evolua para o mobilewright.
  • mobilecli — a CLI universal de dispositivos na qual o Mobile MCP é construído: controle dispositivos, simuladores e emuladores pela linha de comando ou por uma API JSON-RPC.
  • Mobile Next Cloud — a mesma pilha, alugada: dispositivos reais iOS e Android sob demanda. Basta instruir seu agente: log in to mobile next cloud and then show me which remote devices are available to me para começar.

🚀 Roadmap

Estamos melhorando continuamente o Mobile MCP. Veja o que estamos construindo em seguida em ROADMAP.md — as prioridades são fortemente moldadas pelo feedback da comunidade, então conte-nos o que você gostaria de ver.

🤝 Contribuindo

Contribuições são bem-vindas — código, documentação, relatórios de bugs e ideias.

Por favor, revise também nosso Código de Conduta.

Obrigado a todos os contribuidores ❤️

Agradecemos a todos que ajudaram a melhorar este projeto.

Política de Privacidade

O Mobile MCP é executado localmente e se comunica apenas com os dispositivos que você conecta. Consulte a política de privacidade do Mobile Next em https://mobilenext.ai/privacy para informações sobre coleta, uso, retenção de dados e contato.