Claude Mobile
Claude Mobile
モバイルおよびデスクトップ自動化のためのMCPサーバー — Android(ADB経由)、iOSシミュレーター(simctl経由)、デスクトップ(Compose Multiplatform)、およびAurora OS(audb経由)。Claude in Chromeのようなツールをモバイルデバイスやデスクトップアプリ向けに提供します。
Claudeを通じて、Androidスマートフォン、エミュレーター、iOSシミュレーター、デスクトップアプリケーション、またはAurora OSデバイスを自然言語で制御できます。
特徴
統合API — Android、iOS、デスクトップ、Aurora OSで同じコマンドが動作します
スマートスクリーンショット — LLM処理に最適化された自動圧縮(巨大な画像はもう不要!)
注釈付きスクリーンショット — UIを視覚的に理解するための、色付きの境界ボックスと番号付き要素ラベルが付いたスクリーンショット
権限管理 — アプリの権限をプログラムで付与、取り消し、リセット(Androidのランタイム権限、iOSのプライバシーサービス)
デバイスログ — デバッグ用にフィルター付きでlogcat/システムログを読み取り
UI操作 — 座標または要素のテキストによるタップ、長押し、スワイプ
テキスト入力 — フォーカスされたフィールドへの入力
アプリ制御 — アプリの起動、停止、インストール
プラットフォーム選択 — Android、iOS、デスクトップ、またはAurora OSを明示的にターゲット指定
デスクトップサポート — ウィンドウ管理、クリップボード、パフォーマンスメトリクスを使用してCompose Multiplatformデスクトップアプリをテスト
インストール
HomebrewによるネイティブCLI (macOS)
brew tap AlexGladkov/claude-in-mobile https://github.com/AlexGladkov/claude-in-mobile
brew install claude-in-mobileこのCLIは、すべてのデバイス自動化ツールとストア管理(Google Play、Huawei AppGallery、RuStore)をラップします:
claude-in-mobile screenshot android
claude-in-mobile tap android 540 960 --from-size 540x960
claude-in-mobile store upload --package com.example.app --file app.aab
claude-in-mobile huawei upload --package com.example.app --file app.aab
claude-in-mobile rustore upload --package com.example.app --file app.apkワンライナー (任意のクライアント)
add-mcpを使用 — インストールされているクライアントを自動検出します:
npx add-mcp claude-in-mobile -yまたは特定のクライアントをターゲットにします:
npx add-mcp claude-in-mobile -a claude-code -y
npx add-mcp claude-in-mobile -a opencode -y
npx add-mcp claude-in-mobile -a cursor -yClaude Code CLI
claude mcp add --transport stdio mobile -- npx claude-in-mobile@latestグローバルに追加する場合(すべてのプロジェクトで使用可能):
claude mcp add --scope user --transport stdio mobile -- npx claude-in-mobile@latestOpenCode
対話型セットアップを使用:
opencode mcp addまたはopencode.json(プロジェクトルートまたは~/.config/opencode/opencode.json)に手動で追加:
{
"mcp": {
"mobile": {
"type": "local",
"command": ["npx", "-y", "claude-in-mobile"],
"enabled": true
}
}
}Cursor
.cursor/mcp.jsonに追加:
{
"mcpServers": {
"mobile": {
"command": "npx",
"args": ["-y", "claude-in-mobile"]
}
}
}任意のMCPクライアント
クライアント用の設定スニペットを表示:
npx claude-in-mobile --init <client-name>
# Supported: opencode, cursor, claude-codenpmから
npx claude-in-mobileソースから
git clone https://github.com/AlexGladkov/claude-in-mobile.git
cd claude-in-mobile
npm install
npm run build:all # Builds TypeScript + Desktop companion注: デスクトップサポートには、デスクトップコンパニオンアプリをコンパイルするために
npm run build:desktop(またはbuild:all)を実行する必要があります。
MCPクライアントでローカルビルドを使用する
ソースからビルドした後、npxを使用する代わりに、MCPクライアントでローカルのdist/index.jsを指定します:
{
"mcpServers": {
"mobile": {
"command": "node",
"args": ["/path/to/claude-in-mobile/dist/index.js"]
}
}
}OpenCode (opencode.json) の場合:
{
"mcp": {
"mobile": {
"type": "local",
"command": ["node", "/path/to/claude-in-mobile/dist/index.js"],
"enabled": true
}
}
}手動設定
Claude Code設定(~/.claude.jsonまたはプロジェクト設定)に追加:
{
"mcpServers": {
"mobile": {
"command": "npx",
"args": ["-y", "claude-in-mobile"]
}
}
}Windows
claude mcp add --transport stdio mobile -- cmd /c npx claude-in-mobile@latest要件
Android
ADBがインストールされ、PATHに含まれていること
接続されたAndroidデバイス(USBデバッグ有効)またはエミュレーター
iOS
XcodeがインストールされたmacOS
iOSシミュレーター(物理デバイスのサポートはまだありません)
完全なUI検査と要素ベースの操作のためのWebDriverAgent:
npm install -g appium appium driver install xcuitestまたは
WDA_PATH環境変数をカスタムWebDriverAgentの場所に設定してください
デスクトップ
macOS(Windows/Linuxサポート予定)
デスクトップコンパニオンをビルドするためのJDK 17以上
テスト対象のCompose Multiplatformデスクトップアプリケーション
Aurora OS
audb CLIがインストールされ、PATHに含まれていること(
cargo install audb-client)SSHが有効な接続済みAurora OSデバイス
タップ/スワイプにはデバイス上のPythonが必要:
devel-su pkcon install python
利用可能なツール
コアツール (全プラットフォーム)
ツール | Android | iOS | デスクトップ | Aurora | 説明 |
| ✅ | ✅ | ✅ | ✅ | 接続されている全デバイスをリスト表示 |
| ✅ | ✅ | ✅ | ✅ | アクティブなデバイスを選択 |
| ✅ | ✅ | ✅ | ✅ | スクリーンショットを撮影 |
| ✅ | ✅ | ✅ | ⚠️ | 座標またはテキスト/ラベルでタップ(iOS: 要素タップにはWDAが必要) |
| ✅ | ✅ | ✅ | ✅ | 長押しジェスチャー |
| ✅ | ✅ | ✅ | ⚠️ | 方向または座標でスワイプ(AuroraではPythonが必要) |
| ✅ | ✅ | ✅ | ❌ | テキストを入力 |
| ✅ | ✅ | ✅ | ✅ | ハードウェアボタンを押す |
| ✅ | ✅ | ❌ | ✅ | アプリを起動 |
| ✅ | ✅ | ❌ | ✅ | アプリを停止 |
| ✅ | ✅ | ❌ | ✅ | APK/.app/.rpmをインストール |
| ❌ | ❌ | ❌ | ✅ | インストール済みアプリをリスト表示(Auroraのみ) |
| ✅ | ✅ | ✅ | ❌ | UI階層を取得(iOS: WebDriverAgentが必要) |
| ✅ | ✅ | ✅ | ❌ | テキスト/ID/ラベルで要素を検索(iOS: WebDriverAgentが必要) |
| ✅ | ✅ | ❌ | ❌ | 色付き境界ボックスと番号付きラベル付きのスクリーンショット |
| ✅ | ✅ | ❌ | ❌ | アプリ権限を付与(Android: ランタイム、iOS: プライバシーサービス) |
| ✅ | ✅ | ❌ | ❌ | アプリ権限を取り消し |
| ✅ | ✅ | ❌ | ❌ | アプリの全権限をリセット |
| ✅ | ❌ | ❌ | ❌ | フォアグラウンドのアクティビティを取得 |
| ✅ | ✅ | ❌ | ❌ | ブラウザでURLを開く(Auroraでは未実装) |
| ✅ | ✅ | ❌ | ✅ | シェルコマンドを実行 |
| ✅ | ✅ | ✅ | ✅ | 指定時間待機 |
| ✅ | ✅ | ❌ | ✅ | デバイスログを取得(logcat/システムログ) |
| ✅ | ⚠️ | ❌ | ✅ | ログバッファをクリア |
| ✅ | ❌ | ❌ | ✅ | バッテリー、メモリ情報 |
| ✅ | ✅ | ❌ | ❌ | 要素が表示されるまで待機(ポーリング + タイムアウト) |
| ✅ | ✅ | ❌ | ❌ | 要素が表示されているか確認(成功/失敗) |
| ✅ | ✅ | ❌ | ❌ | 要素が存在しないか確認(成功/失敗) |
| ✅ | ✅ | ✅ | ✅ | 1回のラウンドトリップで複数のコマンドを実行 |
| ✅ | ❌ | ❌ | ❌ | Chrome DevTools Protocol経由でWebViewを検査 |
| ❌ | ❌ | ❌ | ✅ | ファイルをアップロード(Auroraのみ) |
| ❌ | ❌ | ❌ | ✅ | ファイルをダウンロード(Auroraのみ) |
デスクトップ専用ツール
ツール | 説明 |
| ターゲットプラットフォームを設定(android/ios/desktop) |
| 現在のターゲットプラットフォームを取得 |
| Composeデスクトップアプリケーションを起動 |
| 実行中のデスクトップアプリケーションを停止 |
| デスクトップウィンドウの位置とサイズを取得 |
| デスクトップウィンドウを最前面に表示 |
| デスクトップウィンドウのサイズを変更 |
| システムクリップボードの内容を取得 |
| システムクリップボードの内容を設定 |
| デスクトップアプリのCPU/メモリ使用量を取得 |
詳細なデスクトップAPIドキュメントについては、Desktop Specificationを参照してください。
使用例
Claudeに自然に話しかけるだけです:
"Show me all connected devices"
"Take a screenshot of the Android emulator"
"Take a screenshot on iOS"
"Tap on Settings"
"Swipe down to scroll"
"Type 'hello world' in the search field"
"Press the back button on Android"
"Open Safari on iOS"
"Switch to iOS simulator"
"Run the app on both platforms"権限管理
"Grant camera permission to com.example.app on Android"
"Revoke location access from com.example.app"
"Reset all permissions for com.apple.Maps on iOS"注釈付きスクリーンショット
"Take an annotated screenshot" → Screenshot with green (clickable) and red (non-clickable) bounding boxes + numbered element indexプラットフォーム選択
プラットフォームを明示的に指定できます:
"Screenshot on android" → Uses Android device
"Screenshot on ios" → Uses iOS simulator
"Screenshot on desktop" → Uses Desktop app
"Screenshot on aurora" → Uses Aurora OS device
"Screenshot" → Uses last active deviceまたはアクティブなデバイスを設定します:
"Use the iPhone 15 simulator"
"Switch to the Android emulator"
"Switch to desktop"
"Switch to Aurora device"デスクトップの例
"Launch my desktop app from /path/to/app"
"Take a screenshot of the desktop app"
"Get window info"
"Resize window to 1280x720"
"Tap at coordinates 100, 200"
"Get clipboard content"
"Set clipboard to 'test text'"
"Get performance metrics"
"Stop the desktop app"Auroraの例
"List all Aurora devices"
"Take a screenshot on Aurora"
"Tap at coordinates 100, 200 on Aurora"
"Launch ru.example.app on Aurora"
"List installed apps on Aurora device"
"Get logs from Aurora device"
"Push file.txt to /home/defaultuser/ on Aurora device"ネイティブCLI
同じコマンドをすべて備えた2MBのネイティブRustバイナリです。Node.jsも依存関係も不要です。
CLIのインストール
brew tap AlexGladkov/claude-in-mobile
brew install claude-in-mobileまたはReleasesからダウンロードしてください。
MCPに対する利点
簡単なインストール —
brew installまたは2MBのバイナリをコピーするだけ依存関係なし — Node.jsもnpmも何も不要
ターミナルから使用可能 — コマンドを直接実行でき、Claude CodeやMCPクライアントは不要
テスト自動化 — プラットフォームの内部構造を学ばなくても、あらゆるプラットフォーム向けの汎用的な
.shスクリプトを作成可能トークン効率的 — スキルドキュメントは使用時にのみ読み込まれます。MCPはすべてのツールスキーマをすべてのリクエストに読み込むため、セッションを通じてすぐに蓄積されます
高速 — コマンド起動が約5ms(Rust)vs 約500ms(Node.js MCP)
CI/CD対応 — 終了コード、stdout/stderr、どこでも実行可能
テストスクリプトの例
#!/bin/bash
claude-in-mobile launch android com.example.app
claude-in-mobile wait 2000
claude-in-mobile tap android 0 0 --text "Login"
claude-in-mobile input android "test@example.com"
claude-in-mobile screenshot android -o result.png
claude-in-mobile ui-dump android | grep "Welcome" && echo "PASS" || echo "FAIL"Claude Codeプラグイン
claude plugin marketplace add AlexGladkov/claude-in-mobile
claude plugin install claude-in-mobile@claude-in-mobileインストール後、Claude Codeが自然言語でデバイスを制御します。スキルは必要な時にのみコンテキストに読み込まれるため、使用していない時のトークンオーバーヘッドはありません。
CLIの完全なドキュメントについては、cli/README.mdを参照してください。
iOS WebDriverAgentのセットアップ
完全なiOS UI検査と要素ベースの操作には、WebDriverAgentが必要です。これにより以下が可能になります:
get_ui- JSONアクセシビリティツリーの検査labelまたはtextパラメータを使用したtap- 要素ベースのタップfind_element- 要素の発見とクエリswipe- ジェスチャーシミュレーションの改善
インストール
自動(Appium経由):
npm install -g appium
appium driver install xcuitest手動:
WDA_PATH環境変数をWebDriverAgentの場所に設定してください:
export WDA_PATH=/path/to/WebDriverAgent初回使用
初回使用時、WebDriverAgentは自動的に以下の処理が行われます:
Appiumインストールまたは
WDA_PATHから検出xcodebuildでビルド(初回のみ、約2分)
iOSシミュレーターで起動
ポート8100+でHTTP経由で接続
トラブルシューティング
ビルド失敗:
# Install Xcode command line tools
xcode-select --install
# Accept license
sudo xcodebuild -license accept
# Set Xcode path
sudo xcode-select -s /Applications/Xcode.appセッション失敗:
シミュレーターが起動していることを確認:
xcrun simctl list | grep Bootedポートの空き状況を確認:
lsof -i :8100シミュレーターの再起動を試す
手動テスト:
cd ~/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent
xcodebuild test -project WebDriverAgent.xcodeproj \
-scheme WebDriverAgentRunner \
-destination 'platform=iOS Simulator,id=<DEVICE_UDID>'仕組み
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude Code │────▶│ │────▶│ Android (ADB) │
├─────────────┤ │ Claude Mobile │ └─────────────────┘
│ OpenCode │────▶│ MCP Server │ ┌─────────────────┐
├─────────────┤ │ │────▶│ iOS (simctl+WDA)│
│ Cursor │────▶│ (auto-detects │ └─────────────────┘
├─────────────┤ │ client via │ ┌─────────────────┐
│ Any MCP │────▶│ MCP protocol) │────▶│ Desktop (Compose)│
│ Client │ │ │ └─────────────────┘
└─────────────┘ │ │ ┌─────────────────┐
│ │────▶│ Aurora (audb) │
└──────────────────┘ └─────────────────┘ClaudeがMCPプロトコルを通じてコマンドを送信
サーバーが適切なプラットフォーム(ADB、simctl+WDA、デスクトップコンパニオン、またはaudb)にルーティング
コマンドがデバイスまたはデスクトップアプリで実行される
結果(スクリーンショット、UIデータ、メトリクス)がClaudeに返される
ライセンス
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlexGladkov/claude-in-mobile'
If you have feedback or need assistance with the MCP directory API, please join our Discord server