XcodeBuild MCP

Enables building, running, and debugging iOS and macOS applications through Xcode with tools for project discovery, simulator management, app deployment, and UI automation testing.

Skills

Explore the skills and capabilities of this skillset.

build_dev_proj

Builds an app from a project file for a physical Apple device. IMPORTANT: Requires projectPath and scheme. Example: build_dev_proj({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })

clean_proj

Cleans build products and intermediate files from a project. IMPORTANT: Requires projectPath. Example: clean_proj({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })

discover_projs

Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files.

get_app_bundle_id

Extracts the bundle identifier from an app bundle (.app) for any Apple platform (iOS, iPadOS, watchOS, tvOS, visionOS). IMPORTANT: You MUST provide the appPath parameter. Example: get_app_bundle_id({ appPath: '/path/to/your/app.app' })

get_device_app_path_proj

Gets the app bundle path for a physical device application (iOS, watchOS, tvOS, visionOS) using a project file. IMPORTANT: Requires projectPath and scheme. Example: get_device_app_path_proj({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme' })

install_app_device

Installs an app on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and appPath.

launch_app_device

Launches an app on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and bundleId.

list_devices

Lists connected physical Apple devices (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) with their UUIDs, names, and connection status. Use this to discover physical devices for testing.

list_schems_proj

Lists available schemes in the project file. IMPORTANT: Requires projectPath. Example: list_schems_proj({ projectPath: '/path/to/MyProject.xcodeproj' })

show_build_set_proj

Shows build settings from a project file using xcodebuild. IMPORTANT: Requires projectPath and scheme. Example: show_build_set_proj({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })

start_device_log_cap

Starts capturing logs from a specified Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) by launching the app with console output. Returns a session ID.

stop_app_device

Stops an app running on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and processId.

stop_device_log_cap

Stops an active Apple device log capture session and returns the captured logs.

test_device_proj

Runs tests for an Apple project on a physical device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) using xcodebuild test and parses xcresult output. IMPORTANT: Requires projectPath, scheme, and deviceId.

build_dev_ws

Builds an app from a workspace for a physical Apple device. IMPORTANT: Requires workspacePath and scheme. Example: build_dev_ws({ workspacePath: '/path/to/MyProject.xcworkspace', scheme: 'MyScheme' })

clean_ws

Cleans build products for a specific workspace using xcodebuild. IMPORTANT: Requires workspacePath. Scheme/Configuration are optional. Example: clean_ws({ workspacePath: '/path/to/MyProject.xcworkspace', scheme: 'MyScheme' })

get_device_app_path_ws

Gets the app bundle path for a physical device application (iOS, watchOS, tvOS, visionOS) using a workspace. IMPORTANT: Requires workspacePath and scheme. Example: get_device_app_path_ws({ workspacePath: '/path/to/workspace', scheme: 'MyScheme' })

list_schems_ws

Lists available schemes in the workspace. IMPORTANT: Requires workspacePath. Example: list_schems_ws({ workspacePath: '/path/to/MyProject.xcworkspace' })

show_build_set_ws

Shows build settings from a workspace using xcodebuild. IMPORTANT: Requires workspacePath and scheme. Example: show_build_set_ws({ workspacePath: '/path/to/MyProject.xcworkspace', scheme: 'MyScheme' })

test_device_ws

Runs tests for an Apple workspace on a physical device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) using xcodebuild test and parses xcresult output. IMPORTANT: Requires workspacePath, scheme, and deviceId.

diagnostic

Provides comprehensive information about the MCP server environment, available dependencies, and configuration status.

discover_tools

Analyzes a natural language task description and enables the most relevant development workflow. Prioritizes project/workspace workflows (simulator/device/macOS) and also supports task-based workflows (simulator-management, logging, diagnostics) and Swift packages.

start_sim_log_cap

Starts capturing logs from a specified simulator. Returns a session ID. By default, captures only structured logs.

stop_sim_log_cap

Stops an active simulator log capture session and returns the captured logs.

build_mac_proj

Builds a macOS app using xcodebuild from a project file.

build_run_mac_proj

Builds and runs a macOS app from a project file in one step.

get_mac_app_path_proj

Gets the app bundle path for a macOS application using a project file. IMPORTANT: Requires projectPath and scheme. Example: get_mac_app_path_proj({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme' })

get_mac_bundle_id

Extracts the bundle identifier from a macOS app bundle (.app). IMPORTANT: You MUST provide the appPath parameter. Example: get_mac_bundle_id({ appPath: '/path/to/your/app.app' }) Note: In some environments, this tool may be prefixed as mcp0_get_macos_bundle_id.

launch_mac_app

Launches a macOS application. IMPORTANT: You MUST provide the appPath parameter. Example: launch_mac_app({ appPath: '/path/to/your/app.app' }) Note: In some environments, this tool may be prefixed as mcp0_launch_macos_app.

stop_mac_app

Stops a running macOS application. Can stop by app name or process ID.

test_macos_proj

Runs tests for a macOS project using xcodebuild test and parses xcresult output.

build_mac_ws

Builds a macOS app using xcodebuild from a workspace.

build_run_mac_ws

Builds and runs a macOS app from a workspace in one step.

get_mac_app_path_ws

Gets the app bundle path for a macOS application using a workspace. IMPORTANT: Requires workspacePath and scheme. Example: get_mac_app_path_ws({ workspacePath: '/path/to/workspace', scheme: 'MyScheme' })

test_macos_ws

Runs tests for a macOS workspace using xcodebuild test and parses xcresult output.

scaffold_ios_project

Scaffold a new iOS project from templates. Creates a modern Xcode project with workspace structure, SPM package for features, and proper iOS configuration.

scaffold_macos_project

Scaffold a new macOS project from templates. Creates a modern Xcode project with workspace structure, SPM package for features, and proper macOS configuration.

boot_sim

Boots an iOS simulator. IMPORTANT: You MUST provide the simulatorUuid parameter. Example: boot_sim({ simulatorUuid: 'YOUR_UUID_HERE' })

list_sims

Lists available iOS simulators with their UUIDs.

open_sim

Opens the iOS Simulator app.

reset_simulator_location

Resets the simulator's location to default.

set_sim_appearance

Sets the appearance mode (dark/light) of an iOS simulator.

set_simulator_location

Sets a custom GPS location for the simulator.

sim_statusbar

Sets the data network indicator in the iOS simulator status bar. Use "clear" to reset all overrides, or specify a network type (hide, wifi, 3g, 4g, lte, lte-a, lte+, 5g, 5g+, 5g-uwb, 5g-uc).

build_run_sim_id_proj

Builds and runs an app from a project file on a simulator specified by UUID. IMPORTANT: Requires projectPath, scheme, and simulatorId. Example: build_run_sim_id_proj({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme', simulatorId: 'SIMULATOR_UUID' })

build_run_sim_name_proj

Builds and runs an app from a project file on a simulator specified by name. IMPORTANT: Requires projectPath, scheme, and simulatorName. Example: build_run_sim_name_proj({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme', simulatorName: 'iPhone 16' })

build_sim_id_proj

Builds an app from a project file for a specific simulator by UUID. IMPORTANT: Requires projectPath, scheme, and simulatorId. Example: build_sim_id_proj({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme', simulatorId: 'SIMULATOR_UUID' })

build_sim_name_proj

Builds an app from a project file for a specific simulator by name. IMPORTANT: Requires projectPath, scheme, and simulatorName. Example: build_sim_name_proj({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme', simulatorName: 'iPhone 16' })

describe_ui

Gets entire view hierarchy with precise frame coordinates (x, y, width, height) for all visible elements. Use this before UI interactions or after layout changes - do NOT guess coordinates from screenshots. Returns JSON tree with frame data for accurate automation.

get_sim_app_path_id_proj

Gets the app bundle path for a simulator by UUID using a project file. IMPORTANT: Requires projectPath, scheme, platform, and simulatorId. Example: get_sim_app_path_id_proj({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme', platform: 'iOS Simulator', simulatorId: 'SIMULATOR_UUID' })

get_sim_app_path_name_proj

Gets the app bundle path for a simulator by name using a project file. IMPORTANT: Requires projectPath, scheme, platform, and simulatorName. Example: get_sim_app_path_name_proj({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme', platform: 'iOS Simulator', simulatorName: 'iPhone 16' })

install_app_sim

Installs an app in an iOS simulator. IMPORTANT: You MUST provide both the simulatorUuid and appPath parameters. Example: install_app_sim({ simulatorUuid: 'YOUR_UUID_HERE', appPath: '/path/to/your/app.app' })

launch_app_logs_sim

Launches an app in an iOS simulator and captures its logs.

launch_app_sim

Launches an app in an iOS simulator. IMPORTANT: You MUST provide both the simulatorUuid and bundleId parameters. Note: You must install the app in the simulator before launching. The typical workflow is: build → install → launch. Example: launch_app_sim({ simulatorUuid: 'YOUR_UUID_HERE', bundleId: 'com.example.MyApp' })

screenshot

Captures screenshot for visual verification. For UI coordinates, use describe_ui instead (don't determine coordinates from screenshots).

stop_app_sim

Stops an app running in an iOS simulator. Requires simulatorUuid and bundleId.

test_sim_id_proj

Runs tests for a project on a simulator by UUID using xcodebuild test and parses xcresult output.

test_sim_name_proj

Runs tests for a project on a simulator by name using xcodebuild test and parses xcresult output.

build_run_sim_id_ws

Builds and runs an app from a workspace on a simulator specified by UUID. IMPORTANT: Requires workspacePath, scheme, and simulatorId. Example: build_run_sim_id_ws({ workspacePath: '/path/to/workspace', scheme: 'MyScheme', simulatorId: 'SIMULATOR_UUID' })

build_run_sim_name_ws

Builds and runs an app from a workspace on a simulator specified by name. IMPORTANT: Requires workspacePath, scheme, and simulatorName. Example: build_run_sim_name_ws({ workspacePath: '/path/to/workspace', scheme: 'MyScheme', simulatorName: 'iPhone 16' })

build_sim_id_ws

Builds an app from a workspace for a specific simulator by UUID. IMPORTANT: Requires workspacePath, scheme, and simulatorId. Example: build_sim_id_ws({ workspacePath: '/path/to/MyProject.xcworkspace', scheme: 'MyScheme', simulatorId: 'SIMULATOR_UUID' })

build_sim_name_ws

Builds an app from a workspace for a specific simulator by name. IMPORTANT: Requires workspacePath, scheme, and simulatorName. Example: build_sim_name_ws({ workspacePath: '/path/to/MyProject.xcworkspace', scheme: 'MyScheme', simulatorName: 'iPhone 16' })

get_sim_app_path_id_ws

Gets the app bundle path for a simulator by UUID using a workspace. IMPORTANT: Requires workspacePath, scheme, platform, and simulatorId. Example: get_sim_app_path_id_ws({ workspacePath: '/path/to/workspace', scheme: 'MyScheme', platform: 'iOS Simulator', simulatorId: 'SIMULATOR_UUID' })

get_sim_app_path_name_ws

Gets the app bundle path for a simulator by name using a workspace. IMPORTANT: Requires workspacePath, scheme, platform, and simulatorName. Example: get_sim_app_path_name_ws({ workspacePath: '/path/to/workspace', scheme: 'MyScheme', platform: 'iOS Simulator', simulatorName: 'iPhone 16' })

launch_app_sim_name_ws

Launches an app in an iOS simulator by simulator name. IMPORTANT: You MUST provide both the simulatorName and bundleId parameters. Note: You must install the app in the simulator before launching. The typical workflow is: build → install → launch. Example: launch_app_sim_name_ws({ simulatorName: 'iPhone 16', bundleId: 'com.example.MyApp' })

stop_app_sim_name_ws

Stops an app running in an iOS simulator by simulator name. IMPORTANT: You MUST provide both the simulatorName and bundleId parameters.

test_sim_id_ws

Runs tests for a workspace on a simulator by UUID using xcodebuild test and parses xcresult output.

test_sim_name_ws

Runs tests for a workspace on a simulator by name using xcodebuild test and parses xcresult output.

swift_package_build

Builds a Swift Package with swift build

swift_package_clean

Cleans Swift Package build artifacts and derived data

swift_package_list

Lists currently running Swift Package processes

swift_package_run

Runs an executable target from a Swift Package with swift run

swift_package_stop

Stops a running Swift Package executable started with swift_package_run

swift_package_test

Runs tests for a Swift Package with swift test

button

Press hardware button on iOS simulator. Supported buttons: apple-pay, home, lock, side-button, siri

gesture

Perform gesture on iOS simulator using preset gestures: scroll-up, scroll-down, scroll-left, scroll-right, swipe-from-left-edge, swipe-from-right-edge, swipe-from-top-edge, swipe-from-bottom-edge

key_press

Press a single key by keycode on the simulator. Common keycodes: 40=Return, 42=Backspace, 43=Tab, 44=Space, 58-67=F1-F10.

key_sequence

Press key sequence using HID keycodes on iOS simulator with configurable delay

long_press

Long press at specific coordinates for given duration (ms). Use describe_ui for precise coordinates (don't guess from screenshots).

swipe

Swipe from one point to another. Use describe_ui for precise coordinates (don't guess from screenshots). Supports configurable timing.

tap

Tap at specific coordinates. Use describe_ui to get precise element coordinates (don't guess from screenshots). Supports optional timing delays.

touch

Perform touch down/up events at specific coordinates. Use describe_ui for precise coordinates (don't guess from screenshots).

type_text

Type text (supports US keyboard characters). Use describe_ui to find text field, tap to focus, then type.

Configuration

Customize the skillset to fit your needs.
MCP Server

Connect to MCP Server

XcodeBuild MCP

品牌设计师
一款專為初創數字產品設計的品牌營銷 AI 助手,幫助您快速生成適合 Product Hunt、AppSumo 等平台的在線推廣材料,涵蓋視覺創意、推廣標語、品牌語調和賣點傳達
AI 網頁工程師
AI Programmer 是一個 AI 頁面,可以將您的原始發布說明轉換為時尚、可發布的 HTML 頁面。
辦公文檔助手
一個專為公司內部營運設計的 AI 虛擬行政助理。幫助您快速創建高品質的內部文檔,如公告、會議記錄、摘要、表格、流程和人力資源記錄。
Email 营销助手
自動尋找潛在客戶並發送為期3天的跟進郵件序列。
社區活動分析員
分析社區活動截圖,報告參與趨勢和討論亮點。上傳社區互動的截圖,該 Agent 會生成一份清晰的markdown報告,總結參與水平、關鍵討論主題和顯著亮點 — 非常適合社區經理、行銷人員和產品團隊。
Github issues 助手
Github Issues 助手是一個 AI 智能體,用於簡化 GitHub issues的管理。它可以直接在存儲庫中簡化創建、跟踪和優先處理錯誤、任務或功能請求的過程。非常適合團隊使用,確保一致的格式,自動化重複步驟,並與開發管道集成。
X/Twitter 助手
一個 AI 驅動的 Twitter 助手,幫助內容創作者將 AI 產品體驗轉化為病毒式推文 - 具有自動潤色、智能研究和一鍵發布功能。
客服文檔助手
AI 助手協助客服團隊創建高質量的支援文檔,包括常見問題、工單回覆、道歉信和標準作業程序。引導您創建內部資源和面向客戶的材料。
Google 分析師
逐步指南,教您如何將 Google Analytics 4 (GA4) 屬性連接到 Google 分析師代理。涵蓋創建 Google Cloud 服務帳戶、啟用 Analytics Data API、授予 GA4 查看者訪問權限,以及配置代理以支持會話、用戶、跳出率、轉換等指標。非常適合快速在 Bika.ai 中設置 GA4 數據報告。

Frequently Asked Questions

一句話快速介紹:什麼是Bika.ai?
是什麽让 Bika.ai 如此独特?
"BIKA" 這個縮寫單詞代表什麼意思?
Bika.ai是怎麼做到AI自動化做事的?
Bika.ai是免費使用的嗎?
Bika.ai與ChatGPT、Gemini等AI助手有什麼區別?
Bika.ai與多維表格有什麼區別?
Bika.ai 在單表數據量、關聯引用變多後,如幾萬行、幾十萬行,會卡住嗎?
Bika.ai中的"空間站"是什麼?
付款後我擁有多少個付費空間?
什麼是"資源"?
Bika.ai 的團隊是如何「吃自己的狗糧」的?
Bika.ai如何幫助提高工作效率?
Bika.ai 的AI自動化功能有哪些特點?
Bika.ai 中的自動化模板是什麼?
Bika.ai 是否支持團隊協作及權限功能?

Embark on Your AI Automation