# MCP

Claude Code、Codex、Cursor などの MCP クライアントを Device MCP に接続して、AI エージェントが iPhone や iPad の画面を見て、タップ、入力、テストできるようにします。

Device MCP は、AI コーディングエージェントを実機の iPhone や iPad につなぎます。エージェントは画面を見て、タップや入力をし、アプリを開き、プロジェクトをビルドしてデバイス上でテストできます。すべて普段どおりの会話から行えます。

## 1. Device MCP の MCP サーバーとは
**MCP**（Model Context Protocol）は、AI エージェントがツールとやり取りするためのオープンな標準規格です。Device MCP には MCP サーバーが組み込まれているため、Claude Code、Codex、Cursor など MCP に対応したエージェントが、あなたと同じようにデバイスを操作できます。

サーバーは Mac 上でのみ動作します。エージェントに見るよう頼んだもの以外、画面やアプリが Mac の外に出ることはありません。[プライバシーとセキュリティ](../help/privacy-and-security.md)を参照してください。

### ✅ プロンプトの例
* iPhone のスクリーンショットを撮って、画面に何が表示されているか教えて。
* 設定を開いてダークモードをオンにして。
* アプリをビルドして iPad で実行し、ログイン画面が正しく動くか確認して。
* テスト用アカウントでログインして、カートに商品を追加し、合計金額を確認して。
* アプリがデバイス上でクラッシュした。クラッシュレポートを探してバグを修正して。
* `myapp://profile` を開いてスクリーンショットを撮って。
* オンボーディングの流れを画面収録して。

## 2. メリット
| メリット | 説明 |
| --- | --- |
| **実機でテスト** | エージェントが実際の iPhone や iPad でテストします。パフォーマンスもセンサーもシステムのダイアログも本物です。 |
| **クローズドループの開発** | 編集、ビルド、実行、タップ、スクリーンショット、修正。エージェントがあなたの手を借りずに自分の作業を確認します。 |
| **あなたと同じものが見える** | エージェントは画面上の文字やボタンを読み取るので、「**ログイン**」ボタンを名前で指定してタップできます。 |
| **主導権はあなたに** | リスクのある操作は事前に確認され、すべての操作が記録されます。いつでも操作を代われます。 |
| **お使いのエージェントで動作** | Claude Code、Codex、Cursor をはじめ、あらゆる MCP クライアントに対応します。 |

## 3. Device MCP をエージェントに追加する方法
1. **MCP サーバーをオンにする**
   * **Device MCP → Settings → MCP** を開きます。
   * **Enable MCP Server** をオンにします。
2. **エージェント用の設定をコピーする**：**Settings → MCP → MCP Configuration** で **Claude Code**、**Codex**、**Manual** のいずれかを選び、**Copy** をクリックします。同じ設定は Inspector の **Agent** タブにもあります。
3. **エージェントに追加する**：以下の手順に従います。

### Claude Code
ターミナルで次のコマンドを実行します。

```bash
claude mcp add --scope user device-mcp -- "/Applications/Device MCP.app/Contents/MacOS/device-mcp"
```

`--scope user` を付けると、すべてのプロジェクトで Device MCP を使えるようになります。

### Codex
`~/.codex/config.toml` に次の内容を追加します。

```toml
[mcp_servers.device-mcp]
command = "/Applications/Device MCP.app/Contents/MacOS/device-mcp"
startup_timeout_sec = 30
tool_timeout_sec = 900
```

{% hint style="info" %}
アプリのビルドや、あなたの承認待ちには数分かかることがあります。`tool_timeout_sec` を設定しておくと、Codex が十分な時間待機できます。
{% endhint %}

### Cursor やその他の MCP クライアント
クライアントの MCP 設定に次の内容を追加します。

```json
{
  "mcpServers": {
    "device-mcp": {
      "command": "/Applications/Device MCP.app/Contents/MacOS/device-mcp",
      "args": []
    }
  }
}
```

4. **Device MCP を使い始める**
   * デバイスを接続したまま、Device MCP を開いておきます。
   * エージェントに頼んでみましょう。例：「デバイスの一覧を表示して、スクリーンショットを撮って。」

{% hint style="warning" %}
MCP サーバーがオフになっているとエージェントに言われた場合は、**Device MCP → Settings → MCP** を開いて **Enable MCP Server** をオンにしてください。エージェントを使うには [Device MCP Pro](../license.md) が必要です。
{% endhint %}

## 4. エージェントができること
| 分野 | エージェントができること |
| --- | --- |
| **デバイス** | 接続中のデバイスを一覧表示し、1 台を選んで詳細を読み取ります。 |
| **画面を見る** | スクリーンショットを撮り、画面上の文字やボタンを読み取ります。 |
| **タッチ** | タップ、テキストを指定してのタップ、ダブルタップ、長押し、スワイプ、スクロール、ピンチを行います。 |
| **入力** | テキストを入力し、キーを押し、キーボードを閉じます。 |
| **システム** | ホーム、ロック、音量、Siri のボタンを押し、コントロールセンターや Appスイッチャーを開き、画面を回転します。 |
| **アプリ** | アプリの一覧表示、起動、終了、インストール、アンインストールを行い、リンクを開きます。 |
| **Build & Run** | Xcode プロジェクトをビルドし、デバイスで起動します。[Build & Run](build-and-run.md) を参照してください。 |
| **デバッグ** | クラッシュレポートを読み、アプリデータをダウンロードします。 |
| **画面収録** | 画面収録を開始・停止します。 |
| **あなたに依頼** | Face ID やパスコードなどで、あなたに対応を依頼します。[Human Handoff](human-handoff.md) を参照してください。 |

お使いのバージョンの Device MCP で使えるツールの一覧は、MCP クライアントで確認できます。

## 5. 主導権は常にあなたに
* **承認**：アプリのインストールや削除、ビルド、リンクを開く操作、アプリデータのダウンロードは、事前にあなたに確認します。[承認](approvals.md)を参照してください。
* **Activity**：エージェントが行った操作はすべて **Agent** タブに一覧表示されます。[エージェントのアクティビティ](agent-activity.md)を参照してください。
* **Agent is driving**：ミラー画面下部のステータスと、サイドバーのデバイスの横に表示される ✨ で、エージェントがデバイスを使っていることがわかります。
* **いつでも操作を代われる**：エージェントの作業中でも、あなたのクリックやキー入力は常に反映されます。
