Skip to main content
Glama

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 -y

Claude 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@latest

OpenCode

対話型セットアップを使用:

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-code

npmから

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

説明

list_devices

接続されている全デバイスをリスト表示

set_device

アクティブなデバイスを選択

screenshot

スクリーンショットを撮影

tap

⚠️

座標またはテキスト/ラベルでタップ(iOS: 要素タップにはWDAが必要)

long_press

長押しジェスチャー

swipe

⚠️

方向または座標でスワイプ(AuroraではPythonが必要)

input_text

テキストを入力

press_key

ハードウェアボタンを押す

launch_app

アプリを起動

stop_app

アプリを停止

install_app

APK/.app/.rpmをインストール

list_apps

インストール済みアプリをリスト表示(Auroraのみ)

get_ui

UI階層を取得(iOS: WebDriverAgentが必要)

find_element

テキスト/ID/ラベルで要素を検索(iOS: WebDriverAgentが必要)

annotate_screenshot

色付き境界ボックスと番号付きラベル付きのスクリーンショット

grant_permission

アプリ権限を付与(Android: ランタイム、iOS: プライバシーサービス)

revoke_permission

アプリ権限を取り消し

reset_permissions

アプリの全権限をリセット

get_current_activity

フォアグラウンドのアクティビティを取得

open_url

ブラウザでURLを開く(Auroraでは未実装)

shell

シェルコマンドを実行

wait

指定時間待機

get_logs

デバイスログを取得(logcat/システムログ)

clear_logs

⚠️

ログバッファをクリア

get_system_info

バッテリー、メモリ情報

wait_for_element

要素が表示されるまで待機(ポーリング + タイムアウト)

assert_visible

要素が表示されているか確認(成功/失敗)

assert_not_exists

要素が存在しないか確認(成功/失敗)

batch_commands

1回のラウンドトリップで複数のコマンドを実行

get_webview

Chrome DevTools Protocol経由でWebViewを検査

push_file

ファイルをアップロード(Auroraのみ)

pull_file

ファイルをダウンロード(Auroraのみ)

デスクトップ専用ツール

ツール

説明

set_target

ターゲットプラットフォームを設定(android/ios/desktop)

get_target

現在のターゲットプラットフォームを取得

launch_desktop_app

Composeデスクトップアプリケーションを起動

stop_desktop_app

実行中のデスクトップアプリケーションを停止

get_window_info

デスクトップウィンドウの位置とサイズを取得

focus_window

デスクトップウィンドウを最前面に表示

resize_window

デスクトップウィンドウのサイズを変更

get_clipboard

システムクリップボードの内容を取得

set_clipboard

システムクリップボードの内容を設定

get_performance_metrics

デスクトップアプリの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は自動的に以下の処理が行われます:

  1. AppiumインストールまたはWDA_PATHから検出

  2. xcodebuildでビルド(初回のみ、約2分)

  3. iOSシミュレーターで起動

  4. ポート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)   │
                    └──────────────────┘     └─────────────────┘
  1. ClaudeがMCPプロトコルを通じてコマンドを送信

  2. サーバーが適切なプラットフォーム(ADB、simctl+WDA、デスクトップコンパニオン、またはaudb)にルーティング

  3. コマンドがデバイスまたはデスクトップアプリで実行される

  4. 結果(スクリーンショット、UIデータ、メトリクス)がClaudeに返される

ライセンス

MIT

Install Server
A
security – no known vulnerabilities
F
license - not found
-
quality - not tested

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