Skip to content

v2.1.3 - Preferred Values Support

Choose a tag to compare

@lapfelix lapfelix released this 17 Sep 22:44
· 9 commits to main since this release
244f618

Preferred Values Configuration

This release introduces configurable preferred values for scheme and xcodeproj parameters, significantly reducing repetition when working with single projects while maintaining full backward compatibility.

Configuration Options

Environment Variables:

  • XCODE_MCP_PREFERRED_SCHEME - Set default scheme
  • XCODE_MCP_PREFERRED_XCODEPROJ - Set default project path

Command-Line Arguments:

  • --preferred-scheme <scheme> - Set default scheme
  • --preferred-xcodeproj <path> - Set default project path

Tool Parameter Changes

When preferred values are configured:

  • Tool parameters become optional instead of required
  • Tool descriptions dynamically show default values (e.g., "defaults to MyApp.xcodeproj")
  • CLI help displays active preferred values in header section

Usage Examples

# Start MCP with preferred values
XCODE_MCP_PREFERRED_SCHEME=MyApp XCODE_MCP_PREFERRED_XCODEPROJ=MyApp.xcodeproj node dist/index.js

# CLI with preferred values
xcodecontrol --preferred-scheme MyApp build  # No explicit scheme needed

Technical Enhancements

  • Enhanced XcodeServer constructor to accept preferred value configuration
  • Modified getToolDefinitions() to conditionally adjust parameter requirements
  • Added dynamic tool description generation with default value indicators
  • Implemented comprehensive parameter resolution logic
  • Added 14 new test cases covering all preferred value scenarios

Backward Compatibility

  • Fully backward compatible - all existing usage patterns continue to work unchanged
  • When no preferred values are set, behavior is identical to previous versions
  • Mixed scenarios (partial preferred values) maintain original validation requirements

Technical release notes focused on implementation details and functionality changes