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
-[Code Signing for Device Deployment](#code-signing-for-device-deployment)
37
37
-[Troubleshooting](#troubleshooting)
38
38
-[Doctor Tool](#doctor-tool)
@@ -291,6 +291,24 @@ For clients that don't support MCP Sampling but still want to reduce context win
291
291
> [!NOTE]
292
292
> The `XCODEBUILDMCP_ENABLED_WORKFLOWS` setting only works in Static Mode. If `XCODEBUILDMCP_DYNAMIC_TOOLS=true` is set, the selective workflow setting will be ignored.
293
293
294
+
## Session-aware opt-out
295
+
296
+
By default, XcodeBuildMCP uses a session-aware mode: the LLM (or client) sets shared defaults once (simulator, device, project/workspace, scheme, etc.), and all tools reuse them—similar to choosing a scheme and simulator in Xcode’s UI so you don’t repeat them on every action. This cuts context bloat not just in each call payload, but also in the tool schemas themselves (those parameters don’t have to be described on every tool).
297
+
298
+
If you prefer the older, explicit style where each tool requires its own parameters, set `XCODEBUILDMCP_DISABLE_SESSION_DEFAULTS=true`. This restores the legacy schemas with per-call parameters while still honoring any session defaults you choose to set.
299
+
300
+
Example MCP client configuration:
301
+
```json
302
+
"XcodeBuildMCP": {
303
+
...
304
+
"env": {
305
+
"XCODEBUILDMCP_DISABLE_SESSION_DEFAULTS": "true"
306
+
}
307
+
}
308
+
```
309
+
310
+
Leave this unset for the streamlined session-aware experience; enable it to force explicit parameters on each tool call.
311
+
294
312
## Code Signing for Device Deployment
295
313
296
314
For device deployment features to work, code signing must be properly configured in Xcode **before** using XcodeBuildMCP device tools:
0 commit comments