apk-preview-mcp
Provides tools for managing Android app sessions on a dedicated Android Emulator, including installing and launching APKs, capturing screen and UI tree inspections, and sending touch and navigation interactions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apk-preview-mcp Install app.apk and show me its UI tree"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
APK Preview Desktop
Aplicativo Windows para instalar, executar, navegar e inspecionar APKs em um Android Emulator dedicado. A mesma sessão pode ser controlada pela interface PySide6 ou por ferramentas MCP locais usadas pelo Codex.
O projeto não implementa uma máquina virtual Android. Ele controla o Android Emulator oficial e renderiza capturas ADB dentro de uma interface desktop.
Recursos
descoberta automática do Android SDK no Windows;
inicialização de AVDs dedicados com prefixo
ApkPreview_;instalação e atualização de APKs com
adb install -r;abertura de aplicativos instalados;
preview atualizado dentro da janela desktop;
cliques no preview convertidos em coordenadas Android;
botões Voltar, Início e Recentes;
perfis de celular e tablet;
orientação retrato e paisagem;
tema claro, escuro ou definido pelo sistema;
captura PNG e inspeção da árvore UI;
servidor MCP local sem comandos shell arbitrários;
launcher Windows sem console e ponte nativa para isolamento de DLLs Qt/ADB.
Related MCP server: mobila
Arquitetura
flowchart LR
UI[Desktop PySide6] --> C[AndroidController]
MCP[Servidor MCP stdio] --> C
C --> R[ProcessRunner]
R --> B[ProcessBridge Windows]
B --> ADB[adb / emulator]
ADB --> AVD[AVD ApkPreview_*]
AVD --> PNG[Capturas e árvore UI]
PNG --> UI
PNG --> MCPAndroidController concentra validação, instalação, navegação e captura.
ProcessRunner executa somente binários conhecidos usando listas de argumentos
e shell=False. No Windows, ProcessBridge.exe cria uma fronteira limpa entre
as DLLs carregadas pelo Qt e as ferramentas do Android SDK.
Requisitos
Windows 11;
Python 3.12 ou superior;
uv;
JDK 21 para projetos Android que precisem ser compilados;
Android SDK Platform Tools e Android Emulator;
imagem Android x86_64 compatível;
virtualização de hardware habilitada.
O SDK é procurado nesta ordem: ANDROID_HOME, ANDROID_SDK_ROOT, depois
%LOCALAPPDATA%\Android\Sdk.
Instalação para desenvolvimento
git clone https://github.com/Famel-svg/apk-preview-desktop.git
cd apk-preview-desktop
uv sync --all-groupsCrie pelo Android Studio um AVD cujo nome comece por ApkPreview_. Exemplo:
ApkPreview_Phone_API37.
Executar
uv run apk-preview-desktopFluxo básico:
selecione o AVD;
clique em Iniciar;
escolha um arquivo
.apk;clique em Instalar APK;
selecione o pacote instalado e clique em Abrir app;
use o preview, perfis de tela e controles Android.
Servidor MCP
uv run apk-preview-mcpFerramenta | Função |
| Diagnostica SDK, AVDs e dispositivos |
| Lista AVDs dedicados permitidos |
| Inicializa ou reutiliza um AVD |
| Instala APK local validado |
| Lista pacotes de terceiros instalados |
| Abre um pacote Android |
| Troca perfil, orientação e tema |
| Captura PNG e árvore UI |
| Envia toque ou controle de navegação |
| Encerra a sessão dedicada |
Plugin portátil: plugins/apk-preview/. Configurações com caminhos absolutos da
máquina não fazem parte do repositório.
Gerar executável Windows
.\scripts\build-windows.ps1Saída: dist/APK Preview Desktop/APK Preview Desktop.exe.
O launcher usa .venv do projeto. Execute uv sync antes de abrir o executável.
Artefatos binários não são versionados.
Testes e qualidade
uv run pytest -q
uv run ruff check .
uv run pyrightEstrutura
src/apk_preview/ aplicação, Android e MCP
tests/ testes automatizados
native/ launcher e ponte de processos em C#
scripts/ build Windows
plugins/apk-preview/ plugin MCP portátil
APK_PREVIEW_DESKTOP_SPEC.md especificação funcionalSegurança
dispositivos físicos são recusados;
somente seriais
emulator-*confirmados como QEMU são aceitos;somente AVDs
ApkPreview_*são controlados;APK precisa existir localmente e possuir extensão
.apk;subprocessos não recebem texto shell arbitrário;
capturas temporárias usam nomes únicos e são removidas;
stop_sessionnão apaga AVD nem dados;credenciais, APKs, executáveis, artefatos e configurações locais são ignorados.
Use apenas APKs próprios ou autorizados. Use dados sintéticos e contas de teste.
Solução de problemas
Android SDK não encontrado
Defina ANDROID_HOME e confirme platform-tools/adb.exe e
emulator/emulator.exe.
AVD não aparece
Crie ou renomeie um AVD usando prefixo ApkPreview_.
Erro de DLL do Qt ou console piscando
Recompile com scripts/build-windows.ps1. Launcher e ponte são aplicativos
Windows sem console.
Preview não atualiza
Confirme boot concluído e estado device em adb devices -l; clique em
Atualizar.
Limitações
suporte principal: Windows;
requer Android Emulator oficial;
não substitui testes instrumentados do APK;
não contorna autenticação, permissões Android ou proteções do aplicativo;
executável local depende do ambiente Python sincronizado.
Licença
Nenhuma licença pública definida. Todos os direitos permanecem com o autor.
Available Tools
10 toolsapk_preview_configure_displayB
Switch emulator screen profile, orientation, theme and font scale.
Inputs: profile (required), theme, font_scale, orientation. Returns: object
apk_preview_doctorARead-only
Diagnose Android SDK, Emulator, ADB, AVDs and connected devices.
Inputs: no named parameters. Returns: object
apk_preview_inspect_screenARead-only
Return current emulator PNG and optional accessible UI tree.
Inputs: include_ui_tree.
apk_preview_install_apkA
Install or replace one local APK on active dedicated emulator.
Inputs: apk_path (required). Returns: object
apk_preview_interactB
Tap coordinates or press an allowed Android navigation key.
Inputs: action (required), x, y. Returns: object
apk_preview_launch_appB
Launch installed package main activity.
Inputs: package (required). Returns: object
apk_preview_list_appsARead-only
List third-party packages installed in active emulator.
Inputs: no named parameters. Returns: object
apk_preview_list_avdsARead-only
List dedicated AVDs accepted by APK Preview.
Inputs: no named parameters. Returns: object
apk_preview_start_sessionC
Start a dedicated AVD and save shared session.
Inputs: avd (required), visible, timeout_seconds. Returns: object
apk_preview_stop_sessionA
Stop active emulator without deleting AVD or artifacts.
Inputs: no named parameters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct stage or action in the APK preview workflow: diagnosis, AVD listing, session lifecycle, installation, app listing, launching, display configuration, screen inspection, interaction, and session teardown. There is no meaningful overlap or ambiguity between tool purposes.
All tools follow the same `apk_preview_` prefix with a clear verb_noun pattern (e.g., start_session, install_apk, stop_session). This is highly predictable and consistent across the entire set.
Ten tools provide a focused but complete toolset for the APK preview use case without unnecessary bloat. Each tool earns its place in the emulator workflow.
The toolset covers the full preview lifecycle: setup, session start, install, launch, inspect, interact, configure, and stop. Minor gaps exist such as no explicit uninstall or text input, but these do not block the core preview workflow.
Maintenance
Related MCP Connectors
Give your AI agent a real cloud Android phone: push APKs, drive it, get screenshots and logs.
Disposable cloud Android emulators for coding agents: run an APK or PR build, tap, type, screenshot.
Cloud Android phones for AI agents: create a phone, read the screen, tap, type, install APKs, park.
Cloud Android 14 phones that Claude, Claude Code, Cursor and Codex can use over MCP. Ready in ~15 s. Plain-English tasks return pass/fail, steps, screenshots and video. 1¢ per phone-minute, AI included, 100 free minutes a month.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables authorized Android security testing with static and dynamic analysis, Frida instrumentation, storage inspection, and traffic interception via MCP tools.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to control an Android emulator via MCP, allowing tasks like tapping, typing, swiping, taking screenshots, and installing apps through natural language commands.MIT
- FlicenseNot gradedqualityDmaintenanceProvides Android UI automation tools via MCP, enabling device interaction, UI snapshot, and gesture recording.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to fully control an Android emulator via MCP, including UI interaction, screenshots, APK installation, logging, and clipboard access, with optional live browser viewing for humans.2MIT