Skip to content

v2.1.0 - Safety Enhancement: Optional Clean Tool

Choose a tag to compare

@lapfelix lapfelix released this 12 Sep 00:25
· 20 commits to main since this release
0018ea6

Safety Enhancement: Optional Clean Tool

This release introduces a new safety feature allowing users to disable the potentially destructive xcode_clean tool.

New Features

--no-clean Parameter

  • Add --no-clean command line argument to both MCP server and CLI
  • When enabled, completely removes the xcode_clean tool from available tools list
  • Tool handlers return appropriate error if clean tool is accessed when disabled
  • Maintains full backward compatibility (clean tool enabled by default)

Technical Implementation

Architecture Changes

  • Modified getToolDefinitions() to conditionally include clean tool based on includeClean parameter
  • Updated XcodeServer constructor to accept configuration options
  • Enhanced CLI with --no-clean option and dynamic tool filtering
  • Added proper error handling for disabled clean tool access

Usage Examples

# MCP server with clean tool disabled
node dist/index.js --no-clean

# CLI with clean tool disabled  
xcodecontrol --no-clean list-tools

Backward Compatibility

  • Clean tool remains enabled by default
  • Existing integrations continue to work unchanged
  • No breaking changes to existing API

This enhancement provides an additional safety layer for production environments or situations where accidental clean operations could be costly.