Xcode MCP サーバー
AIアシスタント向けの包括的なXcode統合を提供するMCP(Model Context Protocol)サーバー。このサーバーにより、AIエージェントはXcodeプロジェクトとの連携、iOSシミュレータの管理、そして強化されたエラー処理と複数のプロジェクトタイプへの対応により、様々なXcode関連タスクを実行できるようになります。
特徴
プロジェクト管理
- アクティブなプロジェクトを設定し、詳細なプロジェクト情報を取得する
- テンプレートから新しい Xcode プロジェクトを作成する (iOS、macOS、watchOS、tvOS)
- ターゲットとグループを指定してXcodeプロジェクトにファイルを追加する
- ワークスペースドキュメントを解析して関連するプロジェクトを見つける
- プロジェクトとワークスペースで利用可能なスキームを一覧表示する
ファイル操作
- さまざまなエンコードをサポートするファイルの読み取り/書き込み
- base64エンコード/デコードでバイナリファイルを処理する
- パターンと正規表現を使用してファイル内のテキストコンテンツを検索する
- ファイルの存在を確認し、ファイルのメタデータを取得する
- ディレクトリ構造を自動的に作成する
ビルドとテスト
- カスタマイズ可能なオプションでプロジェクトを構築する
- 詳細な障害レポート付きのテストを実行する
- 潜在的な問題がないかコードを分析する
- ビルドディレクトリをクリーンにする
- 配布用アーカイブプロジェクト
CocoaPods 統合
- プロジェクトでCocoaPodsを初期化する
- ポッドのインストールと更新
- ポッドの依存関係の追加と削除
- 任意のポッドコマンドを実行する
Swift パッケージマネージャー
- 新しいSwiftパッケージを初期化する
- さまざまなバージョン要件を持つパッケージ依存関係を追加および削除します
- パッケージを更新し、依存関係を解決する
- DocC を使用して Swift パッケージのドキュメントを生成する
- テストを実行してSwiftパッケージをビルドする
iOSシミュレータツール
- 利用可能なシミュレータを詳細情報とともに一覧表示します
- シミュレータの起動とシャットダウン
- シミュレータにアプリをインストールして起動する
- スクリーンショットを撮り、ビデオを録画する
- シミュレータの設定と状態を管理する
Xcodeユーティリティ
- xcrun経由でXcodeコマンドを実行する
- 資産カタログをコンパイルする
- ソース画像からアプリのアイコンセットを生成する
- アプリのパフォーマンスをトレースする
- App Store への提出用にアーカイブをエクスポートして検証する
- 異なるXcodeバージョンを切り替える
インストール
前提条件
- Xcode 14.0以降がインストールされたmacOS
- Node.js 16以上
- npmまたはyarn
- Swift パッケージ マネージャーの機能については Swift 5.5+ を参照してください。
- CocoaPods(オプション、CocoaPods統合用)
設定
オプション 1: 自動セットアップ (推奨)
インストールと構成のプロセスを自動化する、付属のセットアップ スクリプトを使用します。
セットアップ スクリプトの機能:
- 環境検証:
- macOSで実行されているか確認します
- Xcodeがインストールされアクセス可能であることを確認する
- Node.js (v16+) と npm が利用可能であることを確認します
- Rubyのインストールをチェックする
- CocoaPods のインストールを確認します (インストールされていない場合はインストールを提案します)
- 依存関係のインストール:
npm install
を実行して、必要なすべての Node.js パッケージをインストールします。npm run build
を実行して TypeScript コードをコンパイルします。
- 構成設定:
.env
ファイルが存在しない場合は作成します- プロジェクトのベースディレクトリの入力を求めるプロンプト
- デバッグログを有効にするかどうかを尋ねます
- 設定を保存します
- Claude デスクトップ統合(オプション):
- Claude Desktop 用のサーバーの構成を提案
- Claude Desktop 構成ファイルを作成または更新します
- サーバーを起動するための適切なコマンドと引数を設定します
セットアップ スクリプトを使用する場合:
- すべての前提条件が満たされていることを確認するための初回インストール
- 対話型プロンプトによるガイド付き構成が必要な場合
- Claude Desktop統合を素早く設定したい場合
- 環境に必要なコンポーネントがすべて揃っていることを確認するには
スクリプトは、明確なプロンプトと役立つフィードバックを使用して構成プロセスをガイドします。
オプション2: 手動セットアップ
手動セットアップを使用する場合:
- 各インストール手順を明示的に制御したい
- カスタム環境または非標準構成がある場合
- CI/CDパイプラインまたは自動化環境で設定する場合
- インストールプロセスの特定の側面をカスタマイズしたい
- Node.jsプロジェクトに精通した経験豊富な開発者であること
手動インストールの場合は、次の手順に従ってください。
- リポジトリをクローンします。
- 前提条件を確認します (これらはインストールされている必要があります)。
- Xcode と Xcode コマンドラインツール
- Node.js v16以上
- npm
- Ruby(CocoaPodsサポート用)
- CocoaPods(オプション、ポッド関連機能用)
- 依存関係をインストールします:
- プロジェクトをビルドします。
- 設定ファイルを作成します。
.env
ファイルを編集して、希望する構成を設定します。 - Claude Desktop 統合の場合 (オプション):
~/Library/Application Support/Claude/claude_desktop_config.json
を編集または作成します。- 以下の設定を追加します(必要に応じてパスを調整してください):GXP6
セットアップのトラブルシューティング
一般的なセットアップの問題:
- ビルドエラー:
- 正しいNode.jsバージョン(v16以上)を使用していることを確認してください
node_modules
を削除して、npm install
を再度実行してみてください。npx tsc --noEmit
で TypeScript エラーをチェックする- コード内のすべてのインポートが適切に解決されていることを確認する
- 不足している依存関係:
- モジュールが見つからないというエラーが表示された場合は、
npm install
再度実行してください。 - ネイティブ依存関係の場合、Xcode コマンドラインツールが必要になる場合があります:
xcode-select --install
- モジュールが見つからないというエラーが表示された場合は、
- 権限の問題:
- インストールディレクトリへの書き込み権限があることを確認してください
- CocoaPodsのインストールには、
sudo gem install cocoapods
使用する必要があるかもしれません。
- 設定の問題:
.env
ファイルの形式とパスが正しいことを確認してくださいPROJECTS_BASE_DIR
が既存のディレクトリを指していることを確認してください- パスにエスケープが必要な特殊文字が含まれていないことを確認してください
- クロードデスクトップ統合:
- Claude 構成のパスが
index.js
の正しい場所を指していることを確認します。 - 設定を変更した後、Claude Desktopを再起動します。
- Claude で使用する前にサーバーが稼働していることを確認してください
- Claude 構成のパスが
使用法
サーバーの起動
自動再起動を伴う開発モードの場合:
設定オプション
サーバーは次の 2 つの方法で構成できます。
.env
ファイル内の環境変数:- コマンドライン引数:
主要な構成パラメータ
PROJECTS_BASE_DIR
/--projects-dir
: プロジェクトのベースディレクトリ(必須)ALLOWED_PATHS
/--allowed-paths
: アクセスを許可する追加のディレクトリ(カンマ区切り)PORT
/--port
: サーバーを実行するポート (デフォルト: 3000)DEBUG
/--debug
: デバッグログを有効にする (デフォルト: false)LOG_LEVEL
/--log-level
: ログレベルを設定する (デフォルト: info)
AIアシスタントへの接続
サーバーはモデルコンテキストプロトコル(MCP)を実装しており、このプロトコルをサポートする様々なAIアシスタントと互換性があります。接続するには:
- Xcode MCPサーバーを起動する
- AIアシスタントをサーバーURL(通常は
http://localhost:3000
)を使用するように構成します。 - AIアシスタントはサーバーが提供するすべてのXcodeツールにアクセスできるようになります。
ツールドキュメント
利用可能なすべてのツールとその使用方法の包括的な概要については、 「ツールの概要」を参照してください。
詳細な使用例とベスト プラクティスについては、ユーザー ガイドを参照してください。
一般的なワークフロー
新しいプロジェクトの設定
ファイルの操作
構築とテスト
プロジェクト構造
仕組み
Xcode MCPサーバーは、モデルコンテキストプロトコル(MCP)を使用して、AIモデルがXcodeプロジェクトと連携するための標準化されたインターフェースを提供します。サーバーアーキテクチャは、以下の主要コンポーネントで構成されています。
コアコンポーネント
- サーバー実装: ツールの登録とリクエストの処理を扱うメインの MCP サーバー。
- パス管理: 許可されたディレクトリに対してすべてのパスを検証することで、安全なファイル アクセスを保証します。
- プロジェクト管理: さまざまな種類の Xcode プロジェクトを検出し、読み込み、管理します。
- 標準 Xcode プロジェクト (.xcodeproj)
- Xcode ワークスペース (.xcworkspace)
- Swift パッケージ マネージャー プロジェクト (Package.swift)
- ディレクトリ状態: 相対パス解決のアクティブ ディレクトリ コンテキストを維持します。
- ツール レジストリ: さまざまな Xcode 操作の論理カテゴリにツールを整理します。
リクエストフロー
- AI アシスタントがツール実行要求を MCP サーバーに送信します。
- サーバーは要求パラメータと権限を検証します。
- 検証されたパラメータを使用して適切なツール ハンドラーが呼び出されます。
- ツールは、多くの場合ネイティブ Xcode コマンドを使用して、要求された操作を実行します。
- 結果はフォーマットされて AI アシスタントに返されます。
- 包括的なエラー処理により、トラブルシューティングに役立つ有益なフィードバックが提供されます。
安全機能
- パス検証: すべてのファイル操作は許可されたディレクトリに制限されます。
- エラー処理: 詳細なエラー メッセージは問題の診断に役立ちます。
- パラメータ検証: 入力パラメータは Zod スキーマを使用して検証されます。
- プロセス管理: 適切なエラー処理により外部プロセスが安全に実行されます。
プロジェクトタイプのサポート
サーバーは、さまざまなプロジェクト タイプをインテリジェントに処理します。
- 標準プロジェクト: .xcodeproj の直接操作
- ワークスペース: ワークスペース内で複数のプロジェクトを管理します
- SPM プロジェクト: Swift Package Manager 固有の操作を処理します
このアーキテクチャにより、AI アシスタントはセキュリティを維持し、詳細なフィードバックを提供しながら、あらゆるタイプの Xcode プロジェクトでシームレスに動作できるようになります。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークする
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature
) - 変更をコミットします (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュする (
git push origin feature/amazing-feature
) - プルリクエストを開く
開発ガイドライン
- 既存のコードスタイルと構成に従う
- 具体的なエラーメッセージによる包括的なエラー処理を追加する
- 新しい機能のテストを書く
- 変更を反映するようにドキュメントを更新する
- さまざまなプロジェクト タイプ (標準、ワークスペース、SPM) との互換性を確保する
新しいツールの追加
サーバーに新しいツールを追加するには:
src/tools/
ディレクトリ内の適切なカテゴリを特定します- Zodスキーマ検証を使用した既存のパターンを使用してツールを実装する
- ツールをカテゴリの
index.ts
ファイルに登録する - 特定のエラーメッセージでエラー処理を追加する
- 適切なドキュメントファイルにツールを文書化する
トラブルシューティング
よくある問題
- パスアクセスエラー: アクセスしようとしているパスが許可されたディレクトリ内にあることを確認してください
- ビルドの失敗: Xcode コマンドラインツールがインストールされ、最新であることを確認してください
- ツールが見つかりません: ツール名が正しく、適切に登録されていることを確認してください
- パラメータ検証エラー: ツールのドキュメントでパラメータの種類と要件を確認してください
デバッグ
- デバッグログを有効にしてサーバーを起動します:
npm start -- --debug
- 詳細なエラーメッセージについてはコンソール出力を確認してください
- リクエストとレスポンスの詳細をサーバーログで調べる
- ツール固有の問題については、同等のXcodeコマンドをターミナルで直接実行してみてください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
謝辞
- MCP SDK を提供してくれたモデルコンテキストプロトコルチームに感謝します。
- TypeScriptとNode.jsで構築
- Xcode コマンドラインツールと Swift パッケージマネージャーを使用します
- サーバーの機能と堅牢性の向上にご協力いただいたすべての貢献者に感謝いたします。
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Claude AI と Xcode を連携させ、AI を活用したコード支援、プロジェクト管理、開発タスクの自動化をローカル マシン上で安全に実行できるようにします。
Related Resources
Related MCP Servers
- -securityAlicense-qualityProvides code manipulation, execution, and version control capabilities. It allows AI assistants to read, write, and execute code while maintaining a history of changes.Last updated -8PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to build and test Xcode projects directly through a standardized interface, with capabilities for running tests, monitoring progress, and accessing logs in real-time.Last updated -29TypeScript
- -securityAlicense-qualityConnects to Xcode's build system to extract, parse, and display errors and warnings from your Swift projects, helping AI assistants quickly identify code issues without manually searching through build logs.Last updated -1PythonMIT License
- -securityFlicense-qualityA server that bridges Claude AI with the Plane project management platform, enabling AI-powered project management tasks including project creation, task management, team collaboration, and automated workflows.Last updated -TypeScript