You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Collect simulator and device defaults based on the workflows a user
selects instead of tying setup questions to the output format. This
keeps yaml and mcp-json setup aligned and lets users skip pinning a
default target when they do not want one.
Reframe the docs so config.yaml remains the canonical config surface
and env vars are described as bootstrap values for constrained MCP
clients.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
### Added
6
6
7
-
- Added environment variable support for all session defaults (e.g., `XCODEBUILDMCP_WORKSPACE_PATH`, `XCODEBUILDMCP_SCHEME`, `XCODEBUILDMCP_PLATFORM`), enabling full configuration via the MCP client `env` field without requiring a config file ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
8
-
- Added `--format mcp-json` flag to `xcodebuildmcp setup` that outputs a ready-to-paste MCP client config JSON block instead of writing `config.yaml` ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
9
-
- Added copy-pastable MCP config examples for macOS, iOS, multi-platform, tvOS, and watchOS projects to [docs/CONFIGURATION.md](docs/CONFIGURATION.md) ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
7
+
- Added environment variable support for flat session default bootstrap values (for example `XCODEBUILDMCP_WORKSPACE_PATH`, `XCODEBUILDMCP_SCHEME`, and `XCODEBUILDMCP_PLATFORM`) so constrained MCP clients can supply startup defaults without changing project config files ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
8
+
- Added `--format mcp-json` flag to `xcodebuildmcp setup` that exports an env-based MCP bootstrap config block instead of writing `config.yaml` ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
9
+
- Added MCP bootstrap config examples to [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for clients that need env-based startup defaults ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
10
10
11
11
### Changed
12
12
13
-
-Environment variables are now documented as the recommended configuration method for MCP client integration, replacing the previous "legacy" designation. See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
13
+
-Clarified configuration layering: `session_set_defaults` overrides `config.yaml`, which overrides env-based bootstrap values. See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) ([#268](https://github.com/getsentry/XcodeBuildMCP/pull/268) by [@detailobsessed](https://github.com/detailobsessed)).
14
14
15
15
## [2.2.1]
16
16
@@ -407,4 +407,3 @@ Please note that the UI automation features are an early preview and currently i
407
407
- Initial release of XcodeBuildMCP
408
408
- Basic support for building iOS and macOS applications
@@ -18,158 +18,6 @@ XcodeBuildMCP reads configuration from environment variables and/or a project co
18
18
19
19
---
20
20
21
-
## Environment variables
22
-
23
-
Environment variables are the recommended configuration method for MCP client integration. Set them in the `env` field of your MCP client config (e.g., `mcp_config.json` for Windsurf, `.vscode/mcp.json` for VS Code, `claude_desktop_config.json` for Claude Desktop).
24
-
25
-
This approach works reliably across all MCP clients regardless of working directory, and avoids the need for filesystem-based config discovery.
> `simulator` provides build/run/test/install tools targeting iOS Simulator. Use `XCODEBUILDMCP_SIMULATOR_NAME` or `XCODEBUILDMCP_SIMULATOR_ID` to pin the target device.
> Include both `simulator` and `macos` when the project supports multiple platforms. Omit `XCODEBUILDMCP_PLATFORM` to let the agent choose per-command.
> Replace `tvOS Simulator` with `watchOS Simulator` for watchOS. Coverage and UI automation are not available on these platforms.
162
-
163
-
---
164
-
165
-
You can also generate a config block interactively:
166
-
167
-
```bash
168
-
xcodebuildmcp setup --format mcp-json
169
-
```
170
-
171
-
---
172
-
173
21
## Config file
174
22
175
23
The config file provides repo-scoped, version-controllable configuration. Create it at your workspace root:
@@ -500,12 +348,92 @@ When multiple configuration sources are present, they are merged with clear prec
500
348
501
349
This follows the same pattern as tools like `git config` (`--flag` > `--local` > `--global`). Each layer serves a different context:
502
350
503
-
- **Env vars** are the portable MCP client integration path — they work regardless of working directory and are supported by every MCP client.
504
-
- **Config file** is for repo-scoped, version-controlled settings and interactive CLI usage.
351
+
- **Config file** is the canonical home for structured, repo-scoped, version-controlled settings.
352
+
- **Env vars** are best used to bootstrap flat startup defaults for MCP clients with limited workspace support.
505
353
- **Tool calls** are for agent-driven runtime adjustments.
506
354
507
355
---
508
356
357
+
## Environment variables
358
+
359
+
Environment variables are supported for MCP client integration when a client cannot reliably provide workspace context to the server. Set them in the `env` field of your MCP client config (for example `mcp_config.json` for Windsurf, `.vscode/mcp.json` for VS Code, or `claude_desktop_config.json` for Claude Desktop).
360
+
361
+
Use env vars for flat bootstrap values such as startup workflow selection, project path, scheme, simulator selector, or other scalar defaults. Keep structured project-owned configuration in `config.yaml`.
0 commit comments