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.

tap

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

swipe

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

touch

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

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

boot_sim

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

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' })

open_sim

Opens the iOS Simulator app.

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.

list_sims

Lists available iOS simulators with their UUIDs.

type_text

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

clean_proj

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

diagnostic

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

long_press

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

screenshot

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

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.

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' })

build_mac_ws

Builds a macOS app using xcodebuild from a workspace.

key_sequence

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

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.

stop_app_sim

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

stop_mac_app

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

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).

test_macos_ws

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

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' })

build_mac_proj

Builds a macOS app using xcodebuild from a project file.

discover_projs

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

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.

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' })

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.

list_schems_ws

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

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.

test_sim_id_ws

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

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' })

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' })

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.

test_macos_proj

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

build_run_mac_ws

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

list_schems_proj

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

stop_sim_log_cap

Stops an active simulator 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.

test_sim_id_proj

Runs tests for a project 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.

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_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_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_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_app_device

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

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' })

start_sim_log_cap

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

swift_package_run

Runs an executable target from a Swift Package with swift run

build_run_mac_proj

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

install_app_device

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

set_sim_appearance

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

swift_package_list

Lists currently running Swift Package processes

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

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_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' })

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' })

launch_app_logs_sim

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

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' })

stop_device_log_cap

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

swift_package_build

Builds a Swift Package with swift build

swift_package_clean

Cleans Swift Package build artifacts and derived data

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.

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_sim_name_ws

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

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_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' })

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_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' })

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' })

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' })

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.

set_simulator_location

Sets a custom GPS location for the simulator.

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' })

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' })

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_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' })

reset_simulator_location

Resets the simulator's location to default.

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' })

Configuration

Customize the skillset to fit your needs.
MCP Server

Connect to MCP Server

XcodeBuild MCP

Google 分析师
逐步指南,教您如何将 Google Analytics 4 (GA4) 属性连接到 Google 分析师代理。涵盖创建 Google Cloud 服务账户、启用 Analytics Data API、授予 GA4 查看者访问权限,以及配置代理以支持会话、用户、跳出率、转换等指标。非常适合快速在 Bika.ai 中设置 GA4 数据报告。
客服文档助手
AI 助手协助客服团队创建高质量的支持文档,包括常见问题、工单回复、道歉信和标准操作程序。引导您创建内部资源和面向客户的材料。
办公文档助手
一个专为公司内部运营设计的 AI 虚拟行政助理。帮助您快速创建高质量的内部文档,如公告、会议记录、摘要、表格、流程和人力资源记录。
股票新闻报告员
这个 AI 智能体实时监控和分析美国主要股票新闻,生成结构化的投资报告,提供关键见解、市场反应和行业级别的总结。
需求文档撰写助手
告诉我您的产品或功能想法 - 我将帮助您创建全面且详细的需求文档,涵盖用户故事、验收标准、技术规范等内容。
AI 网页工程师
AI Programmer 是一个 AI 页面,可以将您的原始发布说明转换为时尚、可发布的 HTML 页面。
Email 营销助手
自动寻找潜在客户并发送为期3天的跟进邮件序列。
Discourse 社区管理员
Discourse 社区管理员助手帮助您快速生成清晰、友好且结构良好的用户回复,使社区管理变得更轻松和专业。
X/Twitter 助手
一个 AI 驱动的 Twitter 助手,帮助内容创作者将 AI 产品体验转化为病毒式推文 - 具有自动润色、智能研究和一键发布功能。

Frequently Asked Questions

Bika.ai是免费使用的吗?
是什么让 Bika.ai 如此独特?
一句话快速介绍:什么是Bika.ai?
"BIKA" 这个缩写单词代表什么意思?
Bika.ai是怎么做到AI自动化做事的?
Bika.ai与Kimi、ChatGPT等AI助手有什么区别?
Bika.ai与多维表格有什么区别?
Bika.ai在单表数据量、关联引用变多后,如几万行、几十万行,会卡吗?
Bika.ai中的"空间站"是什么?
付款后我拥有多少个付费空间?
什么是"资源"?
Bika.ai的团队是怎样”吃自己的狗粮“(应用自己的产品)的?
Bika.ai如何帮助提高工作效率?
Bika.ai 的AI自动化功能有哪些特点?
Bika.ai 中的自动化模板是什么?
Bika.ai 是否支持团队协作及权限功能?
Bika.ai是否只适合个人使用?企业团队会不适合?

Embark on Your AI Automation

XcodeBuild MCP | Bika.ai