Sube builds de Android para generar enlaces ejecutables en el navegador y pruébalos en dispositivos Android en la nube mediante un asistente de IA.
También conocido como Romildoescoding/taptry-cli, taptry-cli
- Stars
- 0
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- 1.1.0
- Último commit
- 1 nov 2026
- Licencia
- MIT
¿Qué es TapTry MCP?
TapTry es un MCP server. Sube builds de Android para generar enlaces ejecutables en el navegador y pruébalos en dispositivos Android en la nube mediante un asistente de IA.
Resumen generado a partir del README del proyecto
Acerca del MCP server de TapTry
TapTry ofrece una forma de transformar builds de Android en enlaces ejecutables en el navegador, permitiendo que cualquier persona pruebe aplicaciones sin necesidad de instalación manual o sideloading. Los desarrolladores pueden subir varios formatos de archivo, incluyendo .apk, .aab, .apks, .xapk y .apkm, con un límite de 500MB. El servicio realiza automáticamente análisis de malware a través de VirusTotal antes de que cualquier enlace se active. Esta herramienta está diseñada para usarse mediante una interfaz de línea de comandos, dentro de pipelines de CI/CD como GitHub Actions, o a través de un asistente de IA utilizando el Model Context Protocol.
Cuando se conecta a un cliente MCP como Claude Desktop o Cursor, el servidor permite que una IA gestione todo el ciclo de vida de las pruebas. Proporciona herramientas como upload_app, get_status y list_apps para gestionar las builds. Lo más destacado es que permite a un asistente interactuar con la aplicación en dispositivos Android reales en la nube. Mediante comandos específicos, el asistente puede realizar acciones como tap, type_text, swipe y screenshot para verificar el comportamiento de la app y obtener logs para la depuración.
Qué puedes hacer con él
- 1Genera vistas previas instantáneas en el navegadorSube una build de Android para recibir un enlace compartible que se ejecute directamente en un navegador web.
- 2Automatiza las pruebas en pull requestsConfigura una GitHub Action para publicar automáticamente un enlace de vista previa no listado como comentario en cada pull request.
- 3Interacción con dispositivos remotosUsa un cliente de IA para realizar interacciones de estilo manual, como deslizar o escribir, en un dispositivo Android real.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar TapTry MCP
Formatos verificados el 10 nov 2026Instalar TapTry MCP en Claude Code
$ claude mcp add --env TAPTRY_API_KEY=<YOUR_TAPTRY_API_KEY> taptry-cli -- npx -y taptryInstalar TapTry MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Instalar TapTry MCP en VS Code
.vscode/mcp.json
{
"servers": {
"taptry-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Instalar TapTry MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Instalar TapTry MCP en Codex
~/.codex/config.toml
[mcp_servers.taptry-cli] command = "npx" args = ["-y", "taptry"] [mcp_servers.taptry-cli.env] TAPTRY_API_KEY = "<YOUR_TAPTRY_API_KEY>"
Instalar TapTry MCP en Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Configuración
TAPTRY_API_KEYObligatorioSecretoA TapTry API key - create one at https://taptry.in/settings/api-keys
| Nombre | Descripción | Tipo |
|---|---|---|
| TAPTRY_API_KEY | A TapTry API key - create one at https://taptry.in/settings/api-keys | ObligatorioSecreto |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleromildoescoding/taptry-cli is public and reachablegithub.com/romildoescoding/taptry-cli ↗Aprobado
- El paquete cita este repositorio como fuentetaptry names romildoescoding/taptry-cli as sourcenpmjs.com/package/taptry ↗Aprobado
- Procedencia de la compilación (atestación Sigstore)No build attestation published for this releaseNo verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-01github.com/romildoescoding/taptry-cli ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from taptryAprobado
- Sin avisos críticos en el paquete ni en sus dependencias1 resolved dependencies checked; no critical advisoryosv.dev ↗Aprobado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake MCPNo verificado
README
Ver en GitHubtaptry
Turn an Android build into a link anyone can run in their browser - no install, no sideloading. From your terminal, from CI on every pull request, or from your coding assistant.
npx taptry upload app/build/outputs/apk/release/app-release.apk
# Uploading app-release.apk (18.2 MB)…
# Created My Game - https://taptry.in/app/my-game
# Waiting for the malware scan and checks (this can take a few minutes)…
# Checking for malware…
# Ready
# https://taptry.in/app/my-game
Takes .apk, .aab, .apks, .xapk and .apkm, up to 500MB. Every upload
is malware-scanned before its link works. Needs Node 20+; no dependencies.
Setup
- In TapTry, open Settings > API keys and create a key.
- Either save it on your machine -
npx taptry login- or setTAPTRY_API_KEY(what CI should do).
CLI
taptry upload <file> [--name <name>] [--ref <ref>] [--unlisted | --private] [--no-wait] [--timeout <s>] [--json]
taptry status <app> | --ref <ref>
taptry list [--ref <ref>]
taptry delete <app> | --ref <ref> [--yes]
taptry login | logout | whoami
taptry mcp
--refis your own id for an app, e.g.github:me/game#42. Uploading again with the same ref replaces that app's file and keeps its link - use it for anything you upload repeatedly.- Visibility: public by default (on your TapTry profile, anyone can
run it).
--unlisted: listed nowhere, and the link printed is a secret link only the people you send it to can open.--private: only you. uploadwaits for the checks by default and prints the link on stdout, soURL=$(taptry upload app.apk)works.--jsonprints the whole result.deleteasks first; without a terminal it needs--yes.
Exit codes: 0 ok · 1 error (network, auth, refused request) · 2 bad
usage · 3 the app failed its checks (malware, not an app, …) · 4 timed out
waiting for the checks.
GitHub Action: a preview link on every pull request
Each pull request gets one TapTry app and one comment with its link, updated on every push and deleted when the PR closes. Previews are unlisted by default: anyone with the link in the PR can run them, and they never show up on your TapTry profile.
# .github/workflows/taptry-preview.yml
name: TapTry preview
on:
pull_request:
types: [opened, synchronize, reopened, closed]
permissions:
contents: read
pull-requests: write
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
if: github.event.action != 'closed'
- uses: actions/setup-java@v4
if: github.event.action != 'closed'
with:
distribution: temurin
java-version: 17
- name: Build
if: github.event.action != 'closed'
run: ./gradlew assembleDebug
- uses: Romildoescoding/taptry-cli@v1
with:
api-key: ${{ secrets.TAPTRY_API_KEY }}
file: app/build/outputs/apk/debug/app-debug.apk
Add your key as the repository secret TAPTRY_API_KEY. Pull requests from
forks don't get secrets, so their previews are skipped with a warning.
| Input | Default | |
|---|---|---|
api-key |
- | Required. |
file |
- | The build output. A glob is fine if it matches exactly one file. |
name |
from the file | App name, set on the first upload. |
ref |
github:<repo>#<PR> or github:<repo>@<branch> |
Same ref, same app. |
visibility |
unlisted |
unlisted (anyone with the link, listed nowhere), public or private. |
wait / timeout |
true / 900 |
Wait for the checks. |
comment |
true |
Keep one PR comment up to date. |
delete-on-close |
true |
Delete the preview when the PR closes. |
fail-on-error |
true |
Fail the step when the build is refused. |
Outputs: url, app-id, slug, status, ready.
Outside pull requests (e.g. on: push to main), it keeps one app per
branch: github:<repo>@main.
MCP server: "build it and give me a link"
taptry mcp is a Model Context Protocol
server for Claude Code, Cursor, Claude Desktop and other MCP clients. Tools:
upload_app, get_status, get_link, list_apps, delete_app. The
assistant is told to ask before uploading or deleting, and delete_app
refuses unless confirm: true is passed.
Claude Code
claude mcp add taptry -e TAPTRY_API_KEY=tt_your_key -- npx -y taptry mcp
Cursor (~/.cursor/mcp.json) or Claude Desktop
(claude_desktop_config.json):
{
"mcpServers": {
"taptry": {
"command": "npx",
"args": ["-y", "taptry", "mcp"],
"env": { "TAPTRY_API_KEY": "tt_your_key" }
}
}
}
After taptry login you can leave out the env block.
Claude Code plugin - the MCP server and the TapTry skill in one install (set TAPTRY_API_KEY in your environment first):
/plugin marketplace add Romildoescoding/taptry-cli
/plugin install taptry@taptry
Let your assistant test the app on a real device
The MCP server can also run your uploaded app on a cloud Android device and
let the assistant use it: start_session, then screenshot (it sees the
screen) and get_ui (the elements, with coordinates), tap (by label or
position), type_text, press_key, swipe, get_logs (crashes and
recent log lines) and end_session. So "upload the build, open it, sign up
with a test account and tell me if anything crashes" works end to end. Each
session uses one of your runs and ends after 5 minutes without a call; at
most 2 run at once.
Data and privacy
Everything here talks to one service: the TapTry API at https://api.taptry.in, using your API key.
- Sent to TapTry: app files you upload (
.apk,.aab,.apks,.xapk,.apkm), the app name and settings you give, and - in device sessions - the taps, swipes, keys and text you send to your app. - Read from TapTry: your account name and plan (
whoami), your apps and their status, and in device sessions the screenshots, on-screen elements and logs of your own app. Screenshots and logs can contain whatever your app displays or logs. - Kept by TapTry: uploaded apps until you delete them (
taptry delete, or in the web app); run counts and analytics for your apps. Device-session screenshots, UI reads and logs are returned to you and not stored. Uploaded files are malware-scanned by VirusTotal. Privacy policy · Terms. - Stored locally:
taptry loginsaves your API key in your user config folder (mode 0600). Nothing else is written.
API
Everything here wraps TapTry's public HTTP API at
https://api.taptry.in/api/v1 (bearer-token auth with the same key). A
full reference for using it directly is coming to TapTry's docs.
License
MIT
Preguntas sobre TapTry MCP
¿Cómo agrego TapTry MCP a Claude Code?
Ejecuta claude mcp add --env TAPTRY_API_KEY=<YOUR_TAPTRY_API_KEY> taptry-cli -- npx -y taptry en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego TapTry MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué formatos de archivo admite TapTry para las subidas?
Puedes subir archivos .apk, .aab, .apks, .xapk y .apkm de hasta 500MB.
¿Cómo puede un asistente de IA probar mi aplicación Android?
El MCP server permite que un asistente inicie una sesión en un dispositivo en la nube para tomar capturas de pantalla, inspeccionar elementos de la interfaz, hacer tap, escribir, deslizar y obtener logs.
¿Se escanean las aplicaciones subidas en busca de seguridad?
Sí, cada subida se somete a un análisis de malware antes de que el enlace se active.