Skip to content

Commit ebc2124

Browse files
committed
Update docs
1 parent b1ef7b3 commit ebc2124

File tree

2 files changed

+56
-34
lines changed

2 files changed

+56
-34
lines changed

CHANGELOG.md

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
# Changelog
22

3-
## [Unreleased]
3+
## [2.0.0] - 2026-02-02
44

5-
### Fixed
6-
- Honor CLI socket overrides when auto-starting the daemon.
7-
- Disable log file output after stream errors to prevent daemon crashes.
8-
- Update MCP examples and debugging docs to use the `mcp` subcommand.
9-
- Stop routing tool commands through `sh` by default to avoid `spawn sh ENOENT` failures.
5+
### Breaking
106

11-
## [2.0.0] - 2026-01-28
7+
#### Workflow selection
128

13-
### Breaking
149
- By default when the `enabledWorkflows` configuration option or `XCODEBUILDMCP_ENABLED_WORKFLOWS` environment variable is not set or empty, XcodeBuildMCP will default to loading only the `simulator` workflow. This is a change in behaviour; previously it would load all workflows and therefore tools by default.
1510

1611
This change reduces the number of tools loaded by default and requires the user to opt in to enable additional sets of tools based on their project or workflow requirements.
@@ -21,25 +16,52 @@ For more information see the [CONFIGURATION.md](docs/CONFIGURATION.md) documenta
2116

2217
- Tool names and descriptions have been made more concise to reduce token consumption. Tool argument names that are self-explanatory have had their descriptions removed entirely.
2318

24-
### Added
25-
- Add Smithery support for packaging/distribution.
19+
#### XcodeBuildMCP is now a first-class CLI
20+
21+
- XcodeBuildMCP now has a first class CLI interface. This allows you or your agent to invoke tools directly from the terminal which can help reduce the upfront context costs of MCP.
22+
23+
- When calling `xcodebuildmcp` without any arguments it will default to CLI mode, this is a **breaking** change, you must update your mcp client's configuration to pass the `mcp` argument:
24+
25+
From:
26+
```json
27+
"XcodeBuildMCP": {
28+
"command": "npx",
29+
"args": [
30+
"-y",
31+
"xcodebuildmcp@latest"
32+
]
33+
}
34+
```
35+
36+
To:
37+
```json
38+
"XcodeBuildMCP": {
39+
"command": "npx",
40+
"args": [
41+
"-y",
42+
"xcodebuildmcp@latest",
43+
"mcp" // <--- add this argument
44+
]
45+
}
46+
```
47+
48+
To lean more about the CLI interface see the [CLI.md](docs/CLI.md) documentation.
49+
50+
### New!
2651
- Add DAP-based debugger backend and simulator debugging toolset (attach, breakpoints, stack, variables, LLDB command).
52+
- XcodeBuildMCP uses a new project config file at `.xcodebuildmcp/config.yaml` for runtime configuration, this is a more flexible and powerful way to configure XcodeBuildMCP than environment variables.
53+
54+
### Added
2755
- Add session-status MCP resource with session identifiers.
2856
- Add UI automation guard that blocks UI tools when the debugger is paused.
2957
- Add `manage-workflows` tool to allow agents to change the workflows enable/disabling tools at runtime. This requires clients to support tools changed notifications. (opt-in only)
3058
- Add XcodeBuildMCP skill to improve MCP client tool use/discovery, this needs to be installed see [README.md](README.md) for more information.
31-
- Added support for `.xcodebuildmcp/config.yaml` files for runtime configuration, this is a more flexible and powerful way to configure XcodeBuildMCP than environment variables.
3259
- Added support for session-aware defaults that are persisted between sessions in the config file.
3360

3461
### Changed
3562
- Migrate to Zod v4.
36-
- Improve session default handling (reconcile mutual exclusivity and ignore explicit undefined clears).
37-
- Auto-include workflow-discovery when workflow selection is configured.
3863
- Remove dynamic tool discovery (`discover_tools`) and `XCODEBUILDMCP_DYNAMIC_TOOLS`. Use `XCODEBUILDMCP_ENABLED_WORKFLOWS` to limit startup tool registration.
3964
- Add MCP tool annotations to all tools.
40-
- Route runtime configuration reads through the config store with layered precedence.
41-
- Treat missing/empty `enabledWorkflows` as "load all workflows".
42-
- Add config.yaml support for DAP/log capture tuning (`dapRequestTimeoutMs`, `dapLogEvents`, `launchJsonWaitMs`).
4365

4466
### Fixed
4567
- Update UI automation guard guidance to point at `debug_continue` when paused.

docs/CLI.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ xcodebuildmcp mcp
2222
xcodebuildmcp tools
2323

2424
# Build for simulator
25-
xcodebuildmcp build-sim --scheme MyApp --project-path ./MyApp.xcodeproj
25+
xcodebuildmcp simulator build-sim --scheme MyApp --project-path ./MyApp.xcodeproj
2626

