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
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.
https://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde
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
| Alvo | Suportado | Configuraçã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 pixelsmobile_get_orientation- Obtém a orientação atual da tela do dispositivomobile_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çãomobile_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 nuvemmobile_allocate_remote_device- Reserva um dispositivo físico na nuvem para uso exclusivomobile_release_remote_device- Libera um dispositivo reservado de volta para a frota
Gerenciamento de Aplicativos
mobile_list_apps- Lista todos os aplicativos instalados no dispositivomobile_get_foreground_app- Obtém o aplicativo atualmente em primeiro planomobile_launch_app- Inicia um aplicativo usando seu nome de pacotemobile_terminate_app- Para e encerra um aplicativo em execuçãomobile_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 telamobile_save_screenshot- Salva uma captura de tela em um arquivomobile_list_elements_on_screen- Lista elementos da interface com suas coordenadas e propriedadesmobile_click_on_screen_at_coordinates- Clica em coordenadas x,y específicasmobile_double_tap_on_screen- Toque duplo em coordenadas específicasmobile_long_press_on_screen_at_coordinates- Toque longo em coordenadas específicasmobile_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ídeomobile_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 opcionalmobile_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 arquivomobile_list_crashes- Lista relatórios de crash disponíveis no dispositivomobile_get_crash- Obtém o conteúdo completo de um relatório de crash pelo seu IDmobile_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
📚 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:
- Ferramentas de linha de comando do Xcode
- Android Platform Tools
- node.js v20+
- MCP modelos fundamentais ou agentes suportados, como Claude MCP, OpenAI Agent SDK, Copilot Studio
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.
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:
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:
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.
✅ 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:
--listenanteriormente servia o transporte HTTP+SSE descontinuado em/mcp. Os clientes devem usar Streamable HTTP contrahttp(s)://host:port/mcp. O fluxo antigo de SSE puro em/mcpnã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ável | Descrição | Exemplo |
|---|---|---|
MOBILEMCP_AUTH | Exige 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_TELEMETRY | Desativa a telemetria anônima de uso. | MOBILEMCP_DISABLE_TELEMETRY=1 |
MOBILEMCP_ALLOW_UNSAFE_URLS | Permite que mobile_open_url abra esquemas de URL não padrão (bloqueados por padrão). | MOBILEMCP_ALLOW_UNSAFE_URLS=1 |
MOBILEMCP_LEGACY_ROBOT | Usa 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:
- Inicie um emulador (comando avdmanager / emulator).
- 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 listxcrun 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 mepara 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.
- ⭐ Dê uma estrela no repositório — a maneira mais fácil de ajudar outros a descobrirem o Mobile MCP.
- Leia CONTRIBUTING.md para saber como compilar, testar e abrir uma solicitação de pull.
- Navegue pelas issues abertas para encontrar algo em que trabalhar.
- Perguntas e ideias também são bem-vindas na nossa comunidade no Slack.
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.