Unggah build Android untuk membuat link yang bisa dijalankan di browser dan mengujinya pada perangkat Android cloud melalui AI assistant.
Juga dikenal sebagai Romildoescoding/taptry-cli, taptry-cli
- Stars
- 0
- Tools
- —
- Unduhan, 30 hari
- —
- Versi terbaru
- 1.1.0
- Commit terakhir
- 1 Nov 2026
- Lisensi
- MIT
Apa itu TapTry MCP?
TapTry adalah MCP server. Unggah build Android untuk membuat link yang bisa dijalankan di browser dan mengujinya pada perangkat Android cloud melalui AI assistant.
Ringkasan dibuat dari README proyek
Tentang TapTry MCP server
TapTry menyediakan cara untuk mengubah build Android menjadi link yang bisa dijalankan di browser, sehingga siapa pun dapat menguji aplikasi tanpa perlu instalasi manual atau sideloading. Developer dapat mengunggah berbagai format file termasuk .apk, .aab, .apks, .xapk, dan .apkm dengan batas maksimal 500MB. Layanan ini secara otomatis melakukan pemindaian malware melalui VirusTotal sebelum link diaktifkan. Tool ini dirancang untuk digunakan melalui command line interface, di dalam pipeline CI/CD seperti GitHub Actions, atau melalui AI assistant menggunakan Model Context Protocol.
Saat terhubung ke client MCP seperti Claude Desktop atau Cursor, server ini memungkinkan AI untuk mengelola seluruh siklus pengujian. Server menyediakan tool seperti upload_app, get_status, dan list_apps untuk mengelola build. Yang paling utama, server ini memungkinkan assistant untuk berinteraksi dengan aplikasi pada perangkat Android cloud asli. Melalui perintah spesifik, assistant dapat melakukan aksi seperti tap, type_text, swipe, dan screenshot untuk memverifikasi perilaku aplikasi serta mengambil log untuk debugging.
Apa yang bisa Anda lakukan dengannya
- 1Generate instant browser previewsUnggah build Android untuk mendapatkan link yang dapat dibagikan dan dijalankan langsung di web browser.
- 2Automate pull request testingKonfigurasikan GitHub Action untuk secara otomatis memposting link preview unlisted sebagai komentar pada setiap pull request.
- 3Remote device interactionGunakan AI client untuk melakukan interaksi gaya manual seperti swiping atau mengetik pada perangkat Android asli.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal TapTry MCP
Format diverifikasi 10 Nov 2026Instal TapTry MCP di Claude Code
$ claude mcp add --env TAPTRY_API_KEY=<YOUR_TAPTRY_API_KEY> taptry-cli -- npx -y taptryInstal TapTry MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Instal TapTry MCP di VS Code
.vscode/mcp.json
{
"servers": {
"taptry-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Instal TapTry MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Instal TapTry MCP di 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>"
Instal TapTry MCP di Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Konfigurasi
TAPTRY_API_KEYWajibRahasiaA TapTry API key - create one at https://taptry.in/settings/api-keys
| Nama | Deskripsi | Tipe |
|---|---|---|
| TAPTRY_API_KEY | A TapTry API key - create one at https://taptry.in/settings/api-keys | WajibRahasia |
Pengecekan otomatis
Berjalan 14 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauromildoescoding/taptry-cli is public and reachablegithub.com/romildoescoding/taptry-cli ↗Lolos
- Paket menyebut repo ini sebagai sumbernyataptry names romildoescoding/taptry-cli as sourcenpmjs.com/package/taptry ↗Lolos
- Provenance build (atestasi Sigstore)No build attestation published for this releaseTidak diperiksa
- Lisensi open source (OSI)MITspdx.org/licenses/MIT.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-11-01github.com/romildoescoding/taptry-cli ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from taptryLolos
- Tidak ada advisory kritis di paket maupun dependensinya1 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Endpoint remote menjawab handshake MCPTidak diperiksa
README
Lihat di 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
Pertanyaan tentang TapTry MCP
Bagaimana cara menambahkan TapTry MCP ke Claude Code?
Jalankan claude mcp add --env TAPTRY_API_KEY=<YOUR_TAPTRY_API_KEY> taptry-cli -- npx -y taptry di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan TapTry MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Format file apa saja yang didukung TapTry untuk diunggah?
Anda dapat mengunggah file .apk, .aab, .apks, .xapk, dan .apkm hingga batas 500MB.
Bagaimana cara AI assistant menguji aplikasi Android saya?
MCP server memungkinkan assistant untuk memulai sesi pada perangkat cloud guna mengambil screenshot, memeriksa elemen UI, melakukan tap, mengetik, swipe, dan mengambil log.
Apakah aplikasi yang diunggah dipindai keamanannya?
Ya, setiap unggahan menjalani pemindaian malware sebelum link menjadi aktif.