2727
# List simulators
28-
xcodebuildmcp list-sims
28+
xcodebuildmcp simulator list-sims
2929

3030
# Run tests
31-
xcodebuildmcp test-sim --scheme MyApp --simulator-name "iPhone 16 Pro"
31+
xcodebuildmcp simulator test-sim --scheme MyApp --simulator-name "iPhone 17 Pro"
3232
```
3333

3434
## Per-Workspace Daemon
@@ -110,20 +110,20 @@ Total: 2 (1 running, 1 stale)
110110
Each tool supports `--help` for detailed options:
111111

112112
```bash
113-
xcodebuildmcp build-sim --help
113+
xcodebuildmcp simulator build-sim --help
114114
```
115115

116116
Common patterns:
117117

118118
```bash
119119
# Pass options as flags
120-
xcodebuildmcp build-sim --scheme MyApp --project-path ./MyApp.xcodeproj
120+
xcodebuildmcp simulator build-sim --scheme MyApp --project-path ./MyApp.xcodeproj
121121

122122
# Pass complex options as JSON
123-
xcodebuildmcp build-sim --json '{"scheme": "MyApp", "projectPath": "./MyApp.xcodeproj"}'
123+
xcodebuildmcp simulatorbuild-sim --json '{"scheme": "MyApp", "projectPath": "./MyApp.xcodeproj"}'
124124

125125
# Control output format
126-
xcodebuildmcp list-sims --output json
126+
xcodebuildmcp simulator list-sims --output json
127127
```
128128

129129
## Stateful vs Stateless Tools
@@ -162,7 +162,7 @@ The CLI respects the same configuration as the MCP server:
162162
sessionDefaults:
163163
scheme: MyApp
164164
projectPath: ./MyApp.xcodeproj
165-
simulatorName: iPhone 16 Pro
165+
simulatorName: iPhone 17 Pro
166166

167167
enabledWorkflows:
168168
- simulator
@@ -184,42 +184,42 @@ See [CONFIGURATION.md](CONFIGURATION.md) for the full schema.
184184

185185
```bash
186186
# Discover projects
187-
xcodebuildmcp discover-projs
187+
xcodebuildmcp simulatordiscover-projs
188188
189189
# List schemes
190-
xcodebuildmcp list-schemes --project-path ./MyApp.xcodeproj
190+
xcodebuildmcp simulatordiscover list-schemes --project-path ./MyApp.xcodeproj
191191
192192
# Build
193-
xcodebuildmcp build-sim --scheme MyApp --project-path ./MyApp.xcodeproj
193+
xcodebuildmcp simulator build-sim --scheme MyApp --project-path ./MyApp.xcodeproj
194194
195195
# Boot simulator
196-
xcodebuildmcp boot-sim --simulator-name "iPhone 16 Pro"
196+
xcodebuildmcp simulator boot-sim --simulator-name "iPhone 17 Pro"
197197
198198
# Install and launch
199-
xcodebuildmcp install-app-sim --simulator-id <UDID> --app-path ./build/MyApp.app
200-
xcodebuildmcp launch-app-sim --simulator-id <UDID> --bundle-id com.example.MyApp
199+
xcodebuildmcp simulator install-app-sim --simulator-id <UDID> --app-path ./build/MyApp.app
200+
xcodebuildmcp simulator launch-app-sim --simulator-id <UDID> --bundle-id com.example.MyApp
201201
```
202202

203203
### Log Capture Workflow
204204

205205
```bash
206206
# Start log capture (daemon auto-starts)
207-
xcodebuildmcp start-sim-log-cap --simulator-id <UDID> --bundle-id com.example.MyApp
207+
xcodebuildmcp logging start-sim-log-cap --simulator-id <UDID> --bundle-id com.example.MyApp
208208
209209
# ... use your app ...
210210
211211
# Stop and retrieve logs
212-
xcodebuildmcp stop-sim-log-cap --session-id <SESSION_ID>
212+
xcodebuildmcp logging stop-sim-log-cap --session-id <SESSION_ID>
213213
```
214214

215215
### Testing
216216

217217
```bash
218218
# Run all tests
219-
xcodebuildmcp test-sim --scheme MyAppTests --project-path ./MyApp.xcodeproj
219+
xcodebuildmcp simulator test-sim --scheme MyAppTests --project-path ./MyApp.xcodeproj
220220
221221
# Run with specific simulator
222-
xcodebuildmcp test-sim --scheme MyAppTests --simulator-name "iPhone 16 Pro"
222+
xcodebuildmcp simulator test-sim --scheme MyAppTests --simulator-name "iPhone 17 Pro"
223223
```
224224

225225
## CLI vs MCP Mode

0 commit comments

Comments
 (0)