Xcode-Studio-MCP
xcode-studio-mcp
Xcode + iOS Simulator用統合MCPサーバー — Claude Code、Codex、Cursor、または任意のMCPクライアントからiOSアプリのビルド、デプロイ、スクリーンショット撮影、操作が可能です。
Swiftで構築。シングルバイナリ。Node/Pythonランタイムは不要です。
なぜこれが必要なのか
現在、AIエージェントでiOS開発の全ループを行うには2〜3個の別々のツールが必要です。xcode-studio-mcpはそれらを1つに統合します:
Write code → Build → Deploy to Simulator → Screenshot → Tap/Type → Verifyツール
ツール | 説明 |
| 構造化されたエラー出力(ファイル、行、列、重大度、メッセージ)でXcodeプロジェクトをビルドする |
| iOSシミュレーターでアプリをビルドして起動する |
| シミュレーターの画面をPNG画像としてキャプチャする |
| シミュレーター画面のx,y座標をタップする |
| 現在フォーカスされているフィールドにテキストを入力する |
| 現在の画面のアクセシビリティツリーを取得する (JSON) |
ツールパラメータ
xcode_build
パラメータ | 必須 | 説明 |
| はい | Xcodeプロジェクトディレクトリ、 |
| いいえ | ビルドスキーム(省略時は自動検出) |
| いいえ |
|
| いいえ | ビルド先(デフォルトは起動中のシミュレーター) |
xcode_run
パラメータ | 必須 | 説明 |
| はい | Xcodeプロジェクトへのパス |
| はい | アプリのバンドルID (例: |
| いいえ | ビルドスキーム(自動検出) |
| いいえ | ターゲットシミュレーター(デフォルトは起動中のもの) |
simulator_screenshot
パラメータ | 必須 | 説明 |
| いいえ | ターゲットシミュレーター(デフォルトは起動中のもの) |
simulator_tap
パラメータ | 必須 | 説明 |
| はい | X座標 |
| はい | Y座標 |
| いいえ | 長押し用の保持時間(秒) |
| いいえ | ターゲットシミュレーター |
simulator_type
パラメータ | 必須 | 説明 |
| はい | 入力するテキスト |
| いいえ | ターゲットシミュレーター |
simulator_describe
パラメータ | 必須 | 説明 |
| いいえ | ターゲットシミュレーター |
クイックスタート
前提条件
XcodeがインストールされたmacOS
UI操作ツール (
tap,type,describe) を使用する場合:brew tap facebook/fb && brew install idb-companion pip3 install fb-idb
ビルド
git clone https://github.com/kevinswint/xcode-studio-mcp.git
cd xcode-studio-mcp
swift build -c releaseClaude Codeの設定
Claude CodeのMCP設定に追加してください:
{
"mcpServers": {
"xcode-studio-mcp": {
"command": "/path/to/xcode-studio-mcp/.build/release/XcodeStudioMCP"
}
}
}ワークフロー例
You: Build and run my app at ~/Projects/MyApp
Claude: [calls xcode_build] Build succeeded with 0 errors
[calls xcode_run] App launched (PID 12345)
[calls simulator_screenshot] Here's what the app looks like...
[calls simulator_describe] I can see a "Sign In" button and email/password fields
[calls simulator_tap] Tapped the email field
[calls simulator_type] Typed "test@example.com"
[calls simulator_screenshot] Here's the current state...アーキテクチャ
┌─────────────────────────────┐
│ MCP Protocol Layer │ stdio transport (Swift MCP SDK)
├─────────────────────────────┤
│ Tool Implementations │ 6 tools, structured error output
├──────────┬──────────────────┤
│ xcodebuild│ simctl │ idb │ native process calls
│ wrapper │ wrapper │ CLI │
└──────────┴──────────┴──────┘Swiftで構築されており、Node/Pythonランタイムへの依存関係はゼロです(idb CLIはUI操作ツールにのみ必要です)。
ロードマップ
v0.1 (現在): コアビルド + シミュレーターツール
v1.0: セマンティックUIナビゲーション(「サインインボタンをタップ」)、ビジュアル差分、Xcodeプロジェクトファイルの操作、複合操作、SwiftUIプレビューキャプチャ
関連プロジェクト
プロジェクト | 何をするものか | 違い |
ビルド + テストのみ | シミュレーターのUI操作なし | |
クロスプラットフォームのシミュレーターUI | Xcodeビルドサポートなし | |
IDB経由のシミュレーター | ビルドなし、すべてをIDBに依存 |
xcode-studio-mcpは、ビルドと操作を単一のサーバーに統合します。
コントリビューション
プルリクエストを歓迎します。コードベースは約750行のSwiftで、ツール、サービス、モデルに整理されています。
ライセンス
MIT
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/kevinswint/xcode-studio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server