v2.1.0 - Safety Enhancement: Optional Clean Tool
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-cleancommand line argument to both MCP server and CLI - When enabled, completely removes the
xcode_cleantool 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 onincludeCleanparameter - Updated XcodeServer constructor to accept configuration options
- Enhanced CLI with
--no-cleanoption 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-toolsBackward 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.