Skip to main content
Glama

xcode-studio-mcp

Xcode + iOS Simulator用統合MCPサーバーClaude CodeCodexCursor、または任意のMCPクライアントからiOSアプリのビルド、デプロイ、スクリーンショット撮影、操作が可能です。

Swiftで構築。シングルバイナリ。Node/Pythonランタイムは不要です。

License: MIT Swift 6.0+ MCP

なぜこれが必要なのか

現在、AIエージェントでiOS開発の全ループを行うには2〜3個の別々のツールが必要です。xcode-studio-mcpはそれらを1つに統合します:

Write code → Build → Deploy to Simulator → Screenshot → Tap/Type → Verify

ツール

ツール

説明

xcode_build

構造化されたエラー出力(ファイル、行、列、重大度、メッセージ)でXcodeプロジェクトをビルドする

xcode_run

iOSシミュレーターでアプリをビルドして起動する

simulator_screenshot

シミュレーターの画面をPNG画像としてキャプチャする

simulator_tap

シミュレーター画面のx,y座標をタップする

simulator_type

現在フォーカスされているフィールドにテキストを入力する

simulator_describe

現在の画面のアクセシビリティツリーを取得する (JSON)

ツールパラメータ

xcode_build

パラメータ

必須

説明

project_path

はい

Xcodeプロジェクトディレクトリ、.xcodeproj、または .xcworkspace へのパス

scheme

いいえ

ビルドスキーム(省略時は自動検出)

configuration

いいえ

Debug(デフォルト)または Release

destination

いいえ

ビルド先(デフォルトは起動中のシミュレーター)

xcode_run

パラメータ

必須

説明

project_path

はい

Xcodeプロジェクトへのパス

bundle_identifier

はい

アプリのバンドルID (例: com.example.MyApp)

scheme

いいえ

ビルドスキーム(自動検出)

simulator_udid

いいえ

ターゲットシミュレーター(デフォルトは起動中のもの)

simulator_screenshot

パラメータ

必須

説明

simulator_udid

いいえ

ターゲットシミュレーター(デフォルトは起動中のもの)

simulator_tap

パラメータ

必須

説明

x

はい

X座標

y

はい

Y座標

duration

いいえ

長押し用の保持時間(秒)

simulator_udid

いいえ

ターゲットシミュレーター

simulator_type

パラメータ

必須

説明

text

はい

入力するテキスト

simulator_udid

いいえ

ターゲットシミュレーター

simulator_describe

パラメータ

必須

説明

simulator_udid

いいえ

ターゲットシミュレーター

クイックスタート

前提条件

  • 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 release

Claude 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プレビューキャプチャ

関連プロジェクト

プロジェクト

何をするものか

違い

XcodeBuildMCP

ビルド + テストのみ

シミュレーターのUI操作なし

mobile-mcp

クロスプラットフォームのシミュレーターUI

Xcodeビルドサポートなし

ios-simulator-mcp

IDB経由のシミュレーター

ビルドなし、すべてをIDBに依存

xcode-studio-mcpは、ビルドと操作を単一のサーバーに統合します。

コントリビューション

プルリクエストを歓迎します。コードベースは約750行のSwiftで、ツール、サービス、モデルに整理されています。

ライセンス

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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