mcpField
T
TapTry

TapTry

ローカル
taptry.in開発ツール01 週間前に更新

TapTry について

TapTryは、Androidビルドをアップロードし、ブラウザーから実行できるリンクを共有するコマンドラインツールとMCPサーバーです。MCPクライアントからクラウド上のAndroid端末でアプリを操作し、スクリーンショットやUI、ログを確認できます。

主な機能

  1. 01APK、AABなどのアップロード
  2. 02リンク有効化前のマルウェアスキャン
  3. 03公開・限定公開・非公開の設定
  4. 04GitHubプルリクエストのプレビュー
  5. 05クラウド端末での操作と撮影
  6. 06UI要素とアプリログの取得

活用シーン

  1. 01インストール不要でAndroidビルドを共有
  2. 02プルリクエストのプレビューリンクを作成
  3. 03アップロードしたアプリをクラウド端末でテスト
  4. 04クラッシュや最近のログを確認

MCP 対応

MCPサーバーは、アプリのアップロード、状態確認、一覧表示、削除に加え、端末セッションの開始やアプリ操作、スクリーンショット、UI要素、ログの取得を提供します。APIキーでTapTry APIに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"romildoescoding-taptry": {
"command": "npx",
"args": [
"-y",
"taptry"
],
"env": {
"TAPTRY_API_KEY": "<TAPTRY_API_KEY>"
}
}
}
}
起動コマンドnpx -y taptry
設定が必要な環境変数
TAPTRY_API_KEYシークレットA TapTry API key - create one at https://taptry.in/settings/api-keys

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtaptry1.1.0

ツール

14

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
refstringいいえ再アップロード時に新しいアプリを作成せず更新できるようにする、このアプリの固定 ID(例:リポジトリ名)。
namestringいいえアプリ名。デフォルト:ファイル名から取得します。
file_pathstringはいアプリファイルの絶対パス(例:app/build/outputs/apk/release/app-release.apk)。
visibilityenumいいえデフォルトは public です。特定の人と共有するビルドには Unlisted が適しています。public | unlisted | private
wait_secondsnumberいいえチェック完了までの待機時間(0~600、デフォルトは 90)。その後は get_status を使用してください。

詳細

taptry

Android ビルドを、誰でもブラウザーで実行できるリンクに変換します。インストールも、サイドロードも不要です。ターミナルから、すべてのプルリクエストで CI から、またはコーディングアシスタントから利用できます。

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

.apk、.aab、.apks、.xapk、.apkm に対応し、最大 500MB までアップロードできます。リンクが使えるようになる前に、すべてのアップロードがマルウェアスキャンを受けます。Node 20 以上が必要です。依存関係はありません。

セットアップ

  1. TapTry で Settings > API keys を開き、キーを作成します。
  2. マシンに保存するには npx taptry login を実行するか、TAPTRY_API_KEY を設定します(CI ではこちらを使用します)。

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
  • --ref はアプリの識別子です。たとえば github:me/game#42 のように指定します。同じ ref で再度アップロードすると、そのアプリのファイルが置き換わり、リンクは維持されます。繰り返しアップロードするものに使ってください。
  • 公開範囲: デフォルトは公開です(TapTry プロフィールに表示され、誰でも実行できます)。--unlisted:どこにも掲載されず、表示されるリンクは、共有された人だけが開ける秘密のリンクです。--private:自分だけが利用できます。
  • upload はデフォルトでチェックの完了を待ち、リンクを標準出力に表示するため、URL=$(taptry upload app.apk) のように実行できます。--json は結果全体を出力します。
  • delete は最初に確認を求めます。ターミナルがない場合は --yes が必要です。

終了コード:0 成功 · 1 エラー(ネットワーク、認証、リクエスト拒否) · 2 使用方法の誤り · 3 アプリがチェックに失敗(マルウェア、アプリではない、…) · 4 チェック待ちのタイムアウト。

GitHub Action:プルリクエストごとにプレビューリンクを作成

プルリクエストごとに TapTry アプリが 1 つ作成され、リンクを含むコメントが 1 件投稿されます。コメントはプッシュごとに更新され、PR が閉じられると削除されます。プレビューはデフォルトで限定公開です。PR 内のリンクを知っている人なら誰でも実行できますが、TapTry プロフィールには表示されません。

# .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

リポジトリのシークレット TAPTRY_API_KEY にキーを追加します。フォークからのプルリクエストにはシークレットが渡されないため、警告を表示してプレビューをスキップします。

入力デフォルト
api-key-必須。
file-ビルド出力です。1 つのファイルにだけ一致する場合は、グロブを使用できます。
nameファイル名から取得初回アップロード時に設定されるアプリ名です。
refgithub:<repo>#<PR> または github:<repo>@<branch>同じ ref なら同じアプリになります。
visibilityunlistedunlisted(リンクを知っている人なら誰でも利用可能。どこにも掲載されません)、public、または private。
wait / timeouttrue / 900チェックの完了を待ちます。
commenttruePR のコメント 1 件を最新の状態に保ちます。
delete-on-closetruePR が閉じられたときにプレビューを削除します。
fail-on-errortrueビルドが拒否された場合にステップを失敗させます。

出力:url、app-id、slug、status、ready。

プルリクエスト以外(たとえば on: push で main にプッシュする場合)は、ブランチごとにアプリを 1 つ保持します:github:<repo>@main。

MCP サーバー:「ビルドしてリンクを教えて」

taptry mcp は、Claude Code、Cursor、Claude Desktop、その他の MCP クライアント向けの Model Context Protocol サーバーです。ツール:upload_app、get_status、get_link、list_apps、delete_app。アップロードや削除の前に確認するようアシスタントに指示されており、confirm: true が渡されない限り delete_app は拒否されます。

Claude Code

claude mcp add taptry -e TAPTRY_API_KEY=tt_your_key -- npx -y taptry mcp

Cursor(~/.cursor/mcp.json)または Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "taptry": {
      "command": "npx",
      "args": ["-y", "taptry", "mcp"],
      "env": { "TAPTRY_API_KEY": "tt_your_key" }
    }
  }
}

taptry login の実行後は、env ブロックを省略できます。

Claude Code プラグイン - MCP サーバーと TapTry スキルをまとめてインストールします(先に環境で TAPTRY_API_KEY を設定してください):

/plugin marketplace add Romildoescoding/taptry-cli
/plugin install taptry@taptry
アシスタントに実機でアプリをテストさせる

MCP サーバーでは、アップロードしたアプリをクラウド上の Android デバイスで実行し、アシスタントに操作させることもできます。start_session の後、screenshot(画面を確認)、get_ui(座標付きで要素を取得)、tap(ラベルまたは位置を指定してタップ)、type_text、press_key、swipe、get_logs(クラッシュと最近のログ行を取得)、end_session を使います。そのため、「ビルドをアップロードして開き、テストアカウントでサインアップし、クラッシュがあれば教えて」という操作を最初から最後まで実行できます。各セッションでは実行枠を 1 つ使用し、呼び出しがない状態が 5 分続くと終了します。同時に実行できるのは最大 2 件です。

データとプライバシー

ここでのすべての操作は、API キーを使って 1 つのサービス、TapTry API(https://api.taptry.in)と通信します。

  • TapTry に送信されるデータ: アップロードするアプリファイル(.apk、.aab、.apks、.xapk、.apkm)、指定したアプリ名と設定、デバイスセッションではアプリに送信するタップ、スワイプ、キー入力、テキストです。
  • TapTry から読み取るデータ: アカウント名とプラン(whoami)、アプリとそのステータス、デバイスセッションでは自分のアプリのスクリーンショット、画面上の要素、ログです。スクリーンショットやログには、アプリに表示または記録されたあらゆる内容が含まれる可能性があります。
  • TapTry に保存されるデータ: アップロードしたアプリは削除するまで保持されます(taptry delete、またはウェブアプリから削除できます)。アプリの実行回数と分析データも保存されます。デバイスセッションのスクリーンショット、UI の読み取り結果、ログは返却されますが、保存されません。アップロードしたファイルは VirusTotal によるマルウェアスキャンを受けます。プライバシーポリシー · 利用規約。
  • ローカルに保存されるデータ: taptry login は、ユーザー設定フォルダーに API キーを保存します(モード 0600)。それ以外のデータは書き込まれません。

API

ここでのすべての操作は、https://api.taptry.in/api/v1 にある TapTry の公開 HTTP API をラップしています(同じキーを使ったベアラートークン認証)。API を直接使用するための完全なリファレンスは、今後 TapTry のドキュメントで公開される予定です。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。