Skip to content

Commit 3804673

Browse files
committed
Update README
1 parent 8f452b6 commit 3804673

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte
1818
- [MCP Resources](#mcp-resources)
1919
- [Getting started](#getting-started)
2020
- [Prerequisites](#prerequisites)
21-
- [Configure your MCP client](#configure-your-mcp-client)
2221
- [One click install](#one-click-install)
2322
- [General installation](#general-installation)
2423
- [Specific client installation instructions](#specific-client-installation-instructions)
@@ -33,6 +32,7 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte
3332
- [Usage Example](#usage-example)
3433
- [Client Compatibility](#client-compatibility)
3534
- [Selective Workflow Loading (Static Mode)](#selective-workflow-loading-static-mode)
35+
- [Session-aware opt-out](#session-aware-opt-out)
3636
- [Code Signing for Device Deployment](#code-signing-for-device-deployment)
3737
- [Troubleshooting](#troubleshooting)
3838
- [Doctor Tool](#doctor-tool)
@@ -291,6 +291,24 @@ For clients that don't support MCP Sampling but still want to reduce context win
291291
> [!NOTE]
292292
> The `XCODEBUILDMCP_ENABLED_WORKFLOWS` setting only works in Static Mode. If `XCODEBUILDMCP_DYNAMIC_TOOLS=true` is set, the selective workflow setting will be ignored.
293293
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+
294312
## Code Signing for Device Deployment
295313

296314
For device deployment features to work, code signing must be properly configured in Xcode **before** using XcodeBuildMCP device tools:

0 commit comments

Comments
 (0)