Skip to content

Commit 118431f

Browse files
committed
Update TOOLS.md
1 parent 720b440 commit 118431f

File tree

1 file changed

+33
-27
lines changed

1 file changed

+33
-27
lines changed

docs/TOOLS.md

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# XcodeBuildMCP Tools Reference
22

3-
XcodeBuildMCP provides 61 tools organized into 12 workflow groups for comprehensive Apple development workflows.
3+
XcodeBuildMCP provides 64 tools organized into 13 workflow groups for comprehensive Apple development workflows.
44

55
## Workflow Groups
66

@@ -11,52 +11,52 @@ XcodeBuildMCP provides 61 tools organized into 12 workflow groups for comprehens
1111
### iOS Device Development (`device`)
1212
**Purpose**: Complete iOS development workflow for both .xcodeproj and .xcworkspace files targeting physical devices (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Build, test, deploy, and debug apps on real hardware. (7 tools)
1313

14-
- `build_device` - Builds an app from a project or workspace for a physical Apple device. Provide exactly one of projectPath or workspacePath. Example: build_device({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })
15-
- `get_device_app_path` - Gets the app bundle path for a physical device application (iOS, watchOS, tvOS, visionOS) using either a project or workspace. Provide exactly one of projectPath or workspacePath. Example: get_device_app_path({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme' })
16-
- `install_app_device` - Installs an app on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and appPath.
17-
- `launch_app_device` - Launches an app on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and bundleId.
14+
- `build_device` - Builds an app for a connected device.
15+
- `get_device_app_path` - Retrieves the built app path for a connected device.
16+
- `install_app_device` - Installs an app on a connected device.
17+
- `launch_app_device` - Launches an app on a connected device.
1818
- `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.
19-
- `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.
20-
- `test_device` - Runs tests for an Apple project or workspace on a physical device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) using xcodebuild test and parses xcresult output. Provide exactly one of projectPath or workspacePath.
19+
- `stop_app_device` - Stops a running app on a connected device.
20+
- `test_device` - Runs tests on a physical Apple device.
2121
### iOS Simulator Development (`simulator`)
2222
**Purpose**: Complete iOS development workflow for both .xcodeproj and .xcworkspace files targeting simulators. Build, test, deploy, and interact with iOS apps on simulators. (12 tools)
2323

24-
- `boot_sim` - Boots an iOS simulator. After booting, use open_sim() to make the simulator visible.
25-
- `build_run_sim` - Builds and runs an app from a project or workspace on a specific simulator by UUID or name. Provide exactly one of projectPath or workspacePath, and exactly one of simulatorId or simulatorName.
26-
- `build_sim` - Builds an app from a project or workspace for a specific simulator by UUID or name. Provide exactly one of projectPath or workspacePath, and exactly one of simulatorId or simulatorName.
27-
- `get_sim_app_path` - Gets the app bundle path for a simulator by UUID or name using either a project or workspace file.
24+
- `boot_sim` - Boots an iOS simulator.
25+
- `build_run_sim` - Builds and runs an app on an iOS simulator.
26+
- `build_sim` - Builds an app for an iOS simulator.
27+
- `get_sim_app_path` - Retrieves the built app path for an iOS simulator.
2828
- `install_app_sim` - Installs an app in an iOS simulator.
2929
- `launch_app_logs_sim` - Launches an app in an iOS simulator and captures its logs.
30-
- `launch_app_sim` - Launches an app in an iOS simulator by UUID or name. If simulator window isn't visible, use open_sim() first. or launch_app_sim({ simulatorName: 'iPhone 16', bundleId: 'com.example.MyApp' })
30+
- `launch_app_sim` - Launches an app in an iOS simulator.
3131
- `list_sims` - Lists available iOS simulators with their UUIDs.
3232
- `open_sim` - Opens the iOS Simulator app.
33-
- `record_sim_video` - Starts or stops video capture for an iOS simulator using AXe. Provide exactly one of start=true or stop=true. On stop, outputFile is required. fps defaults to 30.
34-
- `stop_app_sim` - Stops an app running in an iOS simulator by UUID or name. or stop_app_sim({ simulatorName: "iPhone 16", bundleId: "com.example.MyApp" })
35-
- `test_sim` - Runs tests on a simulator by UUID or name using xcodebuild test and parses xcresult output. Works with both Xcode projects (.xcodeproj) and workspaces (.xcworkspace).
33+
- `record_sim_video` - Starts or stops video capture for an iOS simulator.
34+
- `stop_app_sim` - Stops an app running in an iOS simulator.
35+
- `test_sim` - Runs tests on an iOS simulator.
3636
### Log Capture & Management (`logging`)
3737
**Purpose**: Log capture and management tools for iOS simulators and physical devices. Start, stop, and analyze application and system logs during development and testing. (4 tools)
3838

39-
- `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.
39+
- `start_device_log_cap` - Starts log capture on a connected device.
4040
- `start_sim_log_cap` - Starts capturing logs from a specified simulator. Returns a session ID. By default, captures only structured logs.
4141
- `stop_device_log_cap` - Stops an active Apple device log capture session and returns the captured logs.
4242
- `stop_sim_log_cap` - Stops an active simulator log capture session and returns the captured logs.
4343
### macOS Development (`macos`)
4444
**Purpose**: Complete macOS development workflow for both .xcodeproj and .xcworkspace files. Build, test, deploy, and manage macOS applications. (6 tools)
4545

46-
- `build_macos` - Builds a macOS app using xcodebuild from a project or workspace. Provide exactly one of projectPath or workspacePath. Example: build_macos({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })
47-
- `build_run_macos` - Builds and runs a macOS app from a project or workspace in one step. Provide exactly one of projectPath or workspacePath. Example: build_run_macos({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })
48-
- `get_mac_app_path` - Gets the app bundle path for a macOS application using either a project or workspace. Provide exactly one of projectPath or workspacePath. Example: get_mac_app_path({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme' })
46+
- `build_macos` - Builds a macOS app.
47+
- `build_run_macos` - Builds and runs a macOS app.
48+
- `get_mac_app_path` - Retrieves the built macOS app bundle path.
4949
- `launch_mac_app` - Launches a macOS application. Note: In some environments, this tool may be prefixed as mcp0_launch_macos_app.
5050
- `stop_mac_app` - Stops a running macOS application. Can stop by app name or process ID.
51-
- `test_macos` - Runs tests for a macOS project or workspace using xcodebuild test and parses xcresult output. Provide exactly one of projectPath or workspacePath.
51+
- `test_macos` - Runs tests for a macOS target.
5252
### Project Discovery (`project-discovery`)
5353
**Purpose**: Discover and examine Xcode projects, workspaces, and Swift packages. Analyze project structure, schemes, build settings, and bundle information. (5 tools)
5454

5555
- `discover_projs` - Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files.
5656
- `get_app_bundle_id` - Extracts the bundle identifier from an app bundle (.app) for any Apple platform (iOS, iPadOS, watchOS, tvOS, visionOS).
5757
- `get_mac_bundle_id` - Extracts the bundle identifier from a macOS app bundle (.app). Note: In some environments, this tool may be prefixed as mcp0_get_macos_bundle_id.
58-
- `list_schemes` - Lists available schemes for either a project or a workspace. Provide exactly one of projectPath or workspacePath. Example: list_schemes({ projectPath: '/path/to/MyProject.xcodeproj' })
59-
- `show_build_settings` - Shows build settings from either a project or workspace using xcodebuild. Provide exactly one of projectPath or workspacePath, plus scheme. Example: show_build_settings({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' })
58+
- `list_schemes` - Lists schemes for a project or workspace.
59+
- `show_build_settings` - Shows xcodebuild build settings.
6060
### Project Scaffolding (`project-scaffolding`)
6161
**Purpose**: Tools for creating new iOS and macOS projects from templates. Bootstrap new applications with best practices, standard configurations, and modern project structures. (2 tools)
6262

@@ -65,11 +65,17 @@ XcodeBuildMCP provides 61 tools organized into 12 workflow groups for comprehens
6565
### Project Utilities (`utilities`)
6666
**Purpose**: Essential project maintenance utilities for cleaning and managing existing projects. Provides clean operations for both .xcodeproj and .xcworkspace files. (1 tools)
6767

68-
- `clean` - Cleans build products for either a project or a workspace using xcodebuild. Provide exactly one of projectPath or workspacePath. Platform defaults to iOS if not specified. Example: clean({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme', platform: 'iOS' })
68+
- `clean` - Cleans build products with xcodebuild.
69+
### session-management (`session-management`)
70+
**Purpose**: Manage session defaults for projectPath/workspacePath, scheme, configuration, simulatorName/simulatorId, deviceId, useLatestOS and arch. These defaults are required by many tools and must be set before attempting to call tools that would depend on these values. (3 tools)
71+
72+
- `session_clear_defaults` - Clear selected or all session defaults.
73+
- `session_set_defaults` - Set the session defaults needed by many tools. Most tools require one or more session defaults to be set before they can be used. Agents should set the relevant defaults at the beginning of a session.
74+
- `session_show_defaults` - Show current session defaults.
6975
### Simulator Management (`simulator-management`)
7076
**Purpose**: Tools for managing simulators from booting, opening simulators, listing simulators, stopping simulators, erasing simulator content and settings, and setting simulator environment options like location, network, statusbar and appearance. (5 tools)
7177

72-
- `erase_sims` - Erases simulator content and settings for a specific simulator. Requires simulatorUdid. Optional: shutdownFirst to shut down before erasing.
78+
- `erase_sims` - Erases a simulator by UDID.
7379
- `reset_sim_location` - Resets the simulator's location to default.
7480
- `set_sim_appearance` - Sets the appearance mode (dark/light) of an iOS simulator.
7581
- `set_sim_location` - Sets a custom GPS location for the simulator.
@@ -104,9 +110,9 @@ XcodeBuildMCP provides 61 tools organized into 12 workflow groups for comprehens
104110

105111
## Summary Statistics
106112

107-
- **Total Tools**: 61 canonical tools + 22 re-exports = 83 total
108-
- **Workflow Groups**: 12
113+
- **Total Tools**: 64 canonical tools + 22 re-exports = 86 total
114+
- **Workflow Groups**: 13
109115

110116
---
111117

112-
*This documentation is automatically generated by `scripts/update-tools-docs.ts` using static analysis. Last updated: 2025-09-22*
118+
*This documentation is automatically generated by `scripts/update-tools-docs.ts` using static analysis. Last updated: 2025-11-20*

0 commit comments

Comments
 (0)