Lade Android-Builds hoch, um im Browser ausführbare Links zu generieren und diese über einen AI Assistant auf Cloud-Android-Geräten zu testen.
Auch bekannt als Romildoescoding/taptry-cli, taptry-cli
- Stars
- 0
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- 1.1.0
- Letzter Commit
- 1. Nov. 2026
- Lizenz
- MIT
Was ist TapTry MCP?
TapTry ist ein MCP server. Lade Android-Builds hoch, um im Browser ausführbare Links zu generieren und diese über einen AI Assistant auf Cloud-Android-Geräten zu testen.
Zusammenfassung generiert aus dem README des Projekts
Über TapTry MCP server
TapTry bietet eine Möglichkeit, Android-Builds in im Browser ausführbare Links zu verwandeln, sodass jeder Anwendungen testen kann, ohne eine manuelle Installation oder Sideloading durchzuführen. Entwickler können verschiedene Dateiformate wie .apk, .aab, .apks, .xapk und .apkm bis zu einem Limit von 500MB hochladen. Der Service führt automatisch Malware-Scans via VirusTotal durch, bevor ein Link aktiv geschaltet wird. Dieses Tool ist für die Nutzung über ein CLI, innerhalb von CI/CD-Pipelines wie GitHub Actions oder über einen AI Assistant mittels Model Context Protocol konzipiert.
Wenn der Server mit einem MCP client wie Claude Desktop oder Cursor verbunden ist, ermöglicht er einer KI, den gesamten Testing-Lifecycle zu verwalten. Er stellt Tools wie upload_app, get_status und list_apps bereit, um Builds zu handhaben. Besonders hervorzuheben ist, dass er einem Assistant erlaubt, mit der Anwendung auf echten Cloud-Android-Geräten zu interagieren. Durch spezifische Commands kann der Assistant Aktionen wie tap, type_text, swipe und screenshot ausführen, um das App-Verhalten zu verifizieren und Logs für das Debugging abzurufen.
Was du damit machen kannst
- 1Sofortige Browser-Previews generierenLade einen Android-Build hoch, um einen teilbaren Link zu erhalten, der direkt in einem Webbrowser läuft.
- 2Pull Request Testing automatisierenKonfiguriere eine GitHub Action, um bei jedem Pull Request automatisch einen nicht gelisteten Preview-Link als Kommentar zu posten.
- 3Remote-GeräteinteraktionNutze einen AI client, um manuelle Interaktionen wie Swipen oder Tippen auf einem echten Android-Gerät durchzuführen.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du TapTry MCP
Formate geprüft am 10. Nov. 2026TapTry MCP in Claude Code installieren
$ claude mcp add --env TAPTRY_API_KEY=<YOUR_TAPTRY_API_KEY> taptry-cli -- npx -y taptryTapTry MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}TapTry MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"taptry-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}TapTry MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}TapTry MCP in Codex installieren
~/.codex/config.toml
[mcp_servers.taptry-cli] command = "npx" args = ["-y", "taptry"] [mcp_servers.taptry-cli.env] TAPTRY_API_KEY = "<YOUR_TAPTRY_API_KEY>"
TapTry MCP in Gemini CLI installieren
~/.gemini/settings.json
{
"mcpServers": {
"taptry-cli": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<YOUR_TAPTRY_API_KEY>"
}
}
}
}Konfiguration
TAPTRY_API_KEYErforderlichSecretA TapTry API key - create one at https://taptry.in/settings/api-keys
| Name | Beschreibung | Typ |
|---|---|---|
| TAPTRY_API_KEY | A TapTry API key - create one at https://taptry.in/settings/api-keys | ErforderlichSecret |
Automatisierte Checks
Geluften am 14. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarromildoescoding/taptry-cli is public and reachablegithub.com/romildoescoding/taptry-cli ↗Bestanden
- Paket nennt dieses Repository als Quelletaptry names romildoescoding/taptry-cli as sourcenpmjs.com/package/taptry ↗Bestanden
- Build-Herkunft (Sigstore-Attestierung)No build attestation published for this releaseNicht geprüft
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit or release 2026-11-01github.com/romildoescoding/taptry-cli ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNo popular package one edit away from taptryBestanden
- Kein kritischer Hinweis im Paket oder seinen Abhängigkeiten1 resolved dependencies checked; no critical advisoryosv.dev ↗Bestanden
- Keine versteckten Anweisungen an das Modell0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNicht geprüft
- Remote-Endpoint beantwortet den MCP-HandshakeNicht geprüft
README
Auf GitHub ansehentaptry
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
TapTry MCP Fragen
Wie füge ich TapTry MCP zu Claude Code hinzu?
Führe claude mcp add --env TAPTRY_API_KEY=<YOUR_TAPTRY_API_KEY> taptry-cli -- npx -y taptry in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich TapTry MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Welche Dateiformate unterstützt TapTry für Uploads?
Du kannst .apk, .aab, .apks, .xapk und .apkm Dateien bis zu einer Größe von 500MB hochladen.
Wie kann ein AI Assistant meine Android-App testen?
Der MCP server ermöglicht es einem Assistant, eine Session auf einem Cloud-Gerät zu starten, um Screenshots zu machen, UI-Elemente zu inspizieren, zu tippen, zu schreiben, zu swipen und Logs abzurufen.
Werden hochgeladene Apps auf Sicherheit geprüft?
Ja, jeder Upload wird einem Malware-Scan unterzogen, bevor der Link aktiv wird.