AgentSkillsCN

xcodebuildmcp-cli

XcodeBuildMCP CLI的官方技能。适用于iOS/macOS/watchOS/tvOS/visionOS相关的开发工作——包括构建、测试、运行、调试、日志记录以及UI自动化等环节。

SKILL.md
--- frontmatter
name: xcodebuildmcp-cli
description: Official skill for the XcodeBuildMCP CLI. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).

XcodeBuildMCP CLI

This skill is for AI agents. It positions the XcodeBuildMCP CLI as a low‑overhead alternative to MCP tool calls: agents can already run shell commands, and the CLI exposes the same tool surface without the schema‑exchange cost. Prefer the CLI over raw xcodebuild, xcrun, or simctl.

When To Use This CLI (Capabilities And Workflows)

  • When you need build/test/run/debugging/logging/UI automation capabilities.
  • When you want simulator/device management capabilities.
  • When you want AI optimized tools and tool responses.
  • When you need project discovery capabilities (schemes, bundle IDs, app paths).

Command Discovery

Use --help to discover workflows, tools, and arguments.

bash
xcodebuildmcp --help
xcodebuildmcp tools --help
xcodebuildmcp tools --json
xcodebuildmcp <workflow> --help
xcodebuildmcp <workflow> <tool> --help

Notes:

  • Use --json '{...}' for complex arguments and --output json if you need machine-readable results (not recommended).

Common Workflows

Build And Run On Simulator

  1. List simulators and pick a device name or UDID.
  2. Build and run.

If app and project details are not known:

bash
xcodebuildmcp simulator discover-projs --workspace-root .
xcodebuildmcp simulator list-schemes --project-path ./MyApp.xcodeproj
xcodebuildmcp simulator list-sims

To build, install and launch the app in one command:

bash
xcodebuildmcp simulator build-run-sim --scheme MyApp --project-path ./MyApp.xcodeproj --simulator-name "iPhone 17 Pro"

Build only

When you only need to check that there are no build errors, you can build without running the app.

bash
xcodebuildmcp simulator build-sim --scheme MyApp --project-path ./MyApp.xcodeproj --simulator-name "iPhone 17 Pro"

Run Tests

When you need to run tests, you can do so with the test-sim tool.

bash
xcodebuildmcp simulator test-sim --scheme MyAppTests --project-path ./MyApp.xcodeproj --simulator-name "iPhone 17 Pro"

Install And Launch On Physical Device

bash
xcodebuildmcp device list-devices
xcodebuildmcp device build-device --scheme MyApp --project-path ./MyApp.xcodeproj
xcodebuildmcp device get-device-app-path --scheme MyApp --project-path ./MyApp.xcodeproj
xcodebuildmcp device get-app-bundle-id --app-path /path/to/MyApp.app
xcodebuildmcp device install-app-device --device-id DEVICE_UDID --app-path /path/to/MyApp.app
xcodebuildmcp device launch-app-device --device-id DEVICE_UDID --bundle-id io.sentry.MyApp --app-path /path/to/MyApp.app

Capture Logs On Simulator

bash
xcodebuildmcp logging start-sim-log-cap --simulator-id SIMULATOR_UDID --bundle-id io.sentry.MyApp
xcodebuildmcp logging stop-sim-log-cap --log-session-id LOG_SESSION_ID

Debug A Running App (Simulator)

  1. Launch the app.
  2. Attach the debugger after the app is fully launched.

Launch if not already running:

bash
xcodebuildmcp simulator launch-app-sim --bundle-id io.sentry.MyApp --simulator-id SIMULATOR_UDID

Attach the debugger:

It's generally a good idea to wait for 1-2s for the app to fully launch before attaching the debugger.

bash
xcodebuildmcp debugging debug-attach-sim --bundle-id io.sentry.MyApp --simulator-id SIMULATOR_UDID

To add/remove breakpoints, inspect stack/variables, and issue arbitrary LLDB commands, view debugging help:

bash
xcodebuildmcp debugging --help

Inspect UI And Automate Input

Snapshot UI accessibility tree, tap/swipe/type, and capture screenshots:

bash
xcodebuildmcp ui-automation snapshot-ui --simulator-id SIMULATOR_UDID
xcodebuildmcp ui-automation tap --simulator-id SIMULATOR_UDID --x 200 --y 400
xcodebuildmcp ui-automation type-text --simulator-id SIMULATOR_UDID --text "hello"
xcodebuildmcp ui-automation screenshot --simulator-id SIMULATOR_UDID --return-format path

To see all UI automation tools, view UI automation help:

bash
xcodebuildmcp ui-automation --help

macOS App Build/Run

bash
xcodebuildmcp macos build-macos --scheme MyMacApp --project-path ./MyMacApp.xcodeproj
xcodebuildmcp macos build-run-macos --scheme MyMacApp --project-path ./MyMacApp.xcodeproj

To see all macOS tools, view macOS help:

bash
xcodebuildmcp macos --help

SwiftPM Package Workflows

bash
xcodebuildmcp swift-package list --package-path ./MyPackage
xcodebuildmcp swift-package build --package-path ./MyPackage
xcodebuildmcp swift-package test --package-path ./MyPackage

To see all SwiftPM tools, view SwiftPM help:

bash
xcodebuildmcp swift-package --help

Project Discovery

bash
xcodebuildmcp project-discovery discover-projs --workspace-root .
xcodebuildmcp project-discovery list-schemes --project-path ./MyApp.xcodeproj
xcodebuildmcp project-discovery get-app-bundle-id --app-path ./Build/MyApp.app

To see all project discovery tools, view project discovery help:

bash
xcodebuildmcp project-discovery --help

Scaffolding new projects

It's worth viewing the --help for the scaffolding tools to see the available options. Here are some minimal examples:

bash
xcodebuildmcp project-scaffolding scaffold-ios-project --project-name MyApp --output-path ./Projects
xcodebuildmcp project-scaffolding scaffold-macos-project --project-name MyMacApp --output-path ./Projects

To see all project scaffolding tools, view project scaffolding help:

bash
xcodebuildmcp project-scaffolding --help

Daemon Notes (Stateful Tools)

Stateful tools (logs, debug, video recording, background run) go through a per-workspace daemon that auto-starts, if you find you are getting errors with the stateful tools, you can manage the daemon process manually.

bash
xcodebuildmcp daemon status
xcodebuildmcp daemon restart

To see all daemon commands, view daemon help:

bash
xcodebuildmcp daemon --help