--- title: Why Mixins? description: The architectural decision behind mcwaddams's modular structure. --- import { Aside } from '@astrojs/starlight/components'; > *"What would you say... you do here?"* mcwaddams uses Python mixins to organize 20 tools into logical groups without creating multiple MCP servers. ## The Pattern ```python class MCWaddamsServer( UniversalMixin, # 7 cross-format tools WordMixin, # 10 Word-specific tools ExcelMixin, # 3 Excel-specific tools ): pass ``` ## Benefits 1. **Single server** — One MCP configuration, not three 2. **Shared utilities** — Validation, caching, format detection 3. **Clear boundaries** — Each mixin owns its tools 4. **Easy testing** — Test mixins in isolation 5. **Simple extension** — Add PowerPoint mixin without touching Word code