Skip to content

[Bug]: screenshot and describe_uiincluded with the "simulator" workflow #109

@ariccio

Description

@ariccio

Bug Description

With the env set to only:

        "XCODEBUILDMCP_ENABLED_WORKFLOWS": "simulator",

...screenshot and describe_ui get loaded into my context. Since, for some ridiculous reason in Sep 2025, Claude Code doesn't have any kind of dynamic MCP tool selection, sampling, virtualization, or anything of the sort, I am kinda stuck microoptimizing the MCP token counts.

I noticed that list_schemes, get_app_bundle_id, and show_build_settings, also get loaded into context, but my knowledge of the xcode build system hasn't yet gotten to the point where my MSBuild knowledge used to be, so I have no clue if those could plausibly be needed for any part of the simulator workflow.

Debug Output

⏺ XcodeBuildMCP - doctor (MCP)(enabled: true)
  ⎿  XcodeBuildMCP Doctor                                                                                                                                                                                                                

     Generated: 2025-09-17T00:20:08.534Z
     Server Version: 1.12.10

     ## System Information
     - platform: darwin
     - release: 24.6.0
     - arch: arm64
     - cpus: 8 x Apple M2
     - memory: 24 GB
     - hostname: Alexanders-MacBook-Pro.local
     - username: alexanderriccio
     - homedir: /Users/alexanderriccio
     - tmpdir: /var/folders/_4/zrj460q97l5cctkts4s8srw00000gn/T

     ## Node.js Information
     - version: v20.19.4
     - execPath: /Users/alexanderriccio/.nvm/versions/node/v20.19.4/bin/node
     - pid: 95689
     - ppid: 95033
     - platform: darwin
     - arch: arm64
     - cwd: /Users/alexanderriccio/Documents/GitHub/DeeDee-Prototype
     - argv: /Users/alexanderriccio/.nvm/versions/node/v20.19.4/bin/node /Users/alexanderriccio/.npm/_npx/99336612077b7094/node_modules/.bin/xcodebuildmcp

     ## Xcode Information
     - version: Xcode 26.0 - Build version 17A324
     - path: /Applications/Xcode.app/Contents/Developer
     - selectedXcode: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
     - xcrunVersion: xcrun version 72.

     ## Dependencies
     - axe: ✅ Bundled
     - xcodemake: ❌ Not found
     - mise: ❌ Not found

     ## Environment Variables
     - INCREMENTAL_BUILDS_ENABLED: (not set)
     - DEVELOPER_DIR: (not set)
     - HOME: /Users/alexanderriccio
     - USER: alexanderriccio
     - TMPDIR: /var/folders/_4/zrj460q97l5cctkts4s8srw00000gn/T/
     - NODE_ENV: (not set)
     - SENTRY_DISABLED: (not set)
     - XCODEBUILDMCP_ENABLED_WORKFLOWS: simulator,project-discovery,ui-testing,logging,utilities,doctor
     - XCODEBUILDMCP_DYNAMIC_TOOLS: false
     - XCODEBUILDMCP_SILENCE_LOGS: true

     ### PATH
     ```
     /Users/alexanderriccio/.npm/_npx/99336612077b7094/node_modules/.bin
     /Users/alexanderriccio/Documents/GitHub/DeeDee-Prototype/node_modules/.bin
     /Users/alexanderriccio/Documents/GitHub/node_modules/.bin
     /Users/alexanderriccio/Documents/node_modules/.bin
     /Users/alexanderriccio/node_modules/.bin
     /Users/node_modules/.bin
     /node_modules/.bin
     /Users/alexanderriccio/.nvm/versions/node/v20.19.4/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin
     /Users/alexanderriccio/.pyenv/shims
     /Users/alexanderriccio/.pyenv/bin
     /Users/alexanderriccio/.nvm/versions/node/v20.19.4/bin
     /Users/alexanderriccio/.rbenv/shims
     /usr/local/bin
     /Library/Frameworks/Python.framework/Versions/3.12/bin
     /opt/homebrew/bin
     /opt/homebrew/sbin
     /usr/local/bin
     /System/Cryptexes/App/usr/bin
     /usr/bin
     /bin
     /usr/sbin
     /sbin
     /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
     /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
     /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
     /Library/Apple/usr/bin
     /Library/TeX/texbin
     /Applications/nmap.app/Contents/Resources/bin
     /Applications/ncat.app/Contents/Resources/bin
     /Applications/nping.app/Contents/Resources/bin
     /Applications/zenmap.app/Contents/Resources/bin
     /opt/homebrew/opt/bison/bin
     /Users/alexanderriccio/Library/Android/sdk/platform-tools
     /usr/local/opt/postgresql@14/bin
     /Users/alexanderriccio/.cargo/bin
     /Applications/Visual Studio Code.app/Contents/Resources/app/bin
     /Applications/Visual Studio Code.app/Contents/Resources/app/bin
     /Users/alexanderriccio/.local/bin
     /Applications/Visual Studio Code.app/Contents/Resources/app/bin
     /Users/alexanderriccio/.local/bin
     ```

     ## Feature Status

     ### UI Automation (axe)
     - Available: ✅ Yes
     - UI Automation Supported: ✅ Yes

     ### Incremental Builds
     - Enabled: ❌ No
     - Available: ❌ No
     - Makefile exists: ❌ No

     ### Mise Integration
     - Running under mise: ❌ No
     - Mise available: ❌ No

     ### Available Tools
     - Total Plugins: 81
     - Plugin Directories: 12
     - device: 14 tools
     - discovery: 1 tools
     - doctor: 1 tools
     - logging: 4 tools
     - macos: 11 tools
     - project-discovery: 5 tools
     - project-scaffolding: 2 tools
     - simulator: 18 tools
     - simulator-management: 7 tools
     - swift-package: 6 tools
     - ui-testing: 11 tools
     - utilities: 1 tools

     ### Runtime Tool Registration
     - Mode: static
     - Enabled Workflows: 12
     - Registered Tools: 59
     - Workflows: device, discovery, doctor, logging, macos, project-discovery, project-scaffolding, simulator, simulator-management, swift-package, ui-testing, utilities

     ## Tool Availability Summary
     - Build Tools: ✅ Available
     - UI Automation Tools: ✅ Available
     - Incremental Build Support: ❌ Not available

     ## Sentry
     - Sentry enabled: ✅ Yes

     ## Troubleshooting Tips
     - If UI automation tools are not available, install axe: `brew tap cameroncooke/axe && brew install axe`
     - If incremental build support is not available, you can download the tool from https://github.com/cameroncooke/xcodemake. Make sure it's executable and available in your PATH
     - To enable xcodemake, set environment variable: `export INCREMENTAL_BUILDS_ENABLED=1`
     - For mise integration, follow instructions in the README.md file

Editor/Client

1.0.117 (Claude Code)

MCP Server Version

1.12.10

LLM

Claude Opus 4.1

MCP Configuration

"mcpServers": {
    "XcodeBuildMCP": {
      "command": "npx",
      "args": [
        "-y",
        "xcodebuildmcp@latest"
      ],
      "env": {
        "XCODEBUILDMCP_ENABLED_WORKFLOWS": "simulator, utilities",
        "XCODEBUILDMCP_DYNAMIC_TOOLS": "false"
      }
    }
  }

Steps to Reproduce

Uuuh, in this case, just /context

Expected Behavior

886 fewer tokens in that precious first 40k chars

Potentially 2,415 (1,529+886) tokens if list_schemes, get_app_bundle_id, and show_build_settings aren't needed.

Actual Behavior

Extra tokens

Error Messages

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions