mcpField
X
Xcode MCP Server

Xcode MCP Server

ローカル
github.com/drewster99開発ツール53 週間前に更新

Xcode MCP Server について

Xcode MCP Serverは、Appleプラットフォーム開発でAIアシスタントからXcodeプロジェクトを調べ、操作できるMCPサーバーです。プロジェクト移動、ビルド、テスト、デバッグ、シミュレーター管理に対応し、アクセスするフォルダーも制限できます。

主な機能

  1. 01プロジェクトとソースファイルの閲覧
  2. 02Appleプラットフォームアプリのビルドと実行
  3. 03テストの実行と監視
  4. 04ビルドエラーと警告の取得
  5. 05シミュレーター管理と出力取得
  6. 06アクセス可能なフォルダーの制限

活用シーン

  1. 01プロジェクトの検索と構成確認
  2. 02アプリのビルドと失敗原因の調査
  3. 03テストの実行と結果確認
  4. 04シミュレーターのスクリーンショットやログ取得

MCP 対応

MCPクライアント向けに、プロジェクト閲覧、ビルド、テスト、デバッグ、シミュレーター管理、スクリーンショット取得などのXcode操作ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"xcode-mcp-server-drewster99": {
"command": "uvx",
"args": [
"xcode-mcp-server"
]
}
}
}
起動コマンドuvx xcode-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypixcode-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Drew's Xcode MCP サーバー(drews-xcode-mcp)

PyPI Python Versions Downloads MCP macOS Only Xcode License: MIT

GitHub last commit

Apple プラットフォーム開発のために、AI アシスタントが Xcode を操作し、Xcode とやり取りできるようにする MCP(Model Context Protocol)サーバーです。

xcode-mcp-server から名前を変更しました。 同じ名前を持つ無関係なプロジェクトが複数あり、Xcode 自体にも組み込み MCP サーバーが搭載されたため、このプロジェクトの名前は drews-xcode-mcp になりました。既存の設定は引き続き動作します。 古い PyPI 名は、このプロジェクトに転送する互換パッケージです。また、すべての設定は引き継がれます。都合のよいときに、MCP の設定を更新して drews-xcode-mcp を実行してください。サーバーキー/名前に古いデフォルトの xcode-mcp-server を使用している場合は、こちらも drews-xcode-mcp に変更することをおすすめします。古いツール名を参照しているツール権限の許可リストも更新してください(mcp__xcode-mcp-server__* は mcp__drews-xcode-mcp__* に変更します)。カスタムキーを設定している場合はそのまま使用でき、ツール権限への影響はありません。

このサーバーでできること

このサーバーにより、AI アシスタント(Claude、Cursor、その他の MCP クライアントなど)は次の操作を行えます。

  • Xcode プロジェクトとソースファイルを検出し、移動する
  • iOS、macOS、tvOS、watchOS アプリケーションをビルドして実行する
  • テストを実行、監視し、詳細な結果を確認する
  • エラーや警告を取得して、ビルドの失敗をデバッグする
  • 実行中のアプリケーションからコンソール出力を取得する
  • Xcode ウィンドウや iOS シミュレーターのスクリーンショットを撮る
  • シミュレーターを管理し、ステータスを確認する

AI は、プロジェクトの検索からビルド、テストの実行、失敗のデバッグ、結果の取得まで、開発ワークフロー全体を実行できます。

必要条件

  • macOS - このサーバーは macOS でのみ動作します
  • Xcode - Xcode をインストールする必要があります
  • Python 3.10+ - サーバーの実行に必要です(システムの Python が古い場合、uvx が互換性のある Python を自動的に取得します)

セキュリティ

このサーバーは、アクセス可能なディレクトリを制御するためにパスベースのセキュリティを実装しています。

  • アクセスを制限する場合: XCODEMCP_ALLOWED_FOLDERS=/path1:/path2:/path3 を設定して、アクセスを特定のディレクトリに制限します
  • デフォルト: 指定しない場合は、ホームディレクトリ($HOME)へのアクセスを許可します

セキュリティ要件:

  • すべてのパスは絶対パスである必要があります(/ で始まること)
  • .. のパス要素は使用できません
  • すべてのパスが存在し、ディレクトリである必要があります

セットアップ

まず、以下のすべての方法で必要となる uv がインストールされていることを確認してください。

which uv || brew install uv
1. Claude Code(推奨)
claude mcp add --scope user --transport stdio -- drews-xcode-mcp `which uvx` drews-xcode-mcp

特定のバージョンを実行するには、次を使用します。

# Example: How to run v1.3.0b6
claude mcp add --scope user --transport stdio -- drews-xcode-mcp `which uvx` drews-xcode-mcp==1.3.0b6

これで完了です。Claude Code が残りの処理を自動的に行います。

2. Claude Desktop

Claude Desktop の設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)を編集します。

{
    "mcpServers": {
        "drews-xcode-mcp": {
            "command": "uvx",
            "args": [
                "drews-xcode-mcp"
            ]
        }
    }
}

drews-xcode-mcp がアクセスできるプロジェクトやフォルダーを制限する場合は、次のように、絶対フォルダーパスをコロンで区切ったリストを指定する env オプションを追加します。

{
    "mcpServers": {
        "drews-xcode-mcp": {
            "command": "uvx",
            "args": [
                "drews-xcode-mcp"
            ],
            "env": {
                "XCODEMCP_ALLOWED_FOLDERS": "/Users/andrew/my_project:/Users/andrew/Documents/source"
            }
        }
    }
}
3. Cursor AI

Cursor で、「設定」→「ツールとインテグレーション」→「+ 新しい MCP サーバー」を選択します。

または、~/.cursor/mcp.json を直接編集します。

{
    "mcpServers": {
        "drews-xcode-mcp": {
            "command": "uvx",
            "args": ["drews-xcode-mcp"]
        }
    }
}

任意: env セクションを追加して、フォルダーへのアクセスを制限できます(上記の Claude Desktop と同じ形式です)。

使用方法

設定が完了したら、AI アシスタントに Xcode のタスクを依頼するだけです。

  • 「ホームディレクトリにある Xcode プロジェクトをすべて探してください」
  • 「/path/to/MyProject.xcodeproj のプロジェクトをビルドしてください」
  • 「このプロジェクトのテストを実行して、失敗したものがあれば表示してください」
  • 「このプロジェクトのビルドエラーを教えてください」
  • 「このプロジェクトのディレクトリ構造を表示してください」
  • 「Xcode ウィンドウのスクリーンショットを撮ってください」

ほとんどのツールでは、.xcodeproj または .xcworkspace ファイルへのパス、あるいは閲覧や移動に使用する通常のディレクトリパスを指定します。

詳細設定

コマンドライン引数

サーバーを直接実行する場合(開発時または独自の設定で使用する場合)は、次のオプションを利用できます。

ビルド出力の制御:

  • --no-build-warnings - エラーのみを表示し、警告を除外します
  • --always-include-build-warnings - 常に警告を表示します(デフォルト)

通知:

  • --show-notifications - 操作に関する macOS 通知を有効にします
  • --hide-notifications - 通知を無効にします(デフォルト)

アクセス制御:

  • --allowed /path - 許可するフォルダーを追加します(繰り返し指定できます)

例:

drews-xcode-mcp --no-build-warnings --show-notifications --allowed ~/Projects

注記: MCP クライアント(Claude、Cursor)を使用する場合は、代わりにクライアントの設定ファイルの env セクションで設定してください。

開発

このサーバーは FastMCP で構築されており、AppleScript を使って Xcode と通信します。

ローカルテスト

MCP Inspector でテストします。

export XCODEMCP_ALLOWED_FOLDERS=~/Projects
mcp dev drews_xcode_mcp/__main__.py

Inspector インターフェースが開き、ツールを直接テストできます。パスは引用符で囲んだ文字列として指定してください:"/Users/you/Projects/MyApp.xcodeproj"

制限事項

  • Xcode のバージョンによっては、AppleScript の構文を調整する必要があります
  • 一部の操作では、あらかじめ Xcode でプロジェクトを開いておく必要があります

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。