Xcode MCP サーバー
Xcode MCPサーバーは、Xcodeプロジェクトのビルドとテストのためのモデルコンテキストプロトコルインターフェースを提供します。これにより、AIアシスタントは標準化されたインターフェースを介してビルドを直接トリガーし、テストを実行し、進捗状況を監視したり、ログにアクセスしたりできるようになります。
特徴
- カスタムスキームと構成でXcodeプロジェクトをビルドする
- きめ細かな制御でユニットテストを実行する(特定のテストを実行するか、テストをスキップする)
- コードカバレッジレポートを生成する
- ビルドとテストのログをリアルタイムでストリーミング
- 詳細なビルドおよびテストレポートにアクセスする
- JSON形式の出力
- 自動ログ永続化
要件
- Node.js 16以上
- Xcode コマンドラインツール
- タイプスクリプト
- MCP 互換クライアント (例: Claude Desktop)
インストール
# Clone the repository
git clone https://github.com/PolarVista/Xcode-mcp-server.git
cd xcode-mcp-server
# Install dependencies
npm install
# Build the server
npm run build
Claude Desktopでの使用
- サーバーを起動します。
npm run start /path/to/build/logs/directory
- Claude Desktop の設定:
"command": "node",
"args": ["/path/to/the/xcode-mcp-server/build/index.js",
"/path/to/your/project/folder"],
"env": {
"PATH": "/usr/bin:/bin:/usr/local/bin:/usr/sbin:/sbin"
}
利用可能なツール
ビルドプロジェクト
指定されたパラメータを使用して Xcode プロジェクトをビルドします。
パラメータ:
projectPath
(必須): .xcodeproj または .xcworkspace へのパスscheme
(必須): ビルドスキーム名configuration
(オプション):ビルド構成(デバッグ/リリース、デフォルトはデバッグ)destination
(オプション): ビルド先 (デフォルトは "platform=iOS Simulator,name=iPhone 15 Pro")
Claude での使用例:
build_project({
projectPath: "/path/to/Project.xcodeproj",
scheme: "MyApp",
configuration: "Debug"
})
実行テスト
オプションのフィルタリングを使用して単体テストを実行します。
パラメータ:
projectPath
(必須): .xcodeproj または .xcworkspace へのパスscheme
(必須): テストスキーム名testIdentifier
(オプション): 実行する特定のテスト (例: 'MyTests/testExample')skipTests
(オプション): スキップするテスト識別子の配列configuration
(オプション):ビルド構成(デバッグ/リリース、デフォルトはデバッグ)destination
(オプション): テストの宛先 (デフォルトは "platform=iOS Simulator,name=iPhone 15 Pro")
Claude での使用例:
run_tests({
projectPath: "/path/to/Project.xcodeproj",
scheme: "MyAppTests",
testIdentifier: "LoginTests/testSuccessfulLogin",
skipTests: ["PerformanceTests/testLargeDataLoad"],
configuration: "Debug"
})
ログ
- すべてのログは
build-logs/
以下の指定されたベースディレクトリに保存されます。 - ビルド操作により以下が作成されます:
- プレーンテキストログ (
build-[timestamp].log
) - JSON形式のログ (
build-[timestamp].log.json
) - Xcodeレポート(
report-[timestamp].txt
)
- テスト操作により以下が作成されます。
- テストログ (
test-[timestamp].log
) - JSON形式のログ (
test-[timestamp].log.json
) - テストレポート (
test-report-[timestamp].txt
) - コードカバレッジレポート (
coverage-[timestamp].txt
)
- 最新のログ(ビルドまたはテスト)は
xcode-build://latest-log
リソースからアクセスできます